summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension/pattern.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension/dimension/pattern.h')
-rw-r--r--libdimension/dimension/pattern.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/libdimension/dimension/pattern.h b/libdimension/dimension/pattern.h
index c21ca8d..6e8c42f 100644
--- a/libdimension/dimension/pattern.h
+++ b/libdimension/dimension/pattern.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. *
* *
@@ -35,12 +35,16 @@ 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_free_fn *free_fn; /**< The destructor callback. */
-
- void *ptr; /**< Generic pointer. */
+ dmnsn_pattern_free_fn *free_fn; /**< The destructor callback. */
DMNSN_REFCOUNT; /**< Reference count. */
};
@@ -52,6 +56,12 @@ struct dmnsn_pattern {
dmnsn_pattern *dmnsn_new_pattern(void);
/**
+ * Initialize a dmnsn_pattern field.
+ * @param[out] pattern The pattern to initialize.
+ */
+void dmnsn_init_pattern(dmnsn_pattern *pattern);
+
+/**
* Delete a pattern.
* @param[in,out] pattern The pattern to destroy.
*/