[][src]Trait glyph_brush::GlyphPositioner

pub trait GlyphPositioner: Hash {
    fn calculate_glyphs<'font, F>(
        &self,
        fonts: &F,
        geometry: &SectionGeometry,
        sections: &[SectionText]
    ) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId)>
    where
        F: FontMap<'font>
;
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect<f32>; fn recalculate_glyphs<'font, F>(
        &self,
        previous: Cow<Vec<(PositionedGlyph<'font>, [f32; 4], FontId)>>,
        change: GlyphChange,
        fonts: &F,
        geometry: &SectionGeometry,
        sections: &[SectionText]
    ) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId)>
    where
        F: FontMap<'font>
, { ... } }

Logic to calculate glyph positioning using Font, SectionGeometry and SectionText.

Required methods

fn calculate_glyphs<'font, F>(
    &self,
    fonts: &F,
    geometry: &SectionGeometry,
    sections: &[SectionText]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId)> where
    F: FontMap<'font>, 

Calculate a sequence of positioned glyphs to render. Custom implementations should return the same result when called with the same arguments to allow layout caching.

fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect<f32>

Return a screen rectangle according to the requested render position and bounds appropriate for the glyph layout.

Loading content...

Provided methods

fn recalculate_glyphs<'font, F>(
    &self,
    previous: Cow<Vec<(PositionedGlyph<'font>, [f32; 4], FontId)>>,
    change: GlyphChange,
    fonts: &F,
    geometry: &SectionGeometry,
    sections: &[SectionText]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId)> where
    F: FontMap<'font>, 

Recalculate a glyph sequence after a change.

The default implementation simply calls calculate_glyphs so must be implemented to provide benefits as such benefits are spefic to the internal layout logic.

Loading content...

Implementors

impl<L> GlyphPositioner for Layout<L> where
    L: LineBreaker
[src]

Loading content...