summaryrefslogtreecommitdiffstats
path: root/wgpu/src/widget/canvas.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-28 03:18:31 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-28 03:52:10 +0200
commit59b1e90661ee9e479f404bae71029db824cc7b46 (patch)
treef98949ea315b4e58922be3f2ed333cadcbcbac01 /wgpu/src/widget/canvas.rs
parent2381a9310c56f60698653f5fd13f5a0d80fa4f67 (diff)
downloadiced-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.rs24
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,
)