summaryrefslogtreecommitdiff
path: root/src/scenes/scenes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/scenes/scenes.h')
-rw-r--r--src/scenes/scenes.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/scenes/scenes.h b/src/scenes/scenes.h
index f4ba579..3c420d3 100644
--- a/src/scenes/scenes.h
+++ b/src/scenes/scenes.h
@@ -7,12 +7,18 @@
#define SCENE_STACK_SIZE 16
typedef enum {
+ /// The full screen blackout
POPUP_REVEALING,
- POPUP_REVEALING_ALT,
+ /// The popup of a transparent scene
+ POPUP_REVEALING_OVERLAY,
+ /// The scene is actively rendered
POPUP_ACTIVE,
+ /// The full screen blackout
POPUP_HIDING,
- POPUP_HIDING_ALT,
+ /// The popup of a transparent scene
+ POPUP_HIDING_OVERLAY,
} PopUpState;
+
static const int SCROLL_SPEED = 8;
static const int BLACKOUT_SPEED = 3;
@@ -23,6 +29,9 @@ typedef struct {
bool (*Update)(void *self);
bool (*Draw)(void *self);
void (*Deint)(void *self);
+ /// Is called when the scene becomes active after the next scene was popped
+ void (*Reopen)(void *self, PopUpState PreviousSceneState);
+ PopUpState (*GetCurrentState)(void *self);
/// A generic pointer to whatever data the scene needs. You will have to
/// cast it yourself
void *data;