summaryrefslogtreecommitdiff
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
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
-rw-r--r--src/backends/meta-cursor-tracker.c27
-rw-r--r--src/backends/native/meta-backend-native.c7
-rw-r--r--src/backends/x11/meta-backend-x11.c7
-rw-r--r--src/backends/x11/meta-cursor-tracker-x11.c6
-rw-r--r--src/core/display.c6
-rw-r--r--src/core/window.c12
-rw-r--r--src/meta/meta-cursor-tracker.h3
-rw-r--r--src/x11/window-x11.c2
8 files changed, 36 insertions, 34 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
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 38ff601ce..81babc248 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -457,10 +457,11 @@ meta_backend_native_get_current_logical_monitor (MetaBackend *backend)
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
- int x, y;
+ graphene_point_t point;
- meta_cursor_tracker_get_pointer (cursor_tracker, &x, &y, NULL);
- return meta_monitor_manager_get_logical_monitor_at (monitor_manager, x, y);
+ meta_cursor_tracker_get_pointer (cursor_tracker, &point, NULL);
+ return meta_monitor_manager_get_logical_monitor_at (monitor_manager,
+ point.x, point.y);
}
static void
diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
index 69e4ed85f..cf4c9362e 100644
--- a/src/backends/x11/meta-backend-x11.c
+++ b/src/backends/x11/meta-backend-x11.c
@@ -677,7 +677,7 @@ meta_backend_x11_get_current_logical_monitor (MetaBackend *backend)
MetaBackendX11 *x11 = META_BACKEND_X11 (backend);
MetaBackendX11Private *priv = meta_backend_x11_get_instance_private (x11);
MetaCursorTracker *cursor_tracker;
- int x, y;
+ graphene_point_t point;
MetaMonitorManager *monitor_manager;
MetaLogicalMonitor *logical_monitor;
@@ -685,10 +685,11 @@ meta_backend_x11_get_current_logical_monitor (MetaBackend *backend)
return priv->cached_current_logical_monitor;
cursor_tracker = meta_backend_get_cursor_tracker (backend);
- meta_cursor_tracker_get_pointer (cursor_tracker, &x, &y, NULL);
+ meta_cursor_tracker_get_pointer (cursor_tracker, &point, NULL);
monitor_manager = meta_backend_get_monitor_manager (backend);
logical_monitor =
- meta_monitor_manager_get_logical_monitor_at (monitor_manager, x, y);
+ meta_monitor_manager_get_logical_monitor_at (monitor_manager,
+ point.x, point.y);
if (!logical_monitor && monitor_manager->logical_monitors)
logical_monitor = monitor_manager->logical_monitors->data;
diff --git a/src/backends/x11/meta-cursor-tracker-x11.c b/src/backends/x11/meta-cursor-tracker-x11.c
index 91ac4b6af..1e6c39e71 100644
--- a/src/backends/x11/meta-cursor-tracker-x11.c
+++ b/src/backends/x11/meta-cursor-tracker-x11.c
@@ -69,10 +69,10 @@ static void
update_position (MetaCursorTrackerX11 *tracker_x11)
{
MetaCursorTracker *tracker = META_CURSOR_TRACKER (tracker_x11);
- int x, y;
+ graphene_point_t point;
- meta_cursor_tracker_get_pointer (tracker, &x, &y, NULL);
- meta_cursor_tracker_update_position (tracker, x, y);
+ meta_cursor_tracker_get_pointer (tracker, &point, NULL);
+ meta_cursor_tracker_update_position (tracker, point.x, point.y);
}
static gboolean
diff --git a/src/core/display.c b/src/core/display.c
index 630deb20d..521e5d093 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -3743,18 +3743,18 @@ meta_display_get_pointer_window (MetaDisplay *display,
MetaBackend *backend = meta_get_backend ();
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
MetaWindow *window;
- int x, y;
+ graphene_point_t point;
if (not_this_one)
meta_topic (META_DEBUG_FOCUS,
"Focusing mouse window excluding %s\n", not_this_one->desc);
- meta_cursor_tracker_get_pointer (cursor_tracker, &x, &y, NULL);
+ meta_cursor_tracker_get_pointer (cursor_tracker, &point, NULL);
window = meta_stack_get_default_focus_window_at_point (display->stack,
workspace_manager->active_workspace,
not_this_one,
- x, y);
+ point.x, point.y);
return window;
}
diff --git a/src/core/window.c b/src/core/window.c
index 681805c06..dd1cd625e 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -8183,19 +8183,19 @@ window_focus_on_pointer_rest_callback (gpointer data)
MetaDisplay *display = window->display;
MetaBackend *backend = meta_get_backend ();
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
- int root_x, root_y;
+ graphene_point_t point;
guint32 timestamp;
if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_CLICK)
goto out;
- meta_cursor_tracker_get_pointer (cursor_tracker, &root_x, &root_y, NULL);
+ meta_cursor_tracker_get_pointer (cursor_tracker, &point, NULL);
- if (root_x != focus_data->pointer_x ||
- root_y != focus_data->pointer_y)
+ if ((int) point.x != focus_data->pointer_x ||
+ (int) point.y != focus_data->pointer_y)
{
- focus_data->pointer_x = root_x;
- focus_data->pointer_y = root_y;
+ focus_data->pointer_x = point.x;
+ focus_data->pointer_y = point.y;
return G_SOURCE_CONTINUE;
}
diff --git a/src/meta/meta-cursor-tracker.h b/src/meta/meta-cursor-tracker.h
index 87e408d94..a3b71c4f6 100644
--- a/src/meta/meta-cursor-tracker.h
+++ b/src/meta/meta-cursor-tracker.h
@@ -50,8 +50,7 @@ CoglTexture *meta_cursor_tracker_get_sprite (MetaCursorTracker *tracker);
META_EXPORT
void meta_cursor_tracker_get_pointer (MetaCursorTracker *tracker,
- int *x,
- int *y,
+ graphene_point_t *coords,
ClutterModifierType *mods);
META_EXPORT
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index ea9e82c8f..35cee5873 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -2802,7 +2802,7 @@ query_pressed_buttons (MetaWindow *window)
ClutterModifierType mods;
int button = 0;
- meta_cursor_tracker_get_pointer (tracker, NULL, NULL, &mods);
+ meta_cursor_tracker_get_pointer (tracker, NULL, &mods);
if (mods & CLUTTER_BUTTON1_MASK)
button |= 1 << 1;