FL-528 GUI: View, ViewDispather. Dolphin: first start. (#276)
* GUI: view. Flooper-blooper fix compilation error. * GUI: view and viewdispatcher bones * GUI: view implementation, view models, view dispatcher * GUI: view navigation, model refinement. Power: use view, view dispatcher. * HAL Flash: proper page write. Dolphin: views. Power: views * Dolphin: transition idle scree to Views * Dolphin: input events on stats view. Format sources. * HAL: flash erase. Dolphin: permanent state storage. * Dolphin: first start welcome. HAL: flash operation status, errata 2.2.9 crutch.
This commit is contained in:
@@ -2,20 +2,21 @@
|
||||
|
||||
#include "dolphin.h"
|
||||
#include "dolphin_state.h"
|
||||
#include "dolphin_views.h"
|
||||
|
||||
#include <flipper_v2.h>
|
||||
|
||||
#include <gui/gui.h>
|
||||
#include <gui/widget.h>
|
||||
#include <gui/view_dispatcher.h>
|
||||
#include <gui/canvas.h>
|
||||
#include <menu/menu.h>
|
||||
|
||||
#include <assets_icons.h>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum {
|
||||
DolphinEventTypeDeed,
|
||||
DolphinEventTypeSave,
|
||||
} DolphinEventType;
|
||||
|
||||
typedef struct {
|
||||
@@ -25,27 +26,24 @@ typedef struct {
|
||||
};
|
||||
} 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;
|
||||
// State
|
||||
DolphinState* state;
|
||||
// Menu
|
||||
ValueMutex* menu_vm;
|
||||
// GUI
|
||||
ViewDispatcher* idle_view_dispatcher;
|
||||
View* idle_view_first_start;
|
||||
View* idle_view_main;
|
||||
View* idle_view_stats;
|
||||
View* idle_view_debug;
|
||||
};
|
||||
|
||||
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();
|
||||
|
||||
/* Save Dolphin state (write to permanent memory)
|
||||
* Thread safe
|
||||
*/
|
||||
void dolphin_save(Dolphin* dolphin);
|
||||
|
Reference in New Issue
Block a user