pub(crate) struct MaskCache {
map: HashMap<MaskKey, Arc<RenderTexture>>,
order: VecDeque<MaskKey>,
hits: u64,
misses: u64,
}Expand description
FIFO-bounded cache of generated mask textures.
Fields§
§map: HashMap<MaskKey, Arc<RenderTexture>>§order: VecDeque<MaskKey>§hits: u64§misses: u64Implementations§
Source§impl MaskCache
impl MaskCache
pub(crate) fn new() -> Self
Sourcepub(crate) fn get_or_insert<F>(
&mut self,
key: MaskKey,
generate: F,
) -> Arc<RenderTexture>where
F: FnOnce() -> RenderTexture,
pub(crate) fn get_or_insert<F>(
&mut self,
key: MaskKey,
generate: F,
) -> Arc<RenderTexture>where
F: FnOnce() -> RenderTexture,
Get the cached texture for key, generating it via generate
(which is only called on a miss).
pub(crate) fn stats(&self) -> (u64, u64)
pub(crate) fn clear(&mut self)
Auto Trait Implementations§
impl Freeze for MaskCache
impl !RefUnwindSafe for MaskCache
impl Send for MaskCache
impl Sync for MaskCache
impl Unpin for MaskCache
impl UnsafeUnpin for MaskCache
impl !UnwindSafe for MaskCache
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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