qrcode::render

Trait Canvas

Source
pub trait Canvas: Sized {
    type Pixel: Sized;
    type Image: Sized;

    // Required methods
    fn new(
        width: u32,
        height: u32,
        dark_pixel: Self::Pixel,
        light_pixel: Self::Pixel,
    ) -> Self;
    fn draw_dark_pixel(&mut self, x: u32, y: u32);
    fn into_image(self) -> Self::Image;

    // Provided method
    fn draw_dark_rect(&mut self, left: u32, top: u32, width: u32, height: u32) { ... }
}
Expand description

Rendering canvas of a QR code image.

Required Associated Types§

Required Methods§

Source

fn new( width: u32, height: u32, dark_pixel: Self::Pixel, light_pixel: Self::Pixel, ) -> Self

Constructs a new canvas of the given dimensions.

Source

fn draw_dark_pixel(&mut self, x: u32, y: u32)

Draws a single dark pixel at the (x, y) coordinate.

Source

fn into_image(self) -> Self::Image

Finalize the canvas to a real image.

Provided Methods§

Source

fn draw_dark_rect(&mut self, left: u32, top: u32, width: u32, height: u32)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<P: ImagePixel + 'static> Canvas for (P, ImageBuffer<P, Vec<P::Subpixel>>)

Source§

type Pixel = P

Source§

type Image = ImageBuffer<P, Vec<<P as Pixel>::Subpixel>>

Source§

fn new(width: u32, height: u32, dark_pixel: P, light_pixel: P) -> Self

Source§

fn draw_dark_pixel(&mut self, x: u32, y: u32)

Source§

fn into_image(self) -> ImageBuffer<P, Vec<P::Subpixel>>

Implementors§