Trait spectrusty::video::pixel::PixelBuffer
source · 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§
Required Methods§
sourcefn from_line(line_buffer: &'a mut [u8]) -> Self
fn from_line(line_buffer: &'a mut [u8]) -> Self
Should return a new instance of PixelBuffer
implementation from the mutable slice of bytes representing
a single line of pixels of the target buffer.
sourcefn put_pixel(&mut self, pixel: Self::Pixel)
fn put_pixel(&mut self, pixel: Self::Pixel)
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§
sourcefn put_pixels(&mut self, pixel: Self::Pixel, count: usize)
fn put_pixels(&mut self, pixel: Self::Pixel, count: usize)
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.
sourcefn pixel_stride() -> usize
fn pixel_stride() -> usize
Returns the stride of a single pixel in bytes.