diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2016-08-24 16:21:50 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2016-10-18 11:49:15 +0100 |
commit | 6b3c0052fcc0d837ce31a8a14d097cfa0c7a0385 (patch) | |
tree | b6e74d41450dec363c071147ffcfd0f0bf7e38df /gsk/gskcairorenderer.c | |
parent | 13f7f5bdfca2158648b3650b30ac811f48ec6662 (diff) | |
download | gtk+-6b3c0052fcc0d837ce31a8a14d097cfa0c7a0385.tar.gz |
gsk: Make GskRenderer.render() drawing context-agnostic
We're going to need to allow rendering on a specific cairo_t in order to
implement fallback code paths inside GTK; this means that there will be
times when we have a transient GskRenderer instance that does not have a
GdkDrawingContext to draw on.
Instead of adding a new render() implementation for those cases and then
decide which one to use, we can remove the drawing context argument from
the virtual function itself, and allow using a NULL GdkDrawingContext
when calling gsk_renderer_render(). A later commit will add a generic
function to create a transient GskRenderer with a cairo_t attached to
it.
Renderers inside GSK will have to check whether we have access to a
GdkDrawingContext, in which case we're going to use it; or if we have
access to a cairo_t and a window.
Diffstat (limited to 'gsk/gskcairorenderer.c')
-rw-r--r-- | gsk/gskcairorenderer.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gsk/gskcairorenderer.c b/gsk/gskcairorenderer.c index d0766c7450..282bb0f416 100644 --- a/gsk/gskcairorenderer.c +++ b/gsk/gskcairorenderer.c @@ -123,11 +123,11 @@ gsk_cairo_renderer_render_node (GskCairoRenderer *self, } static void -gsk_cairo_renderer_render (GskRenderer *renderer, - GskRenderNode *root, - GdkDrawingContext *context) +gsk_cairo_renderer_render (GskRenderer *renderer, + GskRenderNode *root) { GskCairoRenderer *self = GSK_CAIRO_RENDERER (renderer); + GdkDrawingContext *context = gsk_renderer_get_drawing_context (renderer); cairo_t *cr = gdk_drawing_context_get_cairo_context (context); gsk_renderer_get_viewport (renderer, &self->viewport); |