summaryrefslogtreecommitdiffstats
path: root/libdimension/camera.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-05-30 17:42:14 -0400
committerTavian Barnes <tavianator@tavianator.com>2014-05-30 17:42:34 -0400
commitc2b4dcc7660407f687604afe2c03eff0a4ff3a16 (patch)
tree0c2448810fd79aa3ab9b71f627032f18e031db20 /libdimension/camera.c
parent45e219eac23ea4a8181f68300fed693d9ac361a0 (diff)
downloaddimension-c2b4dcc7660407f687604afe2c03eff0a4ff3a16.tar.xz
camera: Use pool.
Diffstat (limited to 'libdimension/camera.c')
-rw-r--r--libdimension/camera.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/libdimension/camera.c b/libdimension/camera.c
index 38fde35..3db9f2c 100644
--- a/libdimension/camera.c
+++ b/libdimension/camera.c
@@ -26,16 +26,11 @@
#include "dimension-internal.h"
#include <stdlib.h>
-static void dmnsn_default_camera_free_fn(dmnsn_camera *camera)
-{
- dmnsn_free(camera);
-}
-
/* Allocate a new dummy camera */
dmnsn_camera *
-dmnsn_new_camera(void)
+dmnsn_new_camera(dmnsn_pool *pool)
{
- dmnsn_camera *camera = DMNSN_MALLOC(dmnsn_camera);
+ dmnsn_camera *camera = DMNSN_PALLOC(pool, dmnsn_camera);
dmnsn_init_camera(camera);
return camera;
}
@@ -44,18 +39,7 @@ dmnsn_new_camera(void)
void
dmnsn_init_camera(dmnsn_camera *camera)
{
- camera->free_fn = dmnsn_default_camera_free_fn;
camera->trans = dmnsn_identity_matrix();
- DMNSN_REFCOUNT_INIT(camera);
-}
-
-/* Free a dummy camera */
-void
-dmnsn_delete_camera(dmnsn_camera *camera)
-{
- if (DMNSN_DECREF(camera)) {
- camera->free_fn(camera);
- }
}
/* Invoke the camera ray function */