From efda9aa3f0cee82cc3e2968326cf0df804d7e6d6 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 12 Jun 2019 13:26:31 -0700 Subject: libstage: add rudimentary dirty state This adds a dirty bit to every stage_t, but only maintains the bit at the root. This means rendering is assumed to occur at the root, as that's the only place the dirty state will be correctly managed. --- src/stage.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/stage.h') diff --git a/src/stage.h b/src/stage.h index c5d0173..a2a2543 100644 --- a/src/stage.h +++ b/src/stage.h @@ -29,7 +29,8 @@ typedef stage_t * (stage_lookup_func_t)(const stage_t *stage, void *object, void 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_lookup_func_t *lookup_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_lookup_func_t *lookup_func); stage_t * stage_free(stage_t *stage); -void stage_render(const stage_t *stage, void *render_ctxt); +int stage_render(stage_t *stage, void *render_ctxt); +void stage_dirty(stage_t *stage); void stage_clear(stage_t *stage); void stage_set_object(stage_t *stage, void *object); void * stage_get_object(const stage_t *stage); -- cgit v1.2.3