summaryrefslogtreecommitdiff
path: root/src/stage.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2019-05-09 20:57:01 -0700
committerVito Caputo <vcaputo@pengaru.com>2019-05-10 14:18:28 -0700
commitf42c1887f3212c56e5c69a5f1ac26b80aabda1d9 (patch)
tree690d4cbfddca140de3c53ef37cfd949b83f04c34 /src/stage.h
parent0c22399c957cd1936f4407a149338d7e78dea2ea (diff)
libstage: introduce stage_match_func_t
Preparation for adding stage_lookup_key() to search a stage heirarchy by an opaque key the per-node functions know how to compare against.
Diffstat (limited to 'src/stage.h')
-rw-r--r--src/stage.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/stage.h b/src/stage.h
index 59329d7..b273b7b 100644
--- a/src/stage.h
+++ b/src/stage.h
@@ -24,9 +24,10 @@ typedef struct stage_t stage_t;
typedef void (stage_render_func_t)(const stage_t *stage, void *object, float alpha);
typedef void (stage_free_func_t)(const stage_t *stage, void *object);
+typedef int (stage_match_func_t)(const stage_t *stage, void *object, void *key);
-stage_t * stage_new(stage_t *parent, int layer, const char *name, void *object, stage_render_func_t *render_func, stage_free_func_t *free_func);
-void stage_replace(stage_t *stage, const char *name, void *object, stage_render_func_t *render_func, stage_free_func_t *free_func);
+stage_t * stage_new(stage_t *parent, int layer, const char *name, void *object, stage_render_func_t *render_func, stage_free_func_t *free_func, stage_match_func_t *match_func);
+void stage_replace(stage_t *stage, const char *name, void *object, stage_render_func_t *render_func, stage_free_func_t *free_func, stage_match_func_t *match_func);
stage_t * stage_free(stage_t *stage);
void stage_render(const stage_t *stage);
void stage_clear(stage_t *stage);
© All Rights Reserved