Expose _gdk_window_process_updates_recurse for backends
We use this in the added windowing function _gdk_windowing_window_process_updates_recurse. The X11 implementation just calls _gdk_window_process_updates_recurse directly, but at least quartz will need to do some more work.
This commit is contained in:
committed by
Alexander Larsson
parent
72d4403eed
commit
1ee03b35d0
@ -287,6 +287,9 @@ void _gdk_window_destroy (GdkWindow *window,
|
||||
void _gdk_window_clear_update_area (GdkWindow *window);
|
||||
void _gdk_window_update_size (GdkWindow *window);
|
||||
|
||||
void _gdk_window_process_updates_recurse (GdkWindow *window,
|
||||
GdkRegion *expose_region);
|
||||
|
||||
void _gdk_screen_close (GdkScreen *screen);
|
||||
|
||||
const char *_gdk_get_sm_client_id (void);
|
||||
@ -361,6 +364,8 @@ void _gdk_windowing_got_event (GdkDisplay *display,
|
||||
GdkEvent *event,
|
||||
gulong serial);
|
||||
|
||||
void _gdk_windowing_window_process_updates_recurse (GdkWindow *window,
|
||||
GdkRegion *expose_region);
|
||||
|
||||
/* Return the number of bits-per-pixel for images of the specified depth. */
|
||||
gint _gdk_windowing_get_bits_for_depth (GdkDisplay *display,
|
||||
|
||||
@ -4352,8 +4352,8 @@ gdk_window_schedule_update (GdkWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_process_updates_recurse (GdkWindow *window,
|
||||
void
|
||||
_gdk_window_process_updates_recurse (GdkWindow *window,
|
||||
GdkRegion *expose_region)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
@ -4393,7 +4393,7 @@ gdk_window_process_updates_recurse (GdkWindow *window,
|
||||
gdk_region_intersect (child_region, expose_region);
|
||||
gdk_region_subtract (expose_region, child_region);
|
||||
gdk_region_offset (child_region, -child->x, -child->y);
|
||||
gdk_window_process_updates_recurse ((GdkWindow *)child, child_region);
|
||||
_gdk_window_process_updates_recurse ((GdkWindow *)child, child_region);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4472,7 +4472,7 @@ gdk_window_process_updates_internal (GdkWindow *window)
|
||||
|
||||
gdk_region_get_clipbox (expose_region, &clip_box);
|
||||
end_implicit = gdk_window_begin_implicit_paint (window, &clip_box);
|
||||
gdk_window_process_updates_recurse (window, expose_region);
|
||||
_gdk_windowing_window_process_updates_recurse (window, expose_region);
|
||||
if (end_implicit)
|
||||
gdk_window_end_implicit_paint (window);
|
||||
|
||||
|
||||
@ -5512,6 +5512,13 @@ _gdk_windowing_window_set_composited (GdkWindow *window,
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_windowing_window_process_updates_recurse (GdkWindow *window,
|
||||
GdkRegion *region)
|
||||
{
|
||||
_gdk_window_process_updates_recurse (window, expose_region);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_impl_iface_init (GdkWindowImplIface *iface)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user