X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fgdkinternals.h;h=a9a59179625032555dcc0db1676aaed7156a5eab;hb=6176e23b30c0ee6f22b04f60f2bf6c8f3ddccde3;hp=e7baa04a68552b106d92457a41d35e6d0bb78c04;hpb=32e3dcfb47e00b3f1be5fe43e1f8e55c0b4619ff;p=~andy%2Fgtk diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index e7baa04a6..a9a591796 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -74,25 +74,30 @@ struct _GdkClientFilter { }; typedef enum { - GDK_DEBUG_MISC = 1 << 0, - GDK_DEBUG_EVENTS = 1 << 1, - GDK_DEBUG_DND = 1 << 2, - GDK_DEBUG_XIM = 1 << 3, - GDK_DEBUG_NOGRABS = 1 << 4, - GDK_DEBUG_COLORMAP = 1 << 5, - GDK_DEBUG_INPUT = 1 << 6, - GDK_DEBUG_CURSOR = 1 << 7, - GDK_DEBUG_MULTIHEAD = 1 << 8, - GDK_DEBUG_XINERAMA = 1 << 9, - GDK_DEBUG_DRAW = 1 <<10, - GDK_DEBUG_EVENTLOOP = 1 <<11 + GDK_DEBUG_MISC = 1 << 0, + GDK_DEBUG_EVENTS = 1 << 1, + GDK_DEBUG_DND = 1 << 2, + GDK_DEBUG_XIM = 1 << 3, + GDK_DEBUG_NOGRABS = 1 << 4, + GDK_DEBUG_INPUT = 1 << 5, + GDK_DEBUG_CURSOR = 1 << 6, + GDK_DEBUG_MULTIHEAD = 1 << 7, + GDK_DEBUG_XINERAMA = 1 << 8, + GDK_DEBUG_DRAW = 1 << 9, + GDK_DEBUG_EVENTLOOP = 1 << 10 } GdkDebugFlag; +typedef enum { + GDK_RENDERING_MODE_SIMILAR = 0, + GDK_RENDERING_MODE_IMAGE, + GDK_RENDERING_MODE_RECORDING +} GdkRenderingMode; + extern GList *_gdk_default_filters; extern GdkWindow *_gdk_parent_root; extern guint _gdk_debug_flags; -extern gboolean _gdk_native_windows; +extern GdkRenderingMode _gdk_rendering_mode; #ifdef G_ENABLE_DEBUG @@ -164,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; @@ -173,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; @@ -243,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)