summaryrefslogtreecommitdiff
path: root/gsk/gskcairorenderer.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-03-28 15:01:34 +0200
committerBenjamin Otte <otte@redhat.com>2018-04-05 14:56:38 +0200
commit7c313c7b254da37929cff8bd45c41921f257a376 (patch)
treeb7733d40a9797aa01006ebdef0e3bc4aacf2c3e7 /gsk/gskcairorenderer.c
parentd0873c7dec13225d54cec3821bc899564d7ec406 (diff)
downloadgtk+-7c313c7b254da37929cff8bd45c41921f257a376.tar.gz
gsk: move begin/end_frame vfuncs into the renderers
Diffstat (limited to 'gsk/gskcairorenderer.c')
-rw-r--r--gsk/gskcairorenderer.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gsk/gskcairorenderer.c b/gsk/gskcairorenderer.c
index 1d30a1004a..5cf3d7822d 100644
--- a/gsk/gskcairorenderer.c
+++ b/gsk/gskcairorenderer.c
@@ -95,14 +95,15 @@ gsk_cairo_renderer_render_texture (GskRenderer *renderer,
}
static void
-gsk_cairo_renderer_render (GskRenderer *renderer,
- GskRenderNode *root)
+gsk_cairo_renderer_render (GskRenderer *renderer,
+ GskRenderNode *root,
+ const cairo_region_t *region)
{
- GdkDrawingContext *context = gsk_renderer_get_drawing_context (renderer);
GdkSurface *surface = gsk_renderer_get_surface (renderer);
-
+ GdkDrawingContext *context;
cairo_t *cr;
+ context = gdk_surface_begin_draw_frame (surface, NULL, region);
cr = gdk_drawing_context_get_cairo_context (context);
g_return_if_fail (cr != NULL);
@@ -122,6 +123,8 @@ gsk_cairo_renderer_render (GskRenderer *renderer,
#endif
gsk_cairo_renderer_do_render (renderer, cr, root);
+
+ gdk_surface_end_draw_frame (surface, context);
}
static void