#pragma once #include "dolphin.h" #include "dolphin_state.h" #include #include #include #include #include #include #include typedef enum { DolphinEventTypeDeed, } DolphinEventType; typedef struct { DolphinEventType type; union { DolphinDeed deed; }; } DolphinEvent; typedef enum { DolphinScreenDebug, DolphinScreenIdle, DolphinScreenStats, } DolphinScreen; struct Dolphin { Icon* icon; Widget* widget; ValueMutex* menu_vm; // State DolphinState* state; DolphinScreen screen; // Internal message queue osMessageQueueId_t event_queue; }; void dolphin_draw_callback(Canvas* canvas, void* context); void dolphin_draw_idle(Canvas* canvas, Dolphin* dolphin); void dolphin_draw_debug(Canvas* canvas, Dolphin* dolphin); void dolphin_draw_stats(Canvas* canvas, Dolphin* dolphin); void dolphin_input_callback(InputEvent* event, void* context); Dolphin* dolphin_alloc();