From 66194a1adc305dea6715b8c7eed531ac0e9dccec Mon Sep 17 00:00:00 2001 From: lisyarus Date: Fri, 5 Mar 2021 20:27:06 +0300 Subject: [PATCH] Rich image view set_zoom changes zoom instantly --- libs/ui/source/rich_image_view.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/ui/source/rich_image_view.cpp b/libs/ui/source/rich_image_view.cpp index 541dfd0e..67eb4758 100644 --- a/libs/ui/source/rich_image_view.cpp +++ b/libs/ui/source/rich_image_view.cpp @@ -47,6 +47,7 @@ namespace psemek::ui // center1 - center0 = (mouse - bbox.center) * (1 / zoom0 - 1 / zoom1) zoom_tgt_ = zoom; + zoom_ = zoom; set_center(center_); } @@ -101,7 +102,9 @@ namespace psemek::ui { if (mouseover_) { - set_zoom(zoom_tgt_ * std::pow(1.25f, e.delta)); + zoom_tgt_ *= std::pow(1.25f, e.delta); + zoom_tgt_ = geom::clamp(zoom_tgt_, zoom_range_); + set_center(center_); return true; } return false;