summaryrefslogtreecommitdiff
path: root/gdk/gdkprivate.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2000-03-28 01:24:44 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-03-28 01:24:44 +0000
commit8098546227671a5d082fdf8f4811ee3ffca7f6d8 (patch)
treed1857c89ee73451cbb04bbf595c0dc8bade55987 /gdk/gdkprivate.h
parent4238d406e928d1afd95ab0c6ae51b6a37f9780ea (diff)
downloadgdk-pixbuf-8098546227671a5d082fdf8f4811ee3ffca7f6d8.tar.gz
Merge no-flicker branch into HEAD
Diffstat (limited to 'gdk/gdkprivate.h')
-rw-r--r--gdk/gdkprivate.h159
1 files changed, 28 insertions, 131 deletions
diff --git a/gdk/gdkprivate.h b/gdk/gdkprivate.h
index 4eefea9e4..ef92a2663 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__ */