clients/image: move a few functions on the file

Cosmetic changes. Move the image_widget handlers closer to each other.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
This commit is contained in:
Leandro Ribeiro 2024-04-10 23:37:20 -03:00 committed by Pekka Paalanen
parent cfc886fcb3
commit ca01b1ff8d

View File

@ -193,15 +193,6 @@ image_resize_handler(struct widget *widget,
allocation.width, allocation.height); allocation.width, allocation.height);
} }
static void
keyboard_focus_handler(struct window *window,
struct input *device, void *data)
{
struct image *image = data;
window_schedule_redraw(image->window);
}
static int static int
image_enter_handler(struct widget *widget, image_enter_handler(struct widget *widget,
struct input *input, struct input *input,
@ -299,6 +290,35 @@ zoom(struct image *image, double scale)
clamp_view(image); clamp_view(image);
} }
static void
image_axis_handler(struct widget *widget, struct input *input, uint32_t time,
uint32_t axis, wl_fixed_t value, void *data)
{
struct image *image = data;
if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL &&
input_get_modifiers(input) == MOD_CONTROL_MASK) {
/* set zoom level to 2% per 10 axis units */
zoom(image, (1.0 - wl_fixed_to_double(value) / 500.0));
window_schedule_redraw(image->window);
} else if (input_get_modifiers(input) == 0) {
if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
move_viewport(image, 0, wl_fixed_to_double(value));
else if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL)
move_viewport(image, wl_fixed_to_double(value), 0);
}
}
static void
keyboard_focus_handler(struct window *window,
struct input *device, void *data)
{
struct image *image = data;
window_schedule_redraw(image->window);
}
static void static void
key_handler(struct window *window, struct input *input, uint32_t time, key_handler(struct window *window, struct input *input, uint32_t time,
uint32_t key, uint32_t sym, enum wl_keyboard_key_state state, uint32_t key, uint32_t sym, enum wl_keyboard_key_state state,
@ -330,26 +350,6 @@ key_handler(struct window *window, struct input *input, uint32_t time,
} }
} }
static void
image_axis_handler(struct widget *widget, struct input *input, uint32_t time,
uint32_t axis, wl_fixed_t value, void *data)
{
struct image *image = data;
if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL &&
input_get_modifiers(input) == MOD_CONTROL_MASK) {
/* set zoom level to 2% per 10 axis units */
zoom(image, (1.0 - wl_fixed_to_double(value) / 500.0));
window_schedule_redraw(image->window);
} else if (input_get_modifiers(input) == 0) {
if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
move_viewport(image, 0, wl_fixed_to_double(value));
else if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL)
move_viewport(image, wl_fixed_to_double(value), 0);
}
}
static void static void
fullscreen_handler(struct window *window, void *data) fullscreen_handler(struct window *window, void *data)
{ {