pub struct GlyphCache { /* private fields */ }Expand description
Cache of built glyph paths and pre-rasterized cells.
Implementations§
Source§impl GlyphCache
impl GlyphCache
pub fn new() -> Self
Sourcepub fn cells_len(&self) -> usize
pub fn cells_len(&self) -> usize
Entry count of the pre-rasterized cell cache (for leak probes).
Sourcepub fn get_or_build(
&mut self,
font_hash: u64,
glyph_id: u16,
glyph_data: &OwnedGlyph,
parsed_font: &ParsedFont,
ppem: u16,
) -> Option<CachedGlyph<'_>>
pub fn get_or_build( &mut self, font_hash: u64, glyph_id: u16, glyph_data: &OwnedGlyph, parsed_font: &ParsedFont, ppem: u16, ) -> Option<CachedGlyph<'_>>
Get a cached path, or build it on cache miss.
Returns None if the glyph has no outline (e.g. space character).
Sourcepub fn get_or_build_cells(
&mut self,
font_hash: u64,
glyph_id: u16,
ppem: u16,
glyph_x: f32,
glyph_y: f32,
scale: f32,
is_hinted: bool,
) -> Option<(&[CellAa], i32, i32)>
pub fn get_or_build_cells( &mut self, font_hash: u64, glyph_id: u16, ppem: u16, glyph_x: f32, glyph_y: f32, scale: f32, is_hinted: bool, ) -> Option<(&[CellAa], i32, i32)>
Get cached rasterizer cells for a glyph, or build them from the path.
glyph_x,glyph_y: final pixel position (used for sub-pixel quantization)scale: font-unit→pixel scale (0.0 for hinted glyphs)is_hinted: whether the path is in pixel coords (hinted) or font units
Returns the cached cells and the integer pixel offset to apply.
Sourcepub fn evict_if_needed(&mut self)
pub fn evict_if_needed(&mut self)
Evict caches if they exceed size limits. Called automatically by get_or_build / get_or_build_cells, but can also be called manually between frames to enforce bounds.
Sourcepub fn cell_cache_len(&self) -> usize
pub fn cell_cache_len(&self) -> usize
Number of cached cell entries.
Auto Trait Implementations§
impl Freeze for GlyphCache
impl RefUnwindSafe for GlyphCache
impl Send for GlyphCache
impl Sync for GlyphCache
impl Unpin for GlyphCache
impl UnsafeUnpin for GlyphCache
impl UnwindSafe for GlyphCache
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more