[mutter/wip/carlosg/small-api-cleanups: 1/3] backends: Use graphene_point_t on meta_cursor_tracker_get_pointer()




commit 045304806903de2b036c9a70985f819362a87274
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Jul 13 12:06:12 2020 +0200

    backends: Use graphene_point_t on meta_cursor_tracker_get_pointer()
    
    It's nicer to propagate along.

 src/backends/meta-cursor-tracker.c         | 27 ++++++++++++++-------------
 src/backends/native/meta-backend-native.c  |  7 ++++---
 src/backends/x11/meta-backend-x11.c        |  7 ++++---
 src/backends/x11/meta-cursor-tracker-x11.c |  6 +++---
 src/core/display.c                         |  6 +++---
 src/core/window.c                          | 12 ++++++------
 src/meta/meta-cursor-tracker.h             |  3 +--
 src/x11/window-x11.c                       |  2 +-
 8 files changed, 36 insertions(+), 34 deletions(-)
---
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index ff54779d85..90fc1b6a9a 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 38ff601ce6..81babc2485 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 69e4ed85f9..cf4c9362e1 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 91ac4b6afd..1e6c39e71d 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 630deb20d8..521e5d0930 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 681805c06c..dd1cd625ea 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 87e408d940..a3b71c4f6a 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 ea9e82c8f8..35cee5873e 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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]