]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkprivate.h
Better handling of window hierarchy changes from inside expose handler
[~andy/gtk] / gdk / gdkprivate.h
index 1bc8cc8626120685e8cd0891f6ed412feb69bf2a..65038627a1578d55eb86482a8a77dc97bac4af8f 100644 (file)
 #ifndef __GDK_PRIVATE_H__
 #define __GDK_PRIVATE_H__
 
-#include <gdk/gdktypes.h>
-#include <gdk/gdkevents.h>
-#include <gdk/gdkfont.h>
-#include <gdk/gdkgc.h>
-#include <gdk/gdkimage.h>
-#include <gdk/gdkregion.h>
-#include <gdk/gdkvisual.h>
-#include <gdk/gdkwindow.h>
+#include <gdk/gdk.h>
 
 G_BEGIN_DECLS
 
 #define GDK_PARENT_RELATIVE_BG ((GdkPixmap *)1L)
 #define GDK_NO_BG ((GdkPixmap *)2L)
 
-#define GDK_WINDOW_TYPE(d) (((GdkWindowObject*)(GDK_WINDOW (d)))->window_type)
-#define GDK_WINDOW_DESTROYED(d) (((GdkWindowObject*)(GDK_WINDOW (d)))->destroyed)
-
-typedef struct _GdkColorInfo           GdkColorInfo;
-typedef struct _GdkEventFilter        GdkEventFilter;
-typedef struct _GdkClientFilter               GdkClientFilter;
-
-typedef enum {
-  GDK_COLOR_WRITEABLE = 1 << 0
-} GdkColorInfoFlags;
-
-struct _GdkColorInfo
-{
-  GdkColorInfoFlags flags;
-  guint ref_count;
-};
-
-struct _GdkEventFilter {
-  GdkFilterFunc function;
-  gpointer data;
-};
-
-struct _GdkClientFilter {
-  GdkAtom       type;
-  GdkFilterFunc function;
-  gpointer      data;
-};
+#ifndef GDK_COMPILATION
+#define GDK_WINDOW_TYPE(d) (gdk_window_get_window_type (GDK_WINDOW (d)))
+#define GDK_WINDOW_DESTROYED(d) (gdk_window_is_destroyed (GDK_WINDOW (d)))
+#endif
 
 void gdk_window_destroy_notify      (GdkWindow *window);
 
-GDKVAR GdkWindow       *gdk_parent_root;
-GDKVAR gint             gdk_error_code;
-GDKVAR gint             gdk_error_warnings;
+void gdk_synthesize_window_state (GdkWindow     *window,
+                                  GdkWindowState unset_flags,
+                                  GdkWindowState set_flags);
 
-#ifndef GDK_DISABLE_DEPRECATED
-
-typedef struct _GdkFontPrivate        GdkFontPrivate;
-
-struct _GdkFontPrivate
-{
-  GdkFont font;
-  guint ref_count;
-};
-
-#endif /* GDK_DISABLE_DEPRECATED */
+/* Tests whether a pair of x,y may cause overflows when converted to Pango
+ * units (multiplied by PANGO_SCALE).  We don't allow the entire range, leave
+ * some space for additions afterwards, to be safe...
+ */
+#define GDK_PANGO_UNITS_OVERFLOWS(x,y) (G_UNLIKELY ( \
+       (y) >= PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
+       (x) >= PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
+       (y) <=-PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
+       (x) <=-PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2))
 
 G_END_DECLS