[gtk+] gdk: Move window_get_device_position function out of the device hooks



commit 8d2104fdc94fea4d4d32358058e6b8aecb4d86e7
Author: Benjamin Otte <otte redhat com>
Date:   Mon Jan 3 16:56:20 2011 +0100

    gdk: Move window_get_device_position function out of the device hooks

 gdk/gdkdisplay.c        |   39 ---------------------------------------
 gdk/gdkdisplayprivate.h |    6 ------
 gdk/gdkwindow.c         |   36 ++++++++++++++++++++++++++++++++++--
 3 files changed, 34 insertions(+), 47 deletions(-)
---
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 71bc00e..16fc483 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -72,12 +72,6 @@ static void gdk_display_dispose     (GObject         *object);
 static void gdk_display_finalize    (GObject         *object);
 
 
-static GdkWindow *gdk_window_real_window_get_device_position     (GdkDisplay       *display,
-                                                                  GdkDevice        *device,
-                                                                  GdkWindow        *window,
-                                                                  gint             *x,
-                                                                  gint             *y,
-                                                                  GdkModifierType  *mask);
 static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay       *display,
                                                                   GdkDevice        *device,
                                                                   gint             *win_x,
@@ -94,7 +88,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
 
 static const GdkDisplayDeviceHooks default_device_hooks = {
   gdk_display_real_get_device_state,
-  gdk_window_real_window_get_device_position,
   gdk_display_real_get_window_at_device_position
 };
 
@@ -694,38 +687,6 @@ gdk_display_real_get_window_at_device_position (GdkDisplay *display,
   return window;
 }
 
-static GdkWindow *
-gdk_window_real_window_get_device_position (GdkDisplay       *display,
-                                            GdkDevice        *device,
-                                            GdkWindow        *window,
-                                            gint             *x,
-                                            gint             *y,
-                                            GdkModifierType  *mask)
-{
-  gint tmpx, tmpy;
-  GdkModifierType tmp_mask;
-  gboolean normal_child;
-
-  normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window,
-                                                                              device,
-                                                                              &tmpx, &tmpy,
-                                                                              &tmp_mask);
-  /* We got the coords on the impl, convert to the window */
-  tmpx -= window->abs_x;
-  tmpy -= window->abs_y;
-
-  if (x)
-    *x = tmpx;
-  if (y)
-    *y = tmpy;
-  if (mask)
-    *mask = tmp_mask;
-
-  if (normal_child)
-    return _gdk_window_find_child_at (window, tmpx, tmpy);
-  return NULL;
-}
-
 /**
  * gdk_display_get_window_at_pointer:
  * @display: a #GdkDisplay
diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h
index ceea86b..fc59bc3 100644
--- a/gdk/gdkdisplayprivate.h
+++ b/gdk/gdkdisplayprivate.h
@@ -41,12 +41,6 @@ struct _GdkDisplayDeviceHooks
                                               gint             *x,
                                               gint             *y,
                                               GdkModifierType  *mask);
-  GdkWindow * (* window_get_device_position) (GdkDisplay      *display,
-                                              GdkDevice       *device,
-                                              GdkWindow       *window,
-                                              gint            *x,
-                                              gint            *y,
-                                              GdkModifierType *mask);
   GdkWindow * (* window_at_device_position)  (GdkDisplay *display,
                                               GdkDevice  *device,
                                               gint       *win_x,
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 260746c..b818cfc 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -4938,6 +4938,38 @@ gdk_window_get_pointer (GdkWindow	  *window,
   return gdk_window_get_device_position (window, display->core_pointer, x, y, mask);
 }
 
+static GdkWindow *
+gdk_window_real_window_get_device_position (GdkDisplay       *display,
+                                            GdkDevice        *device,
+                                            GdkWindow        *window,
+                                            gint             *x,
+                                            gint             *y,
+                                            GdkModifierType  *mask)
+{
+  gint tmpx, tmpy;
+  GdkModifierType tmp_mask;
+  gboolean normal_child;
+
+  normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window,
+                                                                              device,
+                                                                              &tmpx, &tmpy,
+                                                                              &tmp_mask);
+  /* We got the coords on the impl, convert to the window */
+  tmpx -= window->abs_x;
+  tmpy -= window->abs_y;
+
+  if (x)
+    *x = tmpx;
+  if (y)
+    *y = tmpy;
+  if (mask)
+    *mask = tmp_mask;
+
+  if (normal_child)
+    return _gdk_window_find_child_at (window, tmpx, tmpy);
+  return NULL;
+}
+
 /**
  * gdk_window_get_device_position:
  * @window: a #GdkWindow.
@@ -4975,8 +5007,8 @@ gdk_window_get_device_position (GdkWindow       *window,
   tmp_y = 0;
 
   display = gdk_window_get_display (window);
-  child = display->device_hooks->window_get_device_position (display, device, window,
-                                                             &tmp_x, &tmp_y, &tmp_mask);
+  child = gdk_window_real_window_get_device_position (display, device, window,
+                                                      &tmp_x, &tmp_y, &tmp_mask);
 
   if (x)
     *x = tmp_x;



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