pub trait TextRenderer<'a> {
    type Shader: TextShader;
    type RenderBatch: TextRenderBatch;
    type RenderApi: TextRenderApi<Self::RenderBatch>;

    // Required methods
    fn loader_api(&mut self) -> LoaderApi<'_>;
    fn with_api<'b: 'a, F, T>(
        &'b mut self,
        size_info: &'b SizeInfo,
        func: F
    ) -> T
       where F: FnOnce(Self::RenderApi) -> T;
    fn program(&self) -> &Self::Shader;

    // Provided methods
    fn draw_cells<'b: 'a, I: Iterator<Item = RenderableCell>>(
        &'b mut self,
        size_info: &'b SizeInfo,
        glyph_cache: &'a mut GlyphCache,
        cells: I
    ) { ... }
    fn resize(&self, size: &SizeInfo) { ... }
    fn with_loader<F: FnOnce(LoaderApi<'_>) -> T, T>(&mut self, func: F) -> T { ... }
}

Required Associated Types§

Required Methods§

source

fn loader_api(&mut self) -> LoaderApi<'_>

Get loader API for the renderer.

source

fn with_api<'b: 'a, F, T>(&'b mut self, size_info: &'b SizeInfo, func: F) -> Twhere F: FnOnce(Self::RenderApi) -> T,

source

fn program(&self) -> &Self::Shader

Provided Methods§

source

fn draw_cells<'b: 'a, I: Iterator<Item = RenderableCell>>( &'b mut self, size_info: &'b SizeInfo, glyph_cache: &'a mut GlyphCache, cells: I )

Draw cells.

source

fn resize(&self, size: &SizeInfo)

Resize the text rendering.

source

fn with_loader<F: FnOnce(LoaderApi<'_>) -> T, T>(&mut self, func: F) -> T

Invoke renderer with the loader.

Object Safety§

This trait is not object safe.

Implementors§