diff options
| author | Physick <96335032+DegustatorPonos@users.noreply.github.com> | 2026-09-03 01:54:55 +0500 |
|---|---|---|
| committer | Physick <96335032+DegustatorPonos@users.noreply.github.com> | 2026-09-03 01:54:55 +0500 |
| commit | 2f811f69c13c3ad9b05d15e6510192a7dde95c71 (patch) | |
| tree | f65eda3ceef69243de609560c24538e9bf38c7b1 /src/scenes/scenes.h | |
| parent | da295397942073453ed9f82cc88dafd083d4c782 (diff) | |
scene reopen API
Diffstat (limited to 'src/scenes/scenes.h')
| -rw-r--r-- | src/scenes/scenes.h | 13 |
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; |
