diff options
author | 2020-04-28 03:18:31 +0200 | |
---|---|---|
committer | 2020-04-28 03:52:10 +0200 | |
commit | 59b1e90661ee9e479f404bae71029db824cc7b46 (patch) | |
tree | f98949ea315b4e58922be3f2ed333cadcbcbac01 /wgpu/src/widget/canvas.rs | |
parent | 2381a9310c56f60698653f5fd13f5a0d80fa4f67 (diff) | |
download | iced-59b1e90661ee9e479f404bae71029db824cc7b46.tar.gz iced-59b1e90661ee9e479f404bae71029db824cc7b46.tar.bz2 iced-59b1e90661ee9e479f404bae71029db824cc7b46.zip |
Introduce `Translate` primitive in `iced_wgpu`
Diffstat (limited to '')
-rw-r--r-- | wgpu/src/widget/canvas.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/wgpu/src/widget/canvas.rs b/wgpu/src/widget/canvas.rs index 2b485e18..744d901e 100644 --- a/wgpu/src/widget/canvas.rs +++ b/wgpu/src/widget/canvas.rs @@ -10,7 +10,7 @@ use crate::{Defaults, Primitive, Renderer}; use iced_native::{ input::mouse, layout, Clipboard, Element, Hasher, Layout, Length, - MouseCursor, Point, Size, Widget, + MouseCursor, Point, Size, Vector, Widget, }; use std::hash::Hash; @@ -190,20 +190,20 @@ impl<Message, S: State> Widget<Message, Renderer> for Canvas<S> { _cursor_position: Point, ) -> (Primitive, MouseCursor) { let bounds = layout.bounds(); - let origin = Point::new(bounds.x, bounds.y); + let translation = Vector::new(bounds.x, bounds.y); let size = Size::new(bounds.width, bounds.height); ( - Primitive::Group { - primitives: self - .state - .draw(size) - .into_iter() - .map(|geometry| Primitive::Cached { - origin, - cache: geometry.into_primitive(), - }) - .collect(), + Primitive::Translate { + translation, + content: Box::new(Primitive::Group { + primitives: self + .state + .draw(size) + .into_iter() + .map(Geometry::into_primitive) + .collect(), + }), }, MouseCursor::Idle, ) |