Rich image view set_zoom changes zoom instantly

This commit is contained in:
Nikita Lisitsa 2021-03-05 20:27:06 +03:00
parent 74423000cb
commit 66194a1adc

View file

@ -47,6 +47,7 @@ namespace psemek::ui
// center1 - center0 = (mouse - bbox.center) * (1 / zoom0 - 1 / zoom1) // center1 - center0 = (mouse - bbox.center) * (1 / zoom0 - 1 / zoom1)
zoom_tgt_ = zoom; zoom_tgt_ = zoom;
zoom_ = zoom;
set_center(center_); set_center(center_);
} }
@ -101,7 +102,9 @@ namespace psemek::ui
{ {
if (mouseover_) 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 true;
} }
return false; return false;