diff options
author | 2020-04-30 04:53:15 +0200 | |
---|---|---|
committer | 2020-04-30 04:53:15 +0200 | |
commit | e55cd9652e7c7aea4dc2c6ccb83769246d1a808e (patch) | |
tree | 6383563bab65b5feed50873c447a40da929d90bf /examples/bezier_tool | |
parent | e139aae1439d362ada017a05c9554eaae0883888 (diff) | |
download | iced-e55cd9652e7c7aea4dc2c6ccb83769246d1a808e.tar.gz iced-e55cd9652e7c7aea4dc2c6ccb83769246d1a808e.tar.bz2 iced-e55cd9652e7c7aea4dc2c6ccb83769246d1a808e.zip |
Split `Input` mouse event by `ButtonState`
Diffstat (limited to 'examples/bezier_tool')
-rw-r--r-- | examples/bezier_tool/src/main.rs | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/examples/bezier_tool/src/main.rs b/examples/bezier_tool/src/main.rs index 3cecd058..fe4136b4 100644 --- a/examples/bezier_tool/src/main.rs +++ b/examples/bezier_tool/src/main.rs @@ -70,7 +70,7 @@ impl Sandbox for Example { mod bezier { use iced::{ canvas::{self, Canvas, Cursor, Event, Frame, Geometry, Path, Stroke}, - mouse, ButtonState, Element, Length, MouseCursor, Point, Rectangle, + mouse, Element, Length, MouseCursor, Point, Rectangle, }; #[derive(Default)] @@ -114,34 +114,33 @@ mod bezier { match event { Event::Mouse(mouse_event) => match mouse_event { - mouse::Event::Input { - button: mouse::Button::Left, - state: ButtonState::Pressed, - } => match self.state.pending { - None => { - self.state.pending = Some(Pending::One { - from: cursor_position, - }); - None + mouse::Event::ButtonPressed(mouse::Button::Left) => { + match self.state.pending { + None => { + self.state.pending = Some(Pending::One { + from: cursor_position, + }); + None + } + Some(Pending::One { from }) => { + self.state.pending = Some(Pending::Two { + from, + to: cursor_position, + }); + + None + } + Some(Pending::Two { from, to }) => { + self.state.pending = None; + + Some(Curve { + from, + to, + control: cursor_position, + }) + } } - Some(Pending::One { from }) => { - self.state.pending = Some(Pending::Two { - from, - to: cursor_position, - }); - - None - } - Some(Pending::Two { from, to }) => { - self.state.pending = None; - - Some(Curve { - from, - to, - control: cursor_position, - }) - } - }, + } _ => None, }, } |