Trait glyph_brush_layout::GlyphPositioner
source · pub trait GlyphPositioner: Hash {
// Required methods
fn calculate_glyphs<F, S>(
&self,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph>
where F: Font,
S: ToSectionText;
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect;
// Provided method
fn recalculate_glyphs<F, S, P>(
&self,
previous: P,
change: GlyphChange,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph>
where F: Font,
S: ToSectionText,
P: IntoIterator<Item = SectionGlyph> { ... }
}
Expand description
Logic to calculate glyph positioning using Font
,
SectionGeometry
and
SectionText
.
Required Methods§
sourcefn calculate_glyphs<F, S>(
&self,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph>where
F: Font,
S: ToSectionText,
fn calculate_glyphs<F, S>(
&self,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph>where
F: Font,
S: ToSectionText,
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.
sourcefn bounds_rect(&self, geometry: &SectionGeometry) -> Rect
fn bounds_rect(&self, geometry: &SectionGeometry) -> Rect
Return a screen rectangle according to the requested render position and bounds appropriate for the glyph layout.
Provided Methods§
sourcefn recalculate_glyphs<F, S, P>(
&self,
previous: P,
change: GlyphChange,
fonts: &[F],
geometry: &SectionGeometry,
sections: &[S]
) -> Vec<SectionGlyph>
fn recalculate_glyphs<F, S, P>( &self, previous: P, change: GlyphChange, fonts: &[F], geometry: &SectionGeometry, sections: &[S] ) -> Vec<SectionGlyph>
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.
Object Safety§
This trait is not object safe.