From: Matthias Clasen Date: Tue, 12 Apr 2011 14:35:34 +0000 (-0400) Subject: GdkWindow: Struct packing improvements X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=220ba87ec080495128fdfa952431f9f4823cdbdd;p=~andy%2Fgtk GdkWindow: Struct packing improvements --- diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 4fd8129fa..a9a591796 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)