]> Pileus Git - ~andy/gtk/commitdiff
gdk: Move window_get_device_position function out of the device hooks
authorBenjamin Otte <otte@redhat.com>
Mon, 3 Jan 2011 15:56:20 +0000 (16:56 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 3 Jan 2011 16:44:24 +0000 (17:44 +0100)
gdk/gdkdisplay.c
gdk/gdkdisplayprivate.h
gdk/gdkwindow.c

index 71bc00e76a20e90677b1c6b21a60fe507aa13fdd..16fc48314880e28092ca114d4a9b7fdbb6e86fd2 100644 (file)
@@ -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
index ceea86bb8c1636c09b8936ef82257c9458d6379b..fc59bc3ce569f77b1ee732fe77ea0d9fbab85538 100644 (file)
@@ -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,
index 260746c99047dfa86c9e16df4b492fa52f4fba84..b818cfca7f63da5988bc154215fd58c4fbc898c7 100644 (file)
@@ -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;