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§

source

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 PositionedGlyphs of the given section with a custom layout.

Benefits from caching, see caching behaviour.

source

fn fonts(&self) -> &[F]

Returns the available fonts.

The FontId corresponds to the index of the font data.

source

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§

source

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 PositionedGlyphs of the given section.

Benefits from caching, see caching behaviour.

source

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.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<F, V, X, H> GlyphCruncher<F, X> for GlyphBrush<V, X, F, H>where X: Clone + Hash, F: Font, V: Clone + 'static, H: BuildHasher,

source§

impl<F: Font, X: Clone + Hash, H: BuildHasher> GlyphCruncher<F, X> for GlyphCalculatorGuard<'_, F, X, H>