Support axis source, axis discrete, frame and axis stop events
[jonas: only send focus wl_pointer.frame if resource supports it]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 6e74655..5ae83ef 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -1603,6 +1603,17 @@
}
static void
+noop_grab_axis_source(struct weston_pointer_grab *grab,
+ uint32_t source)
+{
+}
+
+static void
+noop_grab_frame(struct weston_pointer_grab *grab)
+{
+}
+
+static void
constrain_position(struct weston_move_grab *move, int *cx, int *cy)
{
struct shell_surface *shsurf = move->base.shsurf;
@@ -1686,6 +1697,8 @@
move_grab_motion,
move_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
move_grab_cancel,
};
@@ -1851,6 +1864,8 @@
resize_grab_motion,
resize_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
resize_grab_cancel,
};
@@ -2016,6 +2031,8 @@
busy_cursor_grab_motion,
busy_cursor_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
busy_cursor_grab_cancel,
};
@@ -3214,6 +3231,18 @@
}
static void
+popup_grab_axis_source(struct weston_pointer_grab *grab, uint32_t source)
+{
+ weston_pointer_send_axis_source(grab->pointer, source);
+}
+
+static void
+popup_grab_frame(struct weston_pointer_grab *grab)
+{
+ weston_pointer_send_frame(grab->pointer);
+}
+
+static void
popup_grab_cancel(struct weston_pointer_grab *grab)
{
popup_grab_end(grab->pointer);
@@ -3224,6 +3253,8 @@
popup_grab_motion,
popup_grab_button,
popup_grab_axis,
+ popup_grab_axis_source,
+ popup_grab_frame,
popup_grab_cancel,
};
@@ -4923,6 +4954,8 @@
rotate_grab_motion,
rotate_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
rotate_grab_cancel,
};