diff options
author | 2023-03-07 06:15:05 +0100 | |
---|---|---|
committer | 2023-03-07 06:15:05 +0100 | |
commit | a8d55ceb829377725b4e7632702894fed6867eda (patch) | |
tree | 0e52401fd572833141d3c35a470fedb0a073a23c /tiny_skia/src/raster.rs | |
parent | 5b3977daf6df624ca5d5e1a21ce282161234b22d (diff) | |
download | iced-a8d55ceb829377725b4e7632702894fed6867eda.tar.gz iced-a8d55ceb829377725b4e7632702894fed6867eda.tar.bz2 iced-a8d55ceb829377725b4e7632702894fed6867eda.zip |
Trim `raster` cache in `iced_tiny_skia`
Diffstat (limited to 'tiny_skia/src/raster.rs')
-rw-r--r-- | tiny_skia/src/raster.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tiny_skia/src/raster.rs b/tiny_skia/src/raster.rs index e57f0e50..2fd73f8c 100644 --- a/tiny_skia/src/raster.rs +++ b/tiny_skia/src/raster.rs @@ -52,6 +52,10 @@ impl Pipeline { ); } } + + pub fn trim_cache(&mut self) { + self.cache.borrow_mut().trim(); + } } #[derive(Default)] @@ -98,6 +102,11 @@ impl Cache { .expect("Build pixmap from image bytes") }) } + + fn trim(&mut self) { + self.entries.retain(|key, _| self.hits.contains(key)); + self.hits.clear(); + } } struct Entry { |