summaryrefslogtreecommitdiff
path: root/gdk/gdkdisplay.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2008-12-15 10:24:54 +0100
committerAlexander Larsson <alex@localhost.localdomain>2009-04-02 10:15:11 +0200
commitb771c9924d63259bc38f46349230ce48dda953e6 (patch)
tree1be63cee4db45cb6aa75d277c4660f3babb1967c /gdk/gdkdisplay.h
parentafc81c9e64ad45054c84ea386edfb4ff360f0de2 (diff)
downloadgtk+-b771c9924d63259bc38f46349230ce48dda953e6.tar.gz
New approach to motion event handling
Diffstat (limited to 'gdk/gdkdisplay.h')
-rw-r--r--gdk/gdkdisplay.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h
index 790bc0b7f3..e4ca845ebc 100644
--- a/gdk/gdkdisplay.h
+++ b/gdk/gdkdisplay.h
@@ -58,14 +58,18 @@ typedef struct
GdkWindow *grab_one_pointer_release_event;
} GdkPointerGrabInfo;
-/* Tracks information about which window the pointer is in and
- * at what position the mouse is. This is useful when we need
- * to synthesize events later.
+/* Tracks information about which window and position the pointer last was in.
+ * This is useful when we need to synthesize events later.
+ * Note that we track toplevel_under_pointer using enter/leave events,
+ * so in the case of a grab, either with owner_events==FALSE or with the
+ * pointer in no clients window the x/y coordinates may actually be outside
+ * the window.
*/
typedef struct
{
- GdkWindow *window_under_pointer;
- gdouble toplevel_x, toplevel_y;
+ GdkWindow *toplevel_under_pointer; /* The toplevel window with mouse inside, tracked via native events */
+ GdkWindow *window_under_pointer; /* The window that last got sent a normal enter event */
+ gdouble toplevel_x, toplevel_y;
guint32 state;
} GdkPointerWindowInfo;