diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-07-13 12:06:12 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-10-06 21:33:10 +0200 |
commit | bbc4116f10287b73a022c2adc8e2c61af397e987 (patch) | |
tree | 6c61978d74fda29926f3a60b55067299a2189bdf /src/backends/meta-cursor-tracker.c | |
parent | e0944b6097566dee3a09a919ba49a071e0137f26 (diff) | |
download | mutter-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.c | 27 |
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 |