summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-05-30 19:03:33 -0400
committerTavian Barnes <tavianator@tavianator.com>2014-05-30 19:03:33 -0400
commit8807ab192b36acbc94e11790e9261c799ce77892 (patch)
tree7b37684cb5679c132d21f3bd8c2ff47a11e3df55 /libdimension/dimension
parent4781d3a2a7ec463ee712c8de6362d8b6c872c31b (diff)
downloaddimension-8807ab192b36acbc94e11790e9261c799ce77892.tar.xz
pattern: Use pool.
Diffstat (limited to 'libdimension/dimension')
-rw-r--r--libdimension/dimension/pattern.h20
-rw-r--r--libdimension/dimension/patterns.h11
2 files changed, 10 insertions, 21 deletions
diff --git a/libdimension/dimension/pattern.h b/libdimension/dimension/pattern.h
index 6e8c42f..2caed07 100644
--- a/libdimension/dimension/pattern.h
+++ b/libdimension/dimension/pattern.h
@@ -35,25 +35,17 @@ typedef struct dmnsn_pattern dmnsn_pattern;
*/
typedef double dmnsn_pattern_fn(const dmnsn_pattern *pattern, dmnsn_vector v);
-/**
- * Pattern destruction callback.
- * @param[in,out] pattern The pattern to destroy.
- */
-typedef void dmnsn_pattern_free_fn(dmnsn_pattern *pattern);
-
/** A pattern. */
struct dmnsn_pattern {
dmnsn_pattern_fn *pattern_fn; /**< The pattern callback. */
- dmnsn_pattern_free_fn *free_fn; /**< The destructor callback. */
-
- DMNSN_REFCOUNT; /**< Reference count. */
};
/**
- * Allocate an dummy pattern.
+ * Allocate a dummy pattern.
+ * @param[in] pool The memory pool to allocate from.
* @return A pattern with no callbacks set.
*/
-dmnsn_pattern *dmnsn_new_pattern(void);
+dmnsn_pattern *dmnsn_new_pattern(dmnsn_pool *pool);
/**
* Initialize a dmnsn_pattern field.
@@ -62,12 +54,6 @@ dmnsn_pattern *dmnsn_new_pattern(void);
void dmnsn_init_pattern(dmnsn_pattern *pattern);
/**
- * Delete a pattern.
- * @param[in,out] pattern The pattern to destroy.
- */
-void dmnsn_delete_pattern(dmnsn_pattern *pattern);
-
-/**
* Invoke the pattern callback.
* @param[in] pattern The pattern to evaluate.
* @param[in] v The point to get the pattern value for.
diff --git a/libdimension/dimension/patterns.h b/libdimension/dimension/patterns.h
index c956b91..59b7fec 100644
--- a/libdimension/dimension/patterns.h
+++ b/libdimension/dimension/patterns.h
@@ -1,5 +1,5 @@
/*************************************************************************
- * Copyright (C) 2009-2011 Tavian Barnes <tavianator@tavianator.com> *
+ * Copyright (C) 2009-2014 Tavian Barnes <tavianator@tavianator.com> *
* *
* This file is part of The Dimension Library. *
* *
@@ -26,20 +26,23 @@
/**
* A checker pattern. The pattern is composed of tesselating unit cubes
* alternating between 0 and 1.
+ * @param[in] pool The memory pool to allocate from.
* @return A checker pattern.
*/
-dmnsn_pattern *dmnsn_new_checker_pattern(void);
+dmnsn_pattern *dmnsn_new_checker_pattern(dmnsn_pool *pool);
/**
* A gradient. The value starts at 0 at the origin, and goes linearly to 1 in
* the direction of \p orientation, then repeats after a distance of 1.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] orientation The direction of the gradient.
* @return A gradient pattern.
*/
-dmnsn_pattern *dmnsn_new_gradient_pattern(dmnsn_vector orientation);
+dmnsn_pattern *dmnsn_new_gradient_pattern(dmnsn_pool *pool, dmnsn_vector orientation);
/**
* A leopard pattern.
+ * @param[in] pool The memory pool to allocate from.
* @return A leopard pattern.
*/
-dmnsn_pattern *dmnsn_new_leopard_pattern(void);
+dmnsn_pattern *dmnsn_new_leopard_pattern(dmnsn_pool *pool);