diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2014-10-04 16:28:29 +0200 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2015-11-02 14:30:16 +0800 |
commit | 0336ca0cc5542a0d65f0f278f89e8d926a720a29 (patch) | |
tree | 23881f60288f64ae677b3c9f99c8bd78759a6ff8 /desktop-shell | |
parent | 22faea11c8745c46c043a268eec3073b0922ccd0 (diff) |
input: Pass axis events through pointer grab interfaces
Don't only send motions and buttons but also axis events through the
pointer grab interface.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r-- | desktop-shell/exposay.c | 7 | ||||
-rw-r--r-- | desktop-shell/shell.c | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c index 08b86a3e..eb4070e2 100644 --- a/desktop-shell/exposay.c +++ b/desktop-shell/exposay.c @@ -386,6 +386,12 @@ exposay_button(struct weston_pointer_grab *grab, uint32_t time, uint32_t button, } static void +exposay_axis(struct weston_pointer_grab *grab, + uint32_t time, uint32_t axis, wl_fixed_t value) +{ +} + +static void exposay_pointer_grab_cancel(struct weston_pointer_grab *grab) { struct desktop_shell *shell = @@ -398,6 +404,7 @@ static const struct weston_pointer_grab_interface exposay_ptr_grab = { exposay_focus, exposay_motion, exposay_button, + exposay_axis, exposay_pointer_grab_cancel, }; diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index d507d189..52d1195d 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -1701,6 +1701,12 @@ noop_grab_focus(struct weston_pointer_grab *grab) } static void +noop_grab_axis(struct weston_pointer_grab *grab, + uint32_t time, uint32_t axis, wl_fixed_t value) +{ +} + +static void constrain_position(struct weston_move_grab *move, int *cx, int *cy) { struct shell_surface *shsurf = move->base.shsurf; @@ -1782,6 +1788,7 @@ static const struct weston_pointer_grab_interface move_grab_interface = { noop_grab_focus, move_grab_motion, move_grab_button, + noop_grab_axis, move_grab_cancel, }; @@ -1945,6 +1952,7 @@ static const struct weston_pointer_grab_interface resize_grab_interface = { noop_grab_focus, resize_grab_motion, resize_grab_button, + noop_grab_axis, resize_grab_cancel, }; @@ -2109,6 +2117,7 @@ static const struct weston_pointer_grab_interface busy_cursor_grab_interface = { busy_cursor_grab_focus, busy_cursor_grab_motion, busy_cursor_grab_button, + noop_grab_axis, busy_cursor_grab_cancel, }; @@ -3291,6 +3300,19 @@ popup_grab_button(struct weston_pointer_grab *grab, } static void +popup_grab_axis(struct weston_pointer_grab *grab, + uint32_t time, uint32_t axis, wl_fixed_t value) +{ + struct weston_pointer *pointer = grab->pointer; + struct wl_resource *resource; + struct wl_list *resource_list; + + resource_list = &pointer->focus_resource_list; + wl_resource_for_each(resource, resource_list) + wl_pointer_send_axis(resource, time, axis, value); +} + +static void popup_grab_cancel(struct weston_pointer_grab *grab) { popup_grab_end(grab->pointer); @@ -3300,6 +3322,7 @@ static const struct weston_pointer_grab_interface popup_grab_interface = { popup_grab_focus, popup_grab_motion, popup_grab_button, + popup_grab_axis, popup_grab_cancel, }; @@ -5000,6 +5023,7 @@ static const struct weston_pointer_grab_interface rotate_grab_interface = { noop_grab_focus, rotate_grab_motion, rotate_grab_button, + noop_grab_axis, rotate_grab_cancel, }; |