summaryrefslogtreecommitdiffstats
path: root/libdimension/scene.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2011-05-20 13:49:41 -0600
committerTavian Barnes <tavianator@gmail.com>2011-05-20 13:49:41 -0600
commitad716acc7fa7fd151ff96fe6d17f0ba1a3a66379 (patch)
tree810d04a5e8892aaa5f82c486b272d93f6cfd50b4 /libdimension/scene.c
parent5770d22635a63fb745bc0f3cd3dee573a6b356b6 (diff)
downloaddimension-ad716acc7fa7fd151ff96fe6d17f0ba1a3a66379.tar.xz
Add a refcount to canvases.
Diffstat (limited to 'libdimension/scene.c')
-rw-r--r--libdimension/scene.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libdimension/scene.c b/libdimension/scene.c
index f5b76e7..51b8215 100644
--- a/libdimension/scene.c
+++ b/libdimension/scene.c
@@ -84,8 +84,17 @@ dmnsn_initialize_scene(dmnsn_scene *scene)
}
void
+dmnsn_scene_set_canvas(dmnsn_scene *scene, dmnsn_canvas *canvas)
+{
+ DMNSN_INCREF(canvas);
+ dmnsn_delete_canvas(scene->canvas);
+ scene->canvas = canvas;
+}
+
+void
dmnsn_scene_add_object(dmnsn_scene *scene, dmnsn_object *object)
{
+ DMNSN_INCREF(object);
dmnsn_initialize_object(object);
dmnsn_array_push(scene->objects, &object);
}