diff options
author | Owen Taylor <otaylor@src.gnome.org> | 2000-03-28 01:24:44 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-03-28 01:24:44 +0000 |
commit | 8098546227671a5d082fdf8f4811ee3ffca7f6d8 (patch) | |
tree | d1857c89ee73451cbb04bbf595c0dc8bade55987 /gdk/gdkprivate.h | |
parent | 4238d406e928d1afd95ab0c6ae51b6a37f9780ea (diff) | |
download | gtk+-8098546227671a5d082fdf8f4811ee3ffca7f6d8.tar.gz |
Merge no-flicker branch into HEAD
Diffstat (limited to 'gdk/gdkprivate.h')
-rw-r--r-- | gdk/gdkprivate.h | 159 |
1 files changed, 28 insertions, 131 deletions
diff --git a/gdk/gdkprivate.h b/gdk/gdkprivate.h index 4eefea9e44..ef92a2663c 100644 --- a/gdk/gdkprivate.h +++ b/gdk/gdkprivate.h @@ -41,6 +41,9 @@ extern "C" { #endif /* __cplusplus */ +#define GDK_PARENT_RELATIVE_BG ((GdkPixmap *)1L) +#define GDK_NO_BG ((GdkPixmap *)2L) + #define GDK_DRAWABLE_TYPE(d) (((GdkDrawablePrivate *)d)->window_type) #define GDK_IS_WINDOW(d) (GDK_DRAWABLE_TYPE(d) <= GDK_WINDOW_TEMP || \ GDK_DRAWABLE_TYPE(d) == GDK_WINDOW_FOREIGN) @@ -52,7 +55,6 @@ extern "C" { #define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup (xid)) typedef struct _GdkDrawablePrivate GdkDrawablePrivate; -/* typedef struct _GdkDrawablePrivate GdkPixmapPrivate; */ typedef struct _GdkWindowPrivate GdkWindowPrivate; typedef struct _GdkImageClass GdkImageClass; typedef struct _GdkImagePrivate GdkImagePrivate; @@ -69,14 +71,16 @@ struct _GdkDrawablePrivate GdkDrawableClass *klass; gpointer klass_data; - guint8 window_type; guint ref_count; - guint16 width; - guint16 height; + gint width; + gint height; GdkColormap *colormap; + guint8 window_type; + guint8 depth; + guint destroyed : 2; }; @@ -85,16 +89,25 @@ struct _GdkWindowPrivate GdkDrawablePrivate drawable; GdkWindow *parent; - gint16 x; - gint16 y; + gint x; + gint y; guint8 resize_count; guint mapped : 1; guint guffaw_gravity : 1; + guint input_only : 1; gint extension_events; GList *filters; GList *children; + + GdkColor bg_color; + GdkPixmap *bg_pixmap; + + GSList *paint_stack; + + GdkRegion *update_area; + guint update_freeze_count; }; struct _GdkImageClass @@ -130,6 +143,11 @@ struct _GdkGCPrivate guint ref_count; GdkGCClass *klass; gpointer klass_data; + + gint clip_x_origin; + gint clip_y_origin; + gint ts_x_origin; + gint ts_y_origin; }; typedef enum { @@ -161,141 +179,20 @@ struct _GdkClientFilter { gpointer data; }; -typedef enum -{ - GDK_ARG_STRING, - GDK_ARG_INT, - GDK_ARG_BOOL, - GDK_ARG_NOBOOL, - GDK_ARG_CALLBACK -} GdkArgType; - - -typedef struct _GdkArgContext GdkArgContext; -typedef struct _GdkArgDesc GdkArgDesc; - -typedef void (*GdkArgFunc) (const char *name, const char *arg, gpointer data); - -struct _GdkArgContext -{ - GPtrArray *tables; - gpointer cb_data; -}; - -struct _GdkArgDesc -{ - const char *name; - GdkArgType type; - gpointer location; - GdkArgFunc callback; -}; - - -typedef enum { - GDK_DEBUG_MISC = 1 << 0, - GDK_DEBUG_EVENTS = 1 << 1, - GDK_DEBUG_DND = 1 << 2, - GDK_DEBUG_COLOR_CONTEXT = 1 << 3, - GDK_DEBUG_XIM = 1 << 4 -} GdkDebugFlag; - -void gdk_event_button_generate (GdkEvent *event); - -/* FIFO's for event queue, and for events put back using - * gdk_event_put(). - */ -extern GList *gdk_queued_events; -extern GList *gdk_queued_tail; - -extern GdkEventFunc gdk_event_func; /* Callback for events */ -extern gpointer gdk_event_data; -extern GDestroyNotify gdk_event_notify; - -GdkEvent* gdk_event_new (void); - -void gdk_events_init (void); -void gdk_events_queue (void); -GdkEvent* gdk_event_unqueue (void); - -GList* gdk_event_queue_find_first (void); -void gdk_event_queue_remove_link (GList *node); -void gdk_event_queue_append (GdkEvent *event); - -void gdk_window_init (void); -void gdk_visual_init (void); -void gdk_dnd_init (void); - -void gdk_image_init (void); -void gdk_image_exit (void); - -void gdk_input_init (void); -void gdk_input_exit (void); - -void gdk_windowing_exit (void); - -void gdk_window_add_colormap_windows (GdkWindow *window); void gdk_window_destroy_notify (GdkWindow *window); -/* If you pass x = y = -1, it queries the pointer - to find out where it currently is. - If you pass x = y = -2, it does anything necessary - to know that the drag is ending. -*/ -void gdk_dnd_display_drag_cursor(gint x, - gint y, - gboolean drag_ok, - gboolean change_made); - -extern gint gdk_debug_level; -extern gboolean gdk_show_events; -extern gint gdk_screen; GDKVAR GdkWindow *gdk_parent_root; GDKVAR gint gdk_error_code; GDKVAR gint gdk_error_warnings; -extern GList *gdk_default_filters; - -GdkWindow* _gdk_window_alloc (void); - -/* Font/string functions implemented in module-specific code */ -gint _gdk_font_strlen (GdkFont *font, const char *str); -void _gdk_font_destroy (GdkFont *font); - -void _gdk_colormap_real_destroy (GdkColormap *colormap); - -void _gdk_cursor_destroy (GdkCursor *cursor); - -/* Initialization */ -extern GdkArgDesc _gdk_windowing_args[]; -gboolean _gdk_windowing_init_check (int argc, char **argv); - -#ifdef USE_XIM -/* XIM support */ -gint gdk_im_open (void); -void gdk_im_close (void); -void gdk_ic_cleanup (void); -#endif /* USE_XIM */ - -/* Debugging support */ - -#ifdef G_ENABLE_DEBUG - -#define GDK_NOTE(type,action) G_STMT_START { \ - if (gdk_debug_flags & GDK_DEBUG_##type) \ - { action; }; } G_STMT_END +#ifdef __cplusplus +} +#endif /* __cplusplus */ -#else /* !G_ENABLE_DEBUG */ -#define GDK_NOTE(type,action) - -#endif /* G_ENABLE_DEBUG */ +#endif /* __GDK_PRIVATE_H__ */ -GDKVAR guint gdk_debug_flags; -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __GDK_PRIVATE_H__ */ |