From 2f811f69c13c3ad9b05d15e6510192a7dde95c71 Mon Sep 17 00:00:00 2001 From: Physick <96335032+DegustatorPonos@users.noreply.github.com> Date: Thu, 3 Sep 2026 01:54:55 +0500 Subject: scene reopen API --- src/scenes/puzzlePreviewScene.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/scenes/puzzlePreviewScene.c') 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); -- cgit v1.3