pub trait ImageRenderer {
type ScenePainter<'a>: PaintScene
where Self: 'a;
// Required methods
fn new(width: u32, height: u32) -> Self;
fn resize(&mut self, width: u32, height: u32);
fn reset(&mut self);
fn render_to_vec<F: FnOnce(&mut Self::ScenePainter<'_>)>(
&mut self,
draw_fn: F,
vec: &mut Vec<u8>,
);
fn render<F: FnOnce(&mut Self::ScenePainter<'_>)>(
&mut self,
draw_fn: F,
buffer: &mut [u8],
);
}Expand description
Abstraction for rendering a scene to an image buffer
Required Associated Types§
type ScenePainter<'a>: PaintScene where Self: 'a
Required Methods§
fn new(width: u32, height: u32) -> Self
fn resize(&mut self, width: u32, height: u32)
fn reset(&mut self)
fn render_to_vec<F: FnOnce(&mut Self::ScenePainter<'_>)>( &mut self, draw_fn: F, vec: &mut Vec<u8>, )
fn render<F: FnOnce(&mut Self::ScenePainter<'_>)>( &mut self, draw_fn: F, buffer: &mut [u8], )
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.