pub trait PixelBuffer<'a> {
    type Pixel: Copy;

    fn from_line(line_buffer: &'a mut [u8]) -> Self;
    fn put_pixel(&mut self, pixel: Self::Pixel);

    fn put_pixels(&mut self, pixel: Self::Pixel, count: usize) { ... }
    fn pixel_stride() -> usize { ... }
}
Expand description

A trait for providing a way for placing pixels into byte buffers.

Required Associated Types§

Specifies the type used for pixels.

Required Methods§

Should return a new instance of PixelBuffer implementation from the mutable slice of bytes representing a single line of pixels of the target buffer.

Puts the next pixel into the line buffer and increases an internal cursor position by a single pixel.

If the internal buffer boundaries would be overflown, this method must not panic, but instead, it should just return without writing anything to the underlying buffer.

Provided Methods§

Puts count number of pixel copies into the line buffer and increases an internal cursor position accordingly.

If the internal buffer boundaries would be overflown, this method must not panic, but instead, it should just return without writing anything to the underlying buffer.

Returns the stride of a single pixel in bytes.

Implementors§