Trait glyph_brush::GlyphCruncher
source · pub trait GlyphCruncher<F: Font = FontArc, X: Clone = Extra> {
// Required methods
fn glyphs_custom_layout<'a, 'b, S, L>(
&'b mut self,
section: S,
custom_layout: &L
) -> SectionGlyphIter<'b>
where X: 'a,
L: GlyphPositioner + Hash,
S: Into<Cow<'a, Section<'a, X>>>;
fn fonts(&self) -> &[F];
fn glyph_bounds_custom_layout<'a, S, L>(
&mut self,
section: S,
custom_layout: &L
) -> Option<Rect>
where X: 'a,
L: GlyphPositioner + Hash,
S: Into<Cow<'a, Section<'a, X>>>;
// Provided methods
fn glyphs<'a, 'b, S>(&'b mut self, section: S) -> SectionGlyphIter<'b>
where X: 'a,
S: Into<Cow<'a, Section<'a, X>>> { ... }
fn glyph_bounds<'a, S>(&mut self, section: S) -> Option<Rect>
where X: 'a,
S: Into<Cow<'a, Section<'a, X>>> { ... }
}
Expand description
Common glyph layout logic.
Example
use glyph_brush::GlyphCruncher;
let default_font = glyph_brush.fonts()[0];
Required Methods§
sourcefn glyphs_custom_layout<'a, 'b, S, L>(
&'b mut self,
section: S,
custom_layout: &L
) -> SectionGlyphIter<'b>where
X: 'a,
L: GlyphPositioner + Hash,
S: Into<Cow<'a, Section<'a, X>>>,
fn glyphs_custom_layout<'a, 'b, S, L>( &'b mut self, section: S, custom_layout: &L ) -> SectionGlyphIter<'b>where X: 'a, L: GlyphPositioner + Hash, S: Into<Cow<'a, Section<'a, X>>>,
Returns an iterator over the PositionedGlyph
s of the given section with a custom layout.
Benefits from caching, see caching behaviour.
sourcefn fonts(&self) -> &[F]
fn fonts(&self) -> &[F]
Returns the available fonts.
The FontId
corresponds to the index of the font data.
sourcefn glyph_bounds_custom_layout<'a, S, L>(
&mut self,
section: S,
custom_layout: &L
) -> Option<Rect>where
X: 'a,
L: GlyphPositioner + Hash,
S: Into<Cow<'a, Section<'a, X>>>,
fn glyph_bounds_custom_layout<'a, S, L>( &mut self, section: S, custom_layout: &L ) -> Option<Rect>where X: 'a, L: GlyphPositioner + Hash, S: Into<Cow<'a, Section<'a, X>>>,
Returns a bounding box for the section glyphs calculated using each glyph’s vertical & horizontal metrics.
If the section is empty the call will return None
.
The bounds will always lay within the specified layout bounds, ie that returned
by the layout’s bounds_rect
function.
Benefits from caching, see caching behaviour.
Provided Methods§
sourcefn glyphs<'a, 'b, S>(&'b mut self, section: S) -> SectionGlyphIter<'b>where
X: 'a,
S: Into<Cow<'a, Section<'a, X>>>,
fn glyphs<'a, 'b, S>(&'b mut self, section: S) -> SectionGlyphIter<'b>where X: 'a, S: Into<Cow<'a, Section<'a, X>>>,
Returns an iterator over the PositionedGlyph
s of the given section.
Benefits from caching, see caching behaviour.
sourcefn glyph_bounds<'a, S>(&mut self, section: S) -> Option<Rect>where
X: 'a,
S: Into<Cow<'a, Section<'a, X>>>,
fn glyph_bounds<'a, S>(&mut self, section: S) -> Option<Rect>where X: 'a, S: Into<Cow<'a, Section<'a, X>>>,
Returns a bounding box for the section glyphs calculated using each glyph’s vertical & horizontal metrics.
If the section is empty the call will return None
.
The bounds will always lay within the specified layout bounds, ie that returned
by the layout’s bounds_rect
function.
Benefits from caching, see caching behaviour.