summaryrefslogtreecommitdiffstats
path: root/examples/bezier_tool
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 04:53:15 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 04:53:15 +0200
commite55cd9652e7c7aea4dc2c6ccb83769246d1a808e (patch)
tree6383563bab65b5feed50873c447a40da929d90bf /examples/bezier_tool
parente139aae1439d362ada017a05c9554eaae0883888 (diff)
downloadiced-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.rs55
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,
},
}