diff options
author | Alexander Larsson <alexl@redhat.com> | 2014-10-09 10:18:02 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-10-13 10:43:31 -0400 |
commit | d0147a6f2cbc4903bc6969bde29de7bb068eae71 (patch) | |
tree | 523ced9ed6d9ac8db04fb2d344ea6339058dfb93 /gdk | |
parent | a8f11835c5c59755c0477b289019a4cfab761628 (diff) | |
download | gtk+-d0147a6f2cbc4903bc6969bde29de7bb068eae71.tar.gz |
Add gdk_window_mark_paint_from_clip and call from widget drawing
This is a new function that gets called every time we're drawing
some area in the Gtk paint machinery. It is a no-op right now, but
it will be required later to keep track of what areas which
we previously rendered with GL was overwritten with cairo contents.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/gdkwindow.c | 20 | ||||
-rw-r--r-- | gdk/gdkwindow.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index f5c06100bb..71400708c0 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2814,6 +2814,26 @@ gdk_window_begin_paint_region (GdkWindow *window, } /** + * gdk_window_mark_paint_from_clip: + * @window: a #GdkWindow + * @cr: a #cairo_t + * + * If you call this during a paint (e.g. between gdk_window_begin_paint_region() + * and gdk_window_end_paint() then gdk will mark the current clip region of the + * window as being drawn. This is required when mixing GL rendering via + * gdk_cairo_draw_from_gl() and cairo rendering, as otherwise gdk has no way + * of knowing when something paints over the gl drawn regions. + * + * This is typically called automatically by Gtk and you don't need + * to care about this. + **/ +void +gdk_window_mark_paint_from_clip (GdkWindow *window, + cairo_t *cr) +{ +} + +/** * gdk_window_end_paint: * @window: a #GdkWindow * diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 38a67b5afc..55c5898dc8 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -739,6 +739,9 @@ cairo_region_t *gdk_window_get_visible_region(GdkWindow *window); GDK_AVAILABLE_IN_ALL void gdk_window_begin_paint_rect (GdkWindow *window, const GdkRectangle *rectangle); +GDK_AVAILABLE_IN_3_14 +void gdk_window_mark_paint_from_clip (GdkWindow *window, + cairo_t *cr); GDK_AVAILABLE_IN_ALL void gdk_window_begin_paint_region (GdkWindow *window, const cairo_region_t *region); |