From ad716acc7fa7fd151ff96fe6d17f0ba1a3a66379 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 20 May 2011 13:49:41 -0600 Subject: Add a refcount to canvases. --- libdimension/dimension/canvas.h | 2 ++ libdimension/dimension/scene.h | 9 +++++++++ 2 files changed, 11 insertions(+) (limited to 'libdimension/dimension') diff --git a/libdimension/dimension/canvas.h b/libdimension/dimension/canvas.h index 6938c0e..f33fc88 100644 --- a/libdimension/dimension/canvas.h +++ b/libdimension/dimension/canvas.h @@ -39,6 +39,8 @@ typedef struct { * at (a,b) is accessible as pixels[b*width + a]. */ dmnsn_color *pixels; + + dmnsn_refcount *refcount; /**< @internal Reference count. */ } dmnsn_canvas; /* Forward-declare dmnsn_canvas_optimizer */ diff --git a/libdimension/dimension/scene.h b/libdimension/dimension/scene.h index c182d85..ffe5fb3 100644 --- a/libdimension/dimension/scene.h +++ b/libdimension/dimension/scene.h @@ -92,7 +92,16 @@ void dmnsn_delete_scene(dmnsn_scene *scene); */ void dmnsn_initialize_scene(dmnsn_scene *scene); +/** + * Set the output canvas for a scene. + * @param[in,out] scene The scene for which to set the canvas. + * @param[in] canvas The canvas to set. + */ +void dmnsn_scene_set_canvas(dmnsn_scene *scene, dmnsn_canvas *canvas); + /** * Add an object to a scene. + * @param[in,out] scene The scene to which to add the object. + * @param[in] object The object to add. */ void dmnsn_scene_add_object(dmnsn_scene *scene, dmnsn_object *object); -- cgit v1.2.3