diff options
-rw-r--r-- | src/stage.c | 27 | ||||
-rw-r--r-- | src/stage.h | 8 |
2 files changed, 32 insertions, 3 deletions
diff --git a/src/stage.c b/src/stage.c index c318c20..c93079e 100644 --- a/src/stage.c +++ b/src/stage.c @@ -185,6 +185,15 @@ void stage_set_alpha(stage_t *stage, float alpha) } +/* get the current alpha from a stage */ +float stage_get_alpha(const stage_t *stage) +{ + assert(stage); + + return stage->alpha; +} + + /* set a stage's active state (participates in rendering) */ void stage_set_active(stage_t *stage, int active) { @@ -194,6 +203,15 @@ void stage_set_active(stage_t *stage, int active) } +/* get a stage's active state */ +int stage_get_active(const stage_t *stage) +{ + assert(stage); + + return stage->active; +} + + /* set a stage's locked state (doesn't get freed by clears) */ void stage_set_locked(stage_t *stage, int locked) { @@ -203,6 +221,15 @@ void stage_set_locked(stage_t *stage, int locked) } +/* get a stage's locked state */ +int stage_get_locked(const stage_t *stage) +{ + assert(stage); + + return stage->locked; +} + + /* set a stage's layer (must not be root stage) */ /* TODO: maybe support supplying a parent here for switching parents? */ void stage_set_layer(stage_t *stage, int layer) diff --git a/src/stage.h b/src/stage.h index 1d38380..e366155 100644 --- a/src/stage.h +++ b/src/stage.h @@ -26,16 +26,18 @@ typedef void (*stage_render_func_t)(const stage_t *stage, void *object, float al typedef void (*stage_free_func_t)(const stage_t *stage, void *object); 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_free(stage_t *stage); void stage_render(const 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); void stage_set_alpha(stage_t *stage, float alpha); float stage_get_alpha(const stage_t *stage); void stage_set_active(stage_t *stage, int active); +int stage_get_active(const stage_t *stage); void stage_set_locked(stage_t *stage, int locked); -void stage_set_object(stage_t *stage, void *object); -void * stage_get_object(const stage_t *stage); -void stage_replace(stage_t *stage, const char *name, void *object, stage_render_func_t render_func, stage_free_func_t free_func); +int stage_get_locked(const stage_t *stage); void stage_set_layer(stage_t *stage, int layer); stage_t * stage_lookup_name(stage_t *stage, const char *name); |