summaryrefslogtreecommitdiff
path: root/src/scenes/puzzlePreviewScene.c
diff options
context:
space:
mode:
authorPhysick <96335032+DegustatorPonos@users.noreply.github.com>2026-09-03 01:54:55 +0500
committerPhysick <96335032+DegustatorPonos@users.noreply.github.com>2026-09-03 01:54:55 +0500
commit2f811f69c13c3ad9b05d15e6510192a7dde95c71 (patch)
treef65eda3ceef69243de609560c24538e9bf38c7b1 /src/scenes/puzzlePreviewScene.c
parentda295397942073453ed9f82cc88dafd083d4c782 (diff)
scene reopen API
Diffstat (limited to 'src/scenes/puzzlePreviewScene.c')
-rw-r--r--src/scenes/puzzlePreviewScene.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/scenes/puzzlePreviewScene.c b/src/scenes/puzzlePreviewScene.c
index 6ce3ba7..27b0541 100644
--- a/src/scenes/puzzlePreviewScene.c
+++ b/src/scenes/puzzlePreviewScene.c
@@ -34,7 +34,14 @@ void closePreviewWindow(Scene *self) {
if (self == NULL) return;
puzzlePreviewData *data = ((Scene *)self)->data;
if (data == NULL) return;
- data->state = POPUP_HIDING_ALT;
+ data->state = POPUP_HIDING_OVERLAY;
+}
+
+static PopUpState getCurrentState(void *self) {
+ if (self == NULL || ((Scene *)self)->data == NULL)
+ return POPUP_ACTIVE;
+ puzzlePreviewData *data = ((Scene *)self)->data;
+ return data->state;
}
bool updatePuzzlePreview(void *self) {
@@ -48,7 +55,7 @@ bool updatePuzzlePreview(void *self) {
}
return true;
- case POPUP_HIDING_ALT:
+ case POPUP_HIDING_OVERLAY:
data->scroll_up -= SCROLL_SPEED * GetFrameTime();
if (data->scroll_up <= 0) {
if (data->puzzle != NULL) FreePuzzle(data->puzzle);
@@ -158,6 +165,9 @@ Scene *CreatePuzzlePreview(Puzzle *puzzle) {
outp->Deint = deinitPuzzlePreview;
outp->IsTransparent = true;
+ outp->GetCurrentState = getCurrentState;
+ outp->Reopen = NULL;
+
puzzlePreviewData *data = malloc(sizeof(puzzlePreviewData));
if (data == NULL) {
free(outp);