freya_core/dom/
images_cache.rs

1use std::ops::{
2    Deref,
3    DerefMut,
4};
5
6use freya_engine::prelude::Image;
7use rustc_hash::FxHashMap;
8
9#[derive(Default, PartialEq, Eq, Hash, Clone, Debug)]
10pub struct ImageCacheKey(pub String);
11
12#[derive(Default, Debug)]
13pub struct ImagesCache {
14    cache: FxHashMap<ImageCacheKey, Image>,
15}
16
17impl Deref for ImagesCache {
18    type Target = FxHashMap<ImageCacheKey, Image>;
19
20    fn deref(&self) -> &Self::Target {
21        &self.cache
22    }
23}
24
25impl DerefMut for ImagesCache {
26    fn deref_mut(&mut self) -> &mut Self::Target {
27        &mut self.cache
28    }
29}