summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compositor.c6
-rw-r--r--src/shell.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/compositor.c b/src/compositor.c
index 788b1de..f0d405d 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2356,13 +2356,17 @@ weston_output_destroy(struct weston_output *output)
}
WL_EXPORT void
-weston_output_update_zoom(struct weston_output *output, int x, int y)
+weston_output_update_zoom(struct weston_output *output, wl_fixed_t fx, wl_fixed_t fy)
{
float ratio;
+ int32_t x, y;
if (output->zoom.level <= 0)
return;
+ x = wl_fixed_to_int(fx);
+ y = wl_fixed_to_int(fy);
+
output->zoom.magnification = 1 / output->zoom.level;
ratio = 1 - (1 / output->zoom.magnification);
diff --git a/src/shell.c b/src/shell.c
index fc49d70..95d08c6 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1642,9 +1642,7 @@ zoom_binding(struct wl_input_device *device, uint32_t time,
if (output->zoom.level < output->zoom.increment)
output->zoom.level = output->zoom.increment;
- weston_output_update_zoom(output,
- wl_fixed_to_int(device->x),
- wl_fixed_to_int(device->y));
+ weston_output_update_zoom(output, device->x, device->y);
}
}
}