#pragma once #include #include #include #include #include // Idle screen typedef enum { DolphinViewIdleMain, DolphinViewFirstStart, DolphinViewStats, DolphinViewHwMismatch, DolphinViewLockMenu, } DolphinViewIdle; // Debug info typedef enum { DolphinViewStatsFw, DolphinViewStatsBoot, DolphinViewStatsMeta, DolphinViewStatsTotalCount, } DolphinViewStatsScreens; typedef struct { uint32_t page; } DolphinViewFirstStartModel; void dolphin_view_first_start_draw(Canvas* canvas, void* model); bool dolphin_view_first_start_input(InputEvent* event, void* context); typedef struct { uint32_t icounter; uint32_t butthurt; DolphinViewStatsScreens screen; } DolphinViewStatsModel; typedef struct { uint8_t idx; int8_t door_left_x; int8_t door_right_x; uint8_t exit_timeout; uint8_t hint_timeout; bool locked; } DolphinViewLockMenuModel; typedef struct { IconAnimation* animation; uint8_t scene_num; uint8_t hint_timeout; bool locked; } DolphinViewMainModel; void dolphin_view_idle_main_draw(Canvas* canvas, void* model); bool dolphin_view_idle_main_input(InputEvent* event, void* context); void dolphin_view_idle_up_draw(Canvas* canvas, void* model); void dolphin_view_lockmenu_draw(Canvas* canvas, void* model); void dolphin_view_idle_down_draw(Canvas* canvas, void* model); void dolphin_view_hw_mismatch_draw(Canvas* canvas, void* model); uint32_t dolphin_view_idle_back(void* context);