From 7306f559121daaa393c2d5447d9b26c4a11ce03d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 28 Aug 2017 18:47:35 -0400 Subject: [PATCH] Add some more GdkEvent getters --- gdk/gdkevents.c | 33 +++++++++++++++++++++++++++++++++ gdk/gdkevents.h | 6 ++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 72c2cbba8d..ce5f7c6248 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -3061,3 +3061,36 @@ gdk_event_set_selection (GdkEvent *event, event->selection.selection = selection; event->selection.time = time; } + +gboolean +gdk_event_get_axes (GdkEvent *event, + gdouble **axes, + guint *n_axes) +{ + GdkDevice *source_device; + + if (!event) + return FALSE; + + source_device = gdk_event_get_source_device (event); + + if (!source_device) + return FALSE; + + if (event->type == GDK_MOTION_NOTIFY) + { + *axes = event->motion.axes; + *n_axes = gdk_device_get_n_axes (source_device); + return TRUE; + } + else if (event->type == GDK_BUTTON_PRESS || + event->type == GDK_BUTTON_RELEASE) + { + *axes = event->button.axes; + *n_axes = gdk_device_get_n_axes (source_device); + return TRUE; + } + + return FALSE; +} + diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index fc158f791d..320ede61a2 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -819,8 +819,10 @@ void gdk_event_set_selection (GdkEvent *event, GdkWindow *window, GdkAtom selection, guint32 time); - - +GDK_AVAILABLE_IN_3_92 +gboolean gdk_event_get_axes (GdkEvent *event, + gdouble **axes, + guint *n_axes); G_END_DECLS