summaryrefslogtreecommitdiff
path: root/desktop-shell
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2016-01-18 16:38:22 +1000
committerJonas Ådahl <jadahl@gmail.com>2016-01-19 12:33:26 +0800
commit87743e93036c661b7d46a3ebb2a1a16233064004 (patch)
tree557f0d9fd43ec95f09393a61ebc0a2616a53b851 /desktop-shell
parent89b6a4931ef40e4524fec9bfc05627be9a974758 (diff)
downloadweston-87743e93036c661b7d46a3ebb2a1a16233064004.tar.gz
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>
Diffstat (limited to 'desktop-shell')
-rw-r--r--desktop-shell/exposay.c12
-rw-r--r--desktop-shell/shell.c33
2 files changed, 45 insertions, 0 deletions
diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c
index f8378590..7aa7630f 100644
--- a/desktop-shell/exposay.c
+++ b/desktop-shell/exposay.c
@@ -392,6 +392,16 @@ exposay_axis(struct weston_pointer_grab *grab,
}
static void
+exposay_axis_source(struct weston_pointer_grab *grab, uint32_t source)
+{
+}
+
+static void
+exposay_frame(struct weston_pointer_grab *grab)
+{
+}
+
+static void
exposay_pointer_grab_cancel(struct weston_pointer_grab *grab)
{
struct desktop_shell *shell =
@@ -405,6 +415,8 @@ static const struct weston_pointer_grab_interface exposay_ptr_grab = {
exposay_motion,
exposay_button,
exposay_axis,
+ exposay_axis_source,
+ exposay_frame,
exposay_pointer_grab_cancel,
};
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 6e746556..5ae83efd 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -1603,6 +1603,17 @@ noop_grab_axis(struct weston_pointer_grab *grab,
}
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 @@ static const struct weston_pointer_grab_interface move_grab_interface = {
move_grab_motion,
move_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
move_grab_cancel,
};
@@ -1851,6 +1864,8 @@ static const struct weston_pointer_grab_interface resize_grab_interface = {
resize_grab_motion,
resize_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
resize_grab_cancel,
};
@@ -2016,6 +2031,8 @@ static const struct weston_pointer_grab_interface busy_cursor_grab_interface = {
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 @@ popup_grab_axis(struct weston_pointer_grab *grab,
}
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 @@ static const struct weston_pointer_grab_interface popup_grab_interface = {
popup_grab_motion,
popup_grab_button,
popup_grab_axis,
+ popup_grab_axis_source,
+ popup_grab_frame,
popup_grab_cancel,
};
@@ -4923,6 +4954,8 @@ static const struct weston_pointer_grab_interface rotate_grab_interface = {
rotate_grab_motion,
rotate_grab_button,
noop_grab_axis,
+ noop_grab_axis_source,
+ noop_grab_frame,
rotate_grab_cancel,
};