pub struct GlyphCalculator<'font, H = DefaultSectionHasher> { /* private fields */ }
Expand description

Cut down version of a GlyphBrush that can calculate pixel bounds, but is unable to actually render anything.

Build using a GlyphCalculatorBuilder.

Example

extern crate glyph_brush;
use glyph_brush::{GlyphCalculatorBuilder, GlyphCruncher, Section};

let dejavu: &[u8] = include_bytes!("../../fonts/DejaVuSans.ttf");
let glyphs = GlyphCalculatorBuilder::using_font_bytes(dejavu).build();

let section = Section {
    text: "Hello glyph_brush",
    ..Section::default()
};

// create the scope, equivalent to a lock on the cache when
// dropped will clean unused cached calculations like a draw call
let mut scope = glyphs.cache_scope();

let bounds = scope.pixel_bounds(section);

Caching behaviour

Calls to GlyphCalculatorGuard::pixel_bounds, GlyphCalculatorGuard::glyphs calculate the positioned glyphs for a section. This is cached so future calls to any of the methods for the same section are much cheaper.

Unlike a GlyphBrush there is no concept of actually drawing the section to imply when a section is used / no longer used. Instead a GlyphCalculatorGuard is created, that provides the calculation functionality. Dropping indicates the ‘cache frame’ is over, similar to when a GlyphBrush draws. Section calculations are cached for the next ‘cache frame’, if not used then they will be dropped.

Implementations

Returns the available fonts.

The FontId corresponds to the index of the font data.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.