[−]Trait wgpu_glyph::GlyphPositioner
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>,
&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.
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>,
&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.
Implementors
impl<L> GlyphPositioner for Layout<L> where
L: LineBreaker,
L: LineBreaker,
fn calculate_glyphs<'font, F>(
&self,
font_map: &F,
geometry: &SectionGeometry,
sections: &[SectionText]
) -> Vec<(PositionedGlyph<'font>, [f32; 4], FontId)> where
F: FontMap<'font>,
&self,
font_map: &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>,
&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>,