[gtk+] gdk: Move window_get_device_position function out of the device hooks
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gdk: Move window_get_device_position function out of the device hooks
- Date: Mon, 3 Jan 2011 16:44:28 +0000 (UTC)
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]