From f42c1887f3212c56e5c69a5f1ac26b80aabda1d9 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Thu, 9 May 2019 20:57:01 -0700 Subject: 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. --- src/stage.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/stage.h') 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); -- cgit v1.2.3