summaryrefslogtreecommitdiffstats
path: root/wgpu/src/widget/canvas/program.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-29 04:25:49 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-29 04:25:49 +0200
commitdc51080328caa12d2b1fc02febc72cab70bb9f50 (patch)
tree0a9781223d1b78a8c404d57b17c61fb0136b196e /wgpu/src/widget/canvas/program.rs
parent5586034d6626e013cdd718aca1c4f19f6a060ff3 (diff)
downloadiced-dc51080328caa12d2b1fc02febc72cab70bb9f50.tar.gz
iced-dc51080328caa12d2b1fc02febc72cab70bb9f50.tar.bz2
iced-dc51080328caa12d2b1fc02febc72cab70bb9f50.zip
Introduce `Cursor` type in `canvas`
Diffstat (limited to 'wgpu/src/widget/canvas/program.rs')
-rw-r--r--wgpu/src/widget/canvas/program.rs32
1 files changed, 21 insertions, 11 deletions
diff --git a/wgpu/src/widget/canvas/program.rs b/wgpu/src/widget/canvas/program.rs
index 9e4aca89..f8e54514 100644
--- a/wgpu/src/widget/canvas/program.rs
+++ b/wgpu/src/widget/canvas/program.rs
@@ -1,14 +1,19 @@
-use crate::canvas::{Event, Geometry, Size};
-use iced_native::MouseCursor;
+use crate::canvas::{Cursor, Event, Geometry};
+use iced_native::{MouseCursor, Rectangle};
pub trait Program<Message> {
- fn update(&mut self, _event: Event, _bounds: Size) -> Option<Message> {
+ fn update(
+ &mut self,
+ _event: Event,
+ _bounds: Rectangle,
+ _cursor: Cursor,
+ ) -> Option<Message> {
None
}
- fn draw(&self, bounds: Size) -> Vec<Geometry>;
+ fn draw(&self, bounds: Rectangle, cursor: Cursor) -> Vec<Geometry>;
- fn mouse_cursor(&self, _bounds: Size) -> MouseCursor {
+ fn mouse_cursor(&self, _bounds: Rectangle, _cursor: Cursor) -> MouseCursor {
MouseCursor::default()
}
}
@@ -17,15 +22,20 @@ impl<T, Message> Program<Message> for &mut T
where
T: Program<Message>,
{
- fn update(&mut self, event: Event, bounds: Size) -> Option<Message> {
- T::update(self, event, bounds)
+ fn update(
+ &mut self,
+ event: Event,
+ bounds: Rectangle,
+ cursor: Cursor,
+ ) -> Option<Message> {
+ T::update(self, event, bounds, cursor)
}
- fn draw(&self, bounds: Size) -> Vec<Geometry> {
- T::draw(self, bounds)
+ fn draw(&self, bounds: Rectangle, cursor: Cursor) -> Vec<Geometry> {
+ T::draw(self, bounds, cursor)
}
- fn mouse_cursor(&self, bounds: Size) -> MouseCursor {
- T::mouse_cursor(self, bounds)
+ fn mouse_cursor(&self, bounds: Rectangle, cursor: Cursor) -> MouseCursor {
+ T::mouse_cursor(self, bounds, cursor)
}
}