pub struct TextureCache { /* private fields */ }Expand description
Texture cache for managing decoded image data.
Provides LRU-based eviction and size-based limits.
Implementations§
Source§impl TextureCache
impl TextureCache
Sourcepub fn with_config(config: TextureCacheConfig) -> Self
pub fn with_config(config: TextureCacheConfig) -> Self
Create a new texture cache with custom configuration.
Sourcepub fn get(&mut self, key: &str) -> Option<&TextureData>
pub fn get(&mut self, key: &str) -> Option<&TextureData>
Get a texture from the cache.
Returns None if the texture is not cached.
Sourcepub fn insert(&mut self, key: String, data: TextureData)
pub fn insert(&mut self, key: String, data: TextureData)
Insert a texture into the cache.
May trigger eviction if cache limits are exceeded.
Sourcepub fn get_or_insert_with<F>(&mut self, key: &str, loader: F) -> &TextureDatawhere
F: FnOnce() -> TextureData,
pub fn get_or_insert_with<F>(&mut self, key: &str, loader: F) -> &TextureDatawhere
F: FnOnce() -> TextureData,
Get or create a texture.
If the texture is not in cache, calls the loader function to create it.
Sourcepub fn remove(&mut self, key: &str) -> Option<TextureData>
pub fn remove(&mut self, key: &str) -> Option<TextureData>
Remove a texture from the cache.
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Get the current cache size in bytes.
Sourcepub fn stats(&self) -> &CacheStats
pub fn stats(&self) -> &CacheStats
Get cache statistics.
Sourcepub fn maintenance(&mut self)
pub fn maintenance(&mut self)
Perform cache maintenance (call periodically).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TextureCache
impl RefUnwindSafe for TextureCache
impl Send for TextureCache
impl Sync for TextureCache
impl Unpin for TextureCache
impl UnwindSafe for TextureCache
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().