diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-07-18 15:03:42 +0200 |
---|---|---|
committer | Alexander Larsson <alex@localhost.localdomain> | 2009-04-02 10:14:01 +0200 |
commit | eabac453e652d5aa2e535d957057f9c84803eea9 (patch) | |
tree | 963368271158f24a17f58f67bfdd8b0bedbb2c07 /gdk/gdkdisplay.h | |
parent | e2a2ba9d9889ba96059bc1c2c141088a1baeecd3 (diff) | |
download | gtk+-eabac453e652d5aa2e535d957057f9c84803eea9.tar.gz |
Initial client-side-windows work
The history before this was kind of twisted as several different
approaches were tested, so that was all squashed into this initial
commit to hide the uninteresting changes and files that were later
removed.
Diffstat (limited to 'gdk/gdkdisplay.h')
-rw-r--r-- | gdk/gdkdisplay.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 04bf1831bb..790bc0b7f3 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -43,6 +43,32 @@ typedef struct _GdkDisplayPointerHooks GdkDisplayPointerHooks; #define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) #define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) +/* Tracks information about the pointer grab on this display */ +typedef struct +{ + GdkWindow *window; + GdkWindow *native_window; + gulong serial; + gboolean owner_events; + guint event_mask; + gboolean implicit; + gboolean converted_implicit; + guint32 time; + + 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. + */ +typedef struct +{ + GdkWindow *window_under_pointer; + gdouble toplevel_x, toplevel_y; + guint32 state; +} GdkPointerWindowInfo; + struct _GdkDisplay { GObject parent_instance; @@ -68,6 +94,9 @@ struct _GdkDisplay guint double_click_distance; /* Maximum distance between clicks in pixels */ gint button_x[2]; /* The last 2 button click positions. */ gint button_y[2]; + + GdkPointerGrabInfo pointer_grab; + GdkPointerWindowInfo pointer_info; }; struct _GdkDisplayClass |