diff options
-rw-r--r-- | src/compositor.c | 6 | ||||
-rw-r--r-- | src/shell.c | 4 |
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); } } } |