image/zoom: Allow levels smaller best-fit from menu

Closes #437, #414
This commit is contained in:
Sophie Herold 2025-01-29 20:00:18 +01:00
parent c9e7f052e1
commit e25b9aead6
4 changed files with 38 additions and 16 deletions

View file

@ -339,7 +339,9 @@ impl imp::LpImage {
log::debug!("Zoom gesture end");
let rotation_target = (obj.rotation() / 90.).round() * 90.;
if obj.zoom() < imp.zoom_level_best_fit_for_rotation(rotation_target) {
if obj.zoom() < imp.zoom_level_best_fit_for_rotation(rotation_target)
&& obj.fit_mode() != FitMode::ExactVolatile
{
obj.zoom_to(imp.zoom_level_best_fit_for_rotation(rotation_target));
} else {
// rubberband if over highest zoom level and sets `zoom_target`