summaryrefslogtreecommitdiff
path: root/gsk/gskrendererprivate.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2016-06-22 17:30:36 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2016-10-18 11:29:34 +0100
commit074c77e7ac5e38f2a70c974d977e09fdbfa08ff3 (patch)
treef33ea5ed1996fc87a4e095776228369853167a56 /gsk/gskrendererprivate.h
parentd99f91f5fd4df3b1de2f04582cfa29b2289796fd (diff)
downloadgtk+-074c77e7ac5e38f2a70c974d977e09fdbfa08ff3.tar.gz
gsk: Rework GskRenderer and GskRenderNode semantics
This commit changes the way GskRenderer and GskRenderNode interact and are meant to be used. GskRenderNode should represent a transient tree of rendering nodes, which are submitted to the GskRenderer at render time; this allows the renderer to take ownership of the render tree. Once the toolkit and application code have finished assembling it, the render tree ownership is transferred to the renderer.
Diffstat (limited to 'gsk/gskrendererprivate.h')
-rw-r--r--gsk/gskrendererprivate.h23
1 files changed, 5 insertions, 18 deletions
diff --git a/gsk/gskrendererprivate.h b/gsk/gskrendererprivate.h
index 2237c86ed1..81037193d4 100644
--- a/gsk/gskrendererprivate.h
+++ b/gsk/gskrendererprivate.h
@@ -39,28 +39,15 @@ struct _GskRendererClass
gboolean (* realize) (GskRenderer *renderer);
void (* unrealize) (GskRenderer *renderer);
- void (* resize_viewport) (GskRenderer *renderer,
- const graphene_rect_t *viewport);
- void (* update) (GskRenderer *renderer,
- const graphene_matrix_t *modelview,
- const graphene_matrix_t *projection);
- void (* validate_tree) (GskRenderer *renderer,
- GskRenderNode *root);
- void (* clear_tree) (GskRenderer *renderer,
- GskRenderNode *old_root);
- void (* clear) (GskRenderer *renderer);
- void (* render) (GskRenderer *renderer);
+ void (* render) (GskRenderer *renderer,
+ GskRenderNode *root,
+ GdkDrawingContext *context);
};
gboolean gsk_renderer_is_realized (GskRenderer *renderer);
-void gsk_renderer_clear_tree (GskRenderer *renderer,
- GskRenderNode *old_root);
-
-void gsk_renderer_maybe_resize_viewport (GskRenderer *renderer);
-void gsk_renderer_maybe_update (GskRenderer *renderer);
-void gsk_renderer_maybe_validate_tree (GskRenderer *renderer);
-void gsk_renderer_maybe_clear (GskRenderer *renderer);
+GskRenderNode * gsk_renderer_get_root_node (GskRenderer *renderer);
+GdkDrawingContext * gsk_renderer_get_drawing_context (GskRenderer *renderer);
G_END_DECLS