diff options
author | 2020-04-29 20:58:59 +0200 | |
---|---|---|
committer | 2020-04-29 20:58:59 +0200 | |
commit | 5d12e194f45b4a01034f3f52fae16c10bc0192dd (patch) | |
tree | b2f566770daa8cf0206c92328b8b31074a79b8ab | |
parent | 70f86f998b6db102d5b77f756750414efd53aa9e (diff) | |
download | iced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.tar.gz iced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.tar.bz2 iced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.zip |
Rename `Cursor::*_position` methods in `canvas`
-rw-r--r-- | examples/bezier_tool/src/main.rs | 4 | ||||
-rw-r--r-- | examples/game_of_life/src/main.rs | 7 | ||||
-rw-r--r-- | wgpu/src/widget/canvas/cursor.rs | 22 |
3 files changed, 16 insertions, 17 deletions
diff --git a/examples/bezier_tool/src/main.rs b/examples/bezier_tool/src/main.rs index 6473db75..3cecd058 100644 --- a/examples/bezier_tool/src/main.rs +++ b/examples/bezier_tool/src/main.rs @@ -110,7 +110,7 @@ mod bezier { bounds: Rectangle, cursor: Cursor, ) -> Option<Curve> { - let cursor_position = cursor.internal_position(&bounds)?; + let cursor_position = cursor.position_in(&bounds)?; match event { Event::Mouse(mouse_event) => match mouse_event { @@ -210,7 +210,7 @@ mod bezier { fn draw(&self, bounds: Rectangle, cursor: Cursor) -> Geometry { let mut frame = Frame::new(bounds.size()); - if let Some(cursor_position) = cursor.internal_position(&bounds) { + if let Some(cursor_position) = cursor.position_in(&bounds) { match *self { Pending::One { from } => { let line = Path::line(from, cursor_position); diff --git a/examples/game_of_life/src/main.rs b/examples/game_of_life/src/main.rs index 3e6848df..a2628594 100644 --- a/examples/game_of_life/src/main.rs +++ b/examples/game_of_life/src/main.rs @@ -298,7 +298,7 @@ mod grid { self.mouse_pressed = state == ButtonState::Pressed; } - let cursor_position = cursor.internal_position(&bounds)?; + let cursor_position = cursor.position_in(&bounds)?; let region = self.region(bounds.size()); let (i, j) = self.cell_at(region, cursor_position)?; @@ -365,8 +365,7 @@ mod grid { frame.translate(Vector::new(region.x, region.y)); frame.scale(region.width / SIZE as f32); - if let Some(cursor_position) = cursor.internal_position(&bounds) - { + if let Some(cursor_position) = cursor.position_in(&bounds) { if let Some((i, j)) = self.cell_at(region, cursor_position) { let interaction = Path::rectangle( @@ -397,7 +396,7 @@ mod grid { ) -> MouseCursor { let region = self.region(bounds.size()); - match cursor.internal_position(&bounds) { + match cursor.position_in(&bounds) { Some(position) if region.contains(position) => { MouseCursor::Crosshair } diff --git a/wgpu/src/widget/canvas/cursor.rs b/wgpu/src/widget/canvas/cursor.rs index a559782a..7ab58b87 100644 --- a/wgpu/src/widget/canvas/cursor.rs +++ b/wgpu/src/widget/canvas/cursor.rs @@ -24,23 +24,23 @@ impl Cursor { } } - pub fn relative_position(&self, bounds: &Rectangle) -> Option<Point> { - match self { - Cursor::Available(position) => { - Some(Point::new(position.x - bounds.x, position.y - bounds.y)) - } - _ => None, - } - } - - pub fn internal_position(&self, bounds: &Rectangle) -> Option<Point> { + pub fn position_in(&self, bounds: &Rectangle) -> Option<Point> { if self.is_over(bounds) { - self.relative_position(bounds) + self.position_from(bounds.position()) } else { None } } + pub fn position_from(&self, origin: Point) -> Option<Point> { + match self { + Cursor::Available(position) => { + Some(Point::new(position.x - origin.x, position.y - origin.y)) + } + Cursor::Unavailable => None, + } + } + pub fn is_over(&self, bounds: &Rectangle) -> bool { match self { Cursor::Available(position) => bounds.contains(*position), |