diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2014-05-30 19:03:33 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2014-05-30 19:03:33 -0400 |
commit | 8807ab192b36acbc94e11790e9261c799ce77892 (patch) | |
tree | 7b37684cb5679c132d21f3bd8c2ff47a11e3df55 /libdimension/dimension | |
parent | 4781d3a2a7ec463ee712c8de6362d8b6c872c31b (diff) | |
download | dimension-8807ab192b36acbc94e11790e9261c799ce77892.tar.xz |
pattern: Use pool.
Diffstat (limited to 'libdimension/dimension')
-rw-r--r-- | libdimension/dimension/pattern.h | 20 | ||||
-rw-r--r-- | libdimension/dimension/patterns.h | 11 |
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); |