From c1e6ccedabedd73a5d4cabccffecebc5e293188c Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Thu, 1 Aug 2024 01:12:32 +0200 Subject: [PATCH] image/zoom: Use viewport center for buttons Before, the image center was used, which would cause a jump if the viewport was changed before. Fixes #392 --- news.d/47.beta/fixed-zoom-into-image-center | 1 + src/widgets/image/zoom.rs | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 news.d/47.beta/fixed-zoom-into-image-center diff --git a/news.d/47.beta/fixed-zoom-into-image-center b/news.d/47.beta/fixed-zoom-into-image-center new file mode 100644 index 0000000..f08773d --- /dev/null +++ b/news.d/47.beta/fixed-zoom-into-image-center @@ -0,0 +1 @@ +Zoom into viewport center via buttons. Before, the image center was used, which would cause a jump if the viewport had been changed. diff --git a/src/widgets/image/zoom.rs b/src/widgets/image/zoom.rs index d78900c..addcd56 100644 --- a/src/widgets/image/zoom.rs +++ b/src/widgets/image/zoom.rs @@ -183,9 +183,8 @@ impl imp::LpImage { // Get image coordinate from the passed cursor position self.widget_to_img_coord(cur_pos) } else { - // Use center of image - let (width, height) = obj.image_size(); - (width as f64 / 2., height as f64 / 2.) + // Use center of viewport + self.widget_to_img_coord((self.widget_width() / 2., self.widget_height() / 2.)) }; let cur_pos = if let Some(cur) = cur {