Skip to main content

ImageRenderer

Trait ImageRenderer 

Source
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§

Source

type ScenePainter<'a>: PaintScene where Self: 'a

Required Methods§

Source

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

Source

fn resize(&mut self, width: u32, height: u32)

Source

fn reset(&mut self)

Source

fn render_to_vec<F: FnOnce(&mut Self::ScenePainter<'_>)>( &mut self, draw_fn: F, vec: &mut Vec<u8>, )

Source

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.

Implementors§