summaryrefslogtreecommitdiff
path: root/gdk/gdkinternals.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2011-04-12 10:35:34 -0400
committerMatthias Clasen <mclasen@redhat.com>2011-04-12 12:13:55 -0400
commit220ba87ec080495128fdfa952431f9f4823cdbdd (patch)
tree538936fe5faae2b879421ab4835eba06ed4c80b4 /gdk/gdkinternals.h
parent14ad1fab8eabfdd935c31769bad5fdeccc23247d (diff)
downloadgtk+-220ba87ec080495128fdfa952431f9f4823cdbdd.tar.gz
GdkWindow: Struct packing improvements
Diffstat (limited to 'gdk/gdkinternals.h')
-rw-r--r--gdk/gdkinternals.h49
1 files changed, 26 insertions, 23 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h
index 4fd8129fa8..a9a5917962 100644
--- a/gdk/gdkinternals.h
+++ b/gdk/gdkinternals.h
@@ -169,8 +169,8 @@ struct _GdkWindow
{
GObject parent_instance;
- GdkWindowImpl *impl; /* window-system-specific delegate object */
-
+ GdkWindowImpl *impl; /* window-system-specific delegate object */
+
GdkWindow *parent;
GdkVisual *visual;
@@ -178,68 +178,69 @@ struct _GdkWindow
gint x;
gint y;
-
+
+ GdkEventMask event_mask;
gint extension_events;
GList *filters;
GList *children;
cairo_pattern_t *background;
-
+
GSList *paint_stack;
-
+
cairo_region_t *update_area;
guint update_freeze_count;
-
+
guint8 window_type;
guint8 depth;
guint8 resize_count;
+ gint8 toplevel_window_type;
+
GdkWindowState state;
-
+
guint guffaw_gravity : 1;
guint input_only : 1;
guint modal_hint : 1;
guint composited : 1;
-
+
guint destroyed : 2;
guint accept_focus : 1;
guint focus_on_map : 1;
guint shaped : 1;
guint support_multidevice : 1;
-
- GdkEventMask event_mask;
-
- guint update_and_descendants_freeze_count;
+ guint synthesize_crossing_event_queued : 1;
+ guint effective_visibility : 2;
+ guint visibility : 2; /* The visibility wrt the toplevel (i.e. based on clip_region) */
+ guint native_visibility : 2; /* the native visibility of a impl windows */
+ guint viewable : 1; /* mapped and all parents mapped */
+ guint applied_shape : 1;
/* The GdkWindow that has the impl, ref:ed if another window.
* This ref is required to keep the wrapper of the impl window alive
* for as long as any GdkWindow references the impl. */
- GdkWindow *impl_window;
- int abs_x, abs_y; /* Absolute offset in impl */
+ GdkWindow *impl_window;
+
+ guint update_and_descendants_freeze_count;
+
+ gint abs_x, abs_y; /* Absolute offset in impl */
gint width, height;
guint32 clip_tag;
+
cairo_region_t *clip_region; /* Clip region (wrt toplevel) in window coords */
cairo_region_t *clip_region_with_children; /* Clip region in window coords */
GdkCursor *cursor;
GHashTable *device_cursor;
- gint8 toplevel_window_type;
- guint synthesize_crossing_event_queued : 1;
- guint effective_visibility : 2;
- guint visibility : 2; /* The visibility wrt the toplevel (i.e. based on clip_region) */
- guint native_visibility : 2; /* the native visibility of a impl windows */
- guint viewable : 1; /* mapped and all parents mapped */
- guint applied_shape : 1;
- guint num_offscreen_children;
GdkWindowPaint *implicit_paint;
GList *outstanding_moves;
cairo_region_t *shape;
cairo_region_t *input_shape;
-
+
cairo_surface_t *cairo_surface;
GList *devices_inside;
@@ -248,6 +249,8 @@ struct _GdkWindow
GHashTable *source_event_masks;
gulong device_added_handler_id;
gulong device_changed_handler_id;
+
+ guint num_offscreen_children;
};
#define GDK_WINDOW_TYPE(d) (((GDK_WINDOW (d)))->window_type)