summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-29 20:58:59 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-29 20:58:59 +0200
commit5d12e194f45b4a01034f3f52fae16c10bc0192dd (patch)
treeb2f566770daa8cf0206c92328b8b31074a79b8ab
parent70f86f998b6db102d5b77f756750414efd53aa9e (diff)
downloadiced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.tar.gz
iced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.tar.bz2
iced-5d12e194f45b4a01034f3f52fae16c10bc0192dd.zip
Rename `Cursor::*_position` methods in `canvas`
-rw-r--r--examples/bezier_tool/src/main.rs4
-rw-r--r--examples/game_of_life/src/main.rs7
-rw-r--r--wgpu/src/widget/canvas/cursor.rs22
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),