summaryrefslogtreecommitdiffstats
path: root/native/src/widget/image
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-12-18 11:23:22 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-12-18 11:34:52 +0100
commit6a51282933ca90283c2fb9ae2088129157394d02 (patch)
treed0e79062ae5cb45dc94f2ed3e2f86923e296ae85 /native/src/widget/image
parent149098cb686dcaad21f88adc2c646372c85a7d52 (diff)
downloadiced-6a51282933ca90283c2fb9ae2088129157394d02.tar.gz
iced-6a51282933ca90283c2fb9ae2088129157394d02.tar.bz2
iced-6a51282933ca90283c2fb9ae2088129157394d02.zip
Simplify `cursor_to_center` in `image::Viewer`
Diffstat (limited to 'native/src/widget/image')
-rw-r--r--native/src/widget/image/viewer.rs23
1 files changed, 2 insertions, 21 deletions
diff --git a/native/src/widget/image/viewer.rs b/native/src/widget/image/viewer.rs
index ab9f3802..d376e475 100644
--- a/native/src/widget/image/viewer.rs
+++ b/native/src/widget/image/viewer.rs
@@ -149,23 +149,6 @@ impl<'a> Viewer<'a> {
}
}
-/// Cursor position relative to the [`Viewer`] bounds.
-///
-/// [`Viewer`]: struct.Viewer.html
-fn relative_cursor_position(
- absolute_position: Point,
- bounds: Rectangle,
-) -> Point {
- absolute_position - Vector::new(bounds.x, bounds.y)
-}
-
-/// Center point relative to the [`Viewer`] bounds.
-///
-/// [`Viewer`]: struct.Viewer.html
-fn relative_center(bounds: Rectangle) -> Point {
- bounds.center() - Vector::new(bounds.x, bounds.y)
-}
-
impl<'a, Message, Renderer> Widget<Message, Renderer> for Viewer<'a>
where
Renderer: self::Renderer + image::Renderer,
@@ -241,10 +224,8 @@ where
let factor =
self.state.scale / previous_scale - 1.0;
- let cursor_to_center = relative_cursor_position(
- cursor_position,
- bounds,
- ) - relative_center(bounds);
+ let cursor_to_center =
+ cursor_position - bounds.center();
let adjustment = cursor_to_center * factor
+ self.state.current_offset * factor;