diff options
Diffstat (limited to 'examples/bezier_tool/src')
-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, }, } |