pub struct GlyphAtlasCache { /* private fields */ }Expand description
Cache for glyph atlases, keyed by (font_handle, size_px_u32).
The size is stored as a u32 (rounded to the nearest integer from f32) so that the key
is Hash + Eq. Callers that need sub-pixel size variation should round
to the nearest integer before querying.
Implementations§
Source§impl GlyphAtlasCache
impl GlyphAtlasCache
Sourcepub fn get_or_create(
&mut self,
font: &FontAsset,
font_handle: AssetHandle<FontAsset>,
size_px: f32,
) -> Result<&GlyphAtlas, String>
pub fn get_or_create( &mut self, font: &FontAsset, font_handle: AssetHandle<FontAsset>, size_px: f32, ) -> Result<&GlyphAtlas, String>
Returns a cached atlas or generates (and caches) a new one.
§Arguments
font- The loaded font asset (used to parse the font data).font_handle- The asset handle identifying this font.size_px- Desired pixel size (rounded to the nearest integer for cache key).
§Errors
Returns an error if font parsing or atlas generation fails.
Sourcepub fn invalidate_font(&mut self, font_handle: AssetHandle<FontAsset>)
pub fn invalidate_font(&mut self, font_handle: AssetHandle<FontAsset>)
Removes all cached atlases for the given font handle (all sizes).
Any GPU texture handles owned by the removed atlases are queued
for destruction. Call destroy_gpu_textures
to release them.
Sourcepub fn process_reloads(&mut self, reloaded: &[AssetHandle<FontAsset>]) -> usize
pub fn process_reloads(&mut self, reloaded: &[AssetHandle<FontAsset>]) -> usize
Processes a batch of font hot-reloads by invalidating every font in the provided slice.
Returns the number of atlas entries that were removed.
Sourcepub fn destroy_gpu_textures(&mut self, backend: &mut dyn RenderBackend)
pub fn destroy_gpu_textures(&mut self, backend: &mut dyn RenderBackend)
Destroys all GPU textures that were queued by previous invalidations.
This must be called with a valid render backend to release GPU memory.
Sourcepub fn pending_destroy_count(&self) -> usize
pub fn pending_destroy_count(&self) -> usize
Returns the number of GPU texture handles pending destruction.
Trait Implementations§
Source§impl Debug for GlyphAtlasCache
impl Debug for GlyphAtlasCache
Auto Trait Implementations§
impl Freeze for GlyphAtlasCache
impl RefUnwindSafe for GlyphAtlasCache
impl Send for GlyphAtlasCache
impl Sync for GlyphAtlasCache
impl Unpin for GlyphAtlasCache
impl UnsafeUnpin for GlyphAtlasCache
impl UnwindSafe for GlyphAtlasCache
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
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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>
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>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().