diff options
Diffstat (limited to 'src')
| -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); | 
