<SUBSECTION>
gdk_window_invalidate_rect
gdk_window_invalidate_region
+GdkWindowChildFunc
gdk_window_invalidate_maybe_recurse
gdk_window_get_update_area
gdk_window_freeze_updates
gdk_window_get_root_origin
gdk_window_get_frame_extents
gdk_window_get_origin
-gdk_window_get_deskrelative_origin
gdk_window_get_root_coords
gdk_window_get_pointer
gdk_window_get_device_position
gdk_threads_init
gdk_threads_enter
gdk_threads_leave
-gdk_threads_mutex
gdk_threads_set_lock_functions
gdk_threads_add_idle
gdk_threads_add_idle_full
* system has already cleared the area).
*/
static void
-gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
+gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
const cairo_region_t *region,
- ClearBg clear_bg,
- gboolean (*child_func) (GdkWindow *,
- gpointer),
- gpointer user_data)
+ ClearBg clear_bg,
+ GdkWindowChildFunc child_func,
+ gpointer user_data)
{
GdkWindowObject *private = (GdkWindowObject *)window;
GdkWindowObject *impl_window;
* invalidated.
**/
void
-gdk_window_invalidate_maybe_recurse (GdkWindow *window,
+gdk_window_invalidate_maybe_recurse (GdkWindow *window,
const cairo_region_t *region,
- gboolean (*child_func) (GdkWindow *,
- gpointer),
- gpointer user_data)
+ GdkWindowChildFunc child_func,
+ gpointer user_data)
{
gdk_window_invalidate_maybe_recurse_full (window, region, CLEAR_BG_NONE,
child_func, user_data);
void gdk_window_invalidate_region (GdkWindow *window,
const cairo_region_t *region,
gboolean invalidate_children);
-void gdk_window_invalidate_maybe_recurse (GdkWindow *window,
- const cairo_region_t *region,
- gboolean (*child_func) (GdkWindow *, gpointer),
- gpointer user_data);
-cairo_region_t *gdk_window_get_update_area (GdkWindow *window);
+
+/**
+ * GdkWindowChildFunc:
+ * @window: a #GdkWindow
+ * @user_data: user data
+ *
+ * A function of this type is passed to gdk_window_invalidate_maybe_recurse().
+ * It gets called for each child of the window to determine whether to
+ * recursively invalidate it or now.
+ *
+ * Returns: %TRUE to invalidate @window recursively
+ */
+typedef gboolean (*GdkWindowChildFunc) (GdkWindow *window,
+ gpointer user_data);
+
+void gdk_window_invalidate_maybe_recurse (GdkWindow *window,
+ const cairo_region_t *region,
+ GdkWindowChildFunc child_func,
+ gpointer user_data);
+cairo_region_t *gdk_window_get_update_area (GdkWindow *window);
void gdk_window_freeze_updates (GdkWindow *window);
void gdk_window_thaw_updates (GdkWindow *window);