* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_WINDOW_H__
#define __GDK_WINDOW_H__
typedef struct _GdkGeometry GdkGeometry;
typedef struct _GdkWindowAttr GdkWindowAttr;
typedef struct _GdkPointerHooks GdkPointerHooks;
+typedef struct _GdkWindowRedirect GdkWindowRedirect;
/* Classes of windows.
* InputOutput: Almost every window should be of this type. Such windows
GdkEventMask event_mask;
guint update_and_descendants_freeze_count;
+
+ GdkWindowRedirect *redirect;
};
struct _GdkWindowObjectClass
void gdk_window_remove_filter (GdkWindow *window,
GdkFilterFunc function,
gpointer data);
-void gdk_window_scroll (GdkWindow *window,
- gint dx,
- gint dy);
-void gdk_window_move_region (GdkWindow *window,
- GdkRegion *region,
- gint dx,
- gint dy);
+void gdk_window_scroll (GdkWindow *window,
+ gint dx,
+ gint dy);
+void gdk_window_move_region (GdkWindow *window,
+ const GdkRegion *region,
+ gint dx,
+ gint dy);
/*
* This allows for making shaped (partially transparent) windows
* The shape_mask can be the mask
* from gdk_pixmap_create_from_xpm. Stefan Wille
*/
-void gdk_window_shape_combine_mask (GdkWindow *window,
- GdkBitmap *mask,
- gint x,
- gint y);
-void gdk_window_shape_combine_region (GdkWindow *window,
- GdkRegion *shape_region,
- gint offset_x,
- gint offset_y);
+void gdk_window_shape_combine_mask (GdkWindow *window,
+ GdkBitmap *mask,
+ gint x,
+ gint y);
+void gdk_window_shape_combine_region (GdkWindow *window,
+ const GdkRegion *shape_region,
+ gint offset_x,
+ gint offset_y);
/*
* This routine allows you to quickly take the shapes of all the child windows
void gdk_window_set_child_shapes (GdkWindow *window);
void gdk_window_set_composited (GdkWindow *window,
- gboolean composited);
+ gboolean composited);
/*
* This routine allows you to merge (ie ADD) child shapes to your
*
* - Raster
*/
-void gdk_window_merge_child_shapes (GdkWindow *window);
+void gdk_window_merge_child_shapes (GdkWindow *window);
-void gdk_window_input_shape_combine_mask (GdkWindow *window,
- GdkBitmap *mask,
- gint x,
- gint y);
-void gdk_window_input_shape_combine_region (GdkWindow *window,
- GdkRegion *shape_region,
- gint offset_x,
- gint offset_y);
-void gdk_window_set_child_input_shapes (GdkWindow *window);
-void gdk_window_merge_child_input_shapes (GdkWindow *window);
+void gdk_window_input_shape_combine_mask (GdkWindow *window,
+ GdkBitmap *mask,
+ gint x,
+ gint y);
+void gdk_window_input_shape_combine_region (GdkWindow *window,
+ const GdkRegion *shape_region,
+ gint offset_x,
+ gint offset_y);
+void gdk_window_set_child_input_shapes (GdkWindow *window);
+void gdk_window_merge_child_input_shapes (GdkWindow *window);
/*
void gdk_window_set_urgency_hint (GdkWindow *window,
gboolean urgent);
-void gdk_window_set_geometry_hints (GdkWindow *window,
- GdkGeometry *geometry,
- GdkWindowHints geom_mask);
-void gdk_set_sm_client_id (const gchar *sm_client_id);
+void gdk_window_set_geometry_hints (GdkWindow *window,
+ const GdkGeometry *geometry,
+ GdkWindowHints geom_mask);
+void gdk_set_sm_client_id (const gchar *sm_client_id);
-void gdk_window_begin_paint_rect (GdkWindow *window,
- GdkRectangle *rectangle);
-void gdk_window_begin_paint_region (GdkWindow *window,
- GdkRegion *region);
-void gdk_window_end_paint (GdkWindow *window);
+void gdk_window_begin_paint_rect (GdkWindow *window,
+ const GdkRectangle *rectangle);
+void gdk_window_begin_paint_region (GdkWindow *window,
+ const GdkRegion *region);
+void gdk_window_end_paint (GdkWindow *window);
void gdk_window_set_title (GdkWindow *window,
const gchar *title);
GdkWMDecoration *decorations);
void gdk_window_set_functions (GdkWindow *window,
GdkWMFunction functions);
-#ifndef GDK_MULTIHEAD_SAFE
+#if !defined(GDK_MULTIHEAD_SAFE) && !defined(GDK_DISABLE_DEPRECATED)
GList * gdk_window_get_toplevels (void);
#endif
guint32 timestamp);
/* Interface for dirty-region queueing */
-void gdk_window_invalidate_rect (GdkWindow *window,
- GdkRectangle *rect,
- gboolean invalidate_children);
-void gdk_window_invalidate_region (GdkWindow *window,
- GdkRegion *region,
- gboolean invalidate_children);
-void gdk_window_invalidate_maybe_recurse (GdkWindow *window,
- GdkRegion *region,
+void gdk_window_invalidate_rect (GdkWindow *window,
+ const GdkRectangle *rect,
+ gboolean invalidate_children);
+void gdk_window_invalidate_region (GdkWindow *window,
+ const GdkRegion *region,
+ gboolean invalidate_children);
+void gdk_window_invalidate_maybe_recurse (GdkWindow *window,
+ const GdkRegion *region,
gboolean (*child_func) (GdkWindow *, gpointer),
gpointer user_data);
GdkRegion *gdk_window_get_update_area (GdkWindow *window);
GdkWindow *gdk_get_default_root_window (void);
+void gdk_window_redirect_to_drawable (GdkWindow *window,
+ GdkDrawable *drawable,
+ gint src_x, gint src_y,
+ gint dest_x, gint dest_y,
+ gint width, gint height);
+void gdk_window_remove_redirection (GdkWindow *window);
+
#ifndef GDK_DISABLE_DEPRECATED
#define GDK_ROOT_PARENT() (gdk_get_default_root_window ())
#define gdk_window_get_size gdk_drawable_get_size