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,
hint_correction: f32,
) -> 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, hint_correction: f32, ) -> 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 unitshint_correction:effective_px / ppemfor hinted glyphs (1.0 otherwise). A hinted outline is built at the integer ppem; when the requested effective size (font_size * dpi) is fractional this rescales it back to the true target size so hinted glyphs match their unhinted neighbours and animate smoothly instead of snapping between integer ppems. When the effective size is already integral this is 1.0 and the hinted glyph keeps its pixel-grid-snapped placement.
Returns the cached cells and the integer pixel offset to apply.
Trait Implementations§
Source§impl Debug for GlyphCache
impl Debug for GlyphCache
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