diff options
author | 2024-05-01 00:28:06 +0200 | |
---|---|---|
committer | 2024-05-01 00:28:06 +0200 | |
commit | 89892f1760d4ec67f458d67ae722c3f06d524a1b (patch) | |
tree | f38448b997dc2c9d597e11949b32443824d298e4 /wgpu/src/geometry.rs | |
parent | 24501fd73b5ae884367a2d112ff44625058b876b (diff) | |
parent | 62433a65e92c025cd9c36e81fc16bab77790bacb (diff) | |
download | iced-89892f1760d4ec67f458d67ae722c3f06d524a1b.tar.gz iced-89892f1760d4ec67f458d67ae722c3f06d524a1b.tar.bz2 iced-89892f1760d4ec67f458d67ae722c3f06d524a1b.zip |
Merge pull request #2415 from iced-rs/feature/canvas-cache-groups
`canvas::Cache` Grouping
Diffstat (limited to 'wgpu/src/geometry.rs')
-rw-r--r-- | wgpu/src/geometry.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/wgpu/src/geometry.rs b/wgpu/src/geometry.rs index 60967082..f6213e1d 100644 --- a/wgpu/src/geometry.rs +++ b/wgpu/src/geometry.rs @@ -3,6 +3,7 @@ use crate::core::text::LineHeight; use crate::core::{ Pixels, Point, Radians, Rectangle, Size, Transformation, Vector, }; +use crate::graphics::cache::{self, Cached}; use crate::graphics::color; use crate::graphics::geometry::fill::{self, Fill}; use crate::graphics::geometry::{ @@ -10,7 +11,7 @@ use crate::graphics::geometry::{ }; use crate::graphics::gradient::{self, Gradient}; use crate::graphics::mesh::{self, Mesh}; -use crate::graphics::{self, Cached, Text}; +use crate::graphics::{self, Text}; use crate::text; use crate::triangle; @@ -38,7 +39,11 @@ impl Cached for Geometry { Geometry::Cached(cache.clone()) } - fn cache(self, previous: Option<Self::Cache>) -> Self::Cache { + fn cache( + self, + group: cache::Group, + previous: Option<Self::Cache>, + ) -> Self::Cache { match self { Self::Live { meshes, text } => { if let Some(mut previous) = previous { @@ -51,14 +56,14 @@ impl Cached for Geometry { if let Some(cache) = &mut previous.text { cache.update(text); } else { - previous.text = text::Cache::new(text); + previous.text = text::Cache::new(group, text); } previous } else { Cache { meshes: triangle::Cache::new(meshes), - text: text::Cache::new(text), + text: text::Cache::new(group, text), } } } |