Trait femtovg::renderer::Renderer

source ·
pub trait Renderer {
    type Image;
    type NativeTexture;

    // Required methods
    fn set_size(&mut self, width: u32, height: u32, dpi: f32);
    fn render(
        &mut self,
        images: &mut ImageStore<Self::Image>,
        verts: &[Vertex],
        commands: Vec<Command>
    );
    fn alloc_image(&mut self, info: ImageInfo) -> Result<Self::Image, ErrorKind>;
    fn create_image_from_native_texture(
        &mut self,
        native_texture: Self::NativeTexture,
        info: ImageInfo
    ) -> Result<Self::Image, ErrorKind>;
    fn update_image(
        &mut self,
        image: &mut Self::Image,
        data: ImageSource<'_>,
        x: usize,
        y: usize
    ) -> Result<(), ErrorKind>;
    fn delete_image(&mut self, image: Self::Image, image_id: ImageId);
    fn screenshot(&mut self) -> Result<ImgVec<RGBA8>, ErrorKind>;

    // Provided method
    fn get_native_texture(
        &self,
        image: &Self::Image
    ) -> Result<Self::NativeTexture, ErrorKind> { ... }
}
Expand description

This is the main renderer trait that the Canvas draws to.

Required Associated Types§

Required Methods§

source

fn set_size(&mut self, width: u32, height: u32, dpi: f32)

source

fn render( &mut self, images: &mut ImageStore<Self::Image>, verts: &[Vertex], commands: Vec<Command> )

source

fn alloc_image(&mut self, info: ImageInfo) -> Result<Self::Image, ErrorKind>

source

fn create_image_from_native_texture( &mut self, native_texture: Self::NativeTexture, info: ImageInfo ) -> Result<Self::Image, ErrorKind>

source

fn update_image( &mut self, image: &mut Self::Image, data: ImageSource<'_>, x: usize, y: usize ) -> Result<(), ErrorKind>

source

fn delete_image(&mut self, image: Self::Image, image_id: ImageId)

source

fn screenshot(&mut self) -> Result<ImgVec<RGBA8>, ErrorKind>

Provided Methods§

source

fn get_native_texture( &self, image: &Self::Image ) -> Result<Self::NativeTexture, ErrorKind>

Implementors§

source§

impl Renderer for OpenGl

§

type Image = GlTexture

§

type NativeTexture = <Context as HasContext>::Texture

source§

impl Renderer for Void

§

type Image = VoidImage

§

type NativeTexture = ()