summaryrefslogtreecommitdiff
path: root/src/backends/meta-cursor-tracker.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-07-13 12:06:12 +0200
committerCarlos Garnacho <carlosg@gnome.org>2020-10-06 21:33:10 +0200
commitbbc4116f10287b73a022c2adc8e2c61af397e987 (patch)
tree6c61978d74fda29926f3a60b55067299a2189bdf /src/backends/meta-cursor-tracker.c
parente0944b6097566dee3a09a919ba49a071e0137f26 (diff)
downloadmutter-bbc4116f10287b73a022c2adc8e2c61af397e987.tar.gz
backends: Use graphene_point_t on meta_cursor_tracker_get_pointer()
It's nicer to propagate along. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1475
Diffstat (limited to 'src/backends/meta-cursor-tracker.c')
-rw-r--r--src/backends/meta-cursor-tracker.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index ff54779d8..90fc1b6a9 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -484,30 +484,23 @@ get_pointer_position_gdk (int *x,
}
static void
-get_pointer_position_clutter (int *x,
- int *y,
- int *mods)
+get_pointer_position_clutter (graphene_point_t *point,
+ int *mods)
{
ClutterSeat *seat;
ClutterInputDevice *cdevice;
- graphene_point_t point;
seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
cdevice = clutter_seat_get_pointer (seat);
- clutter_input_device_get_coords (cdevice, NULL, &point);
- if (x)
- *x = point.x;
- if (y)
- *y = point.y;
+ clutter_input_device_get_coords (cdevice, NULL, point);
if (mods)
*mods = clutter_input_device_get_modifier_state (cdevice);
}
void
meta_cursor_tracker_get_pointer (MetaCursorTracker *tracker,
- int *x,
- int *y,
+ graphene_point_t *coords,
ClutterModifierType *mods)
{
/* We can't use the clutter interface when not running as a wayland compositor,
@@ -516,9 +509,17 @@ meta_cursor_tracker_get_pointer (MetaCursorTracker *tracker,
we forward to xwayland.
*/
if (meta_is_wayland_compositor ())
- get_pointer_position_clutter (x, y, (int*)mods);
+ {
+ get_pointer_position_clutter (coords, (int*)mods);
+ }
else
- get_pointer_position_gdk (x, y, (int*)mods);
+ {
+ int x, y;
+
+ get_pointer_position_gdk (&x, &y, (int*)mods);
+ coords->x = x;
+ coords->y = y;
+ }
}
void