Struct wr_glyph_rasterizer::rasterizer::FontKeyMap
source · pub struct FontKeyMap(Arc<RwLock<FontKeyMapLocked>>);
Expand description
A shared map from fonts key local to a namespace to shared font keys that can be shared across many namespaces. Local keys are tracked in a hashmap that stores a strong reference per mapping so that their count can be tracked. A map of font templates is used to hash font templates to their final shared key. The shared key will stay alive so long as there are any strong references to the mapping entry. Care must be taken when clearing namespaces of shared keys as this may trigger shared font keys to expire which require individual processing. Shared font keys will be created within the provided unique namespace.
Tuple Fields§
§0: Arc<RwLock<FontKeyMapLocked>>
Implementations§
source§impl FontKeyMap
impl FontKeyMap
pub fn new(namespace: IdNamespace) -> Self
fn lock(&self) -> RwLockReadGuard<'_, FontKeyMapLocked>
fn lock_mut(&mut self) -> RwLockWriteGuard<'_, FontKeyMapLocked>
pub fn keys(&self) -> Vec<FontKey>
pub fn map_key(&self, font_key: &FontKey) -> FontKey
pub fn add_key( &mut self, font_key: &FontKey, template: &FontTemplate, ) -> Option<FontKey>
pub fn delete_key(&mut self, font_key: &FontKey) -> Option<FontKey>
pub fn clear_namespace(&mut self, namespace: IdNamespace) -> Vec<FontKey>
Trait Implementations§
source§impl Clone for FontKeyMap
impl Clone for FontKeyMap
source§fn clone(&self) -> FontKeyMap
fn clone(&self) -> FontKeyMap
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for FontKeyMap
impl RefUnwindSafe for FontKeyMap
impl Send for FontKeyMap
impl Sync for FontKeyMap
impl Unpin for FontKeyMap
impl UnwindSafe for FontKeyMap
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