#pragma once #include #include #include #include #include #include #include #include #include #include #include #define TAG "FlipWorld" #define VERSION_TAG "FlipWorld v0.1" // Define the submenu items for our FlipWorld application typedef enum { FlipWorldSubmenuIndexRun, // Click to run the FlipWorld application FlipWorldSubmenuIndexAbout, FlipWorldSubmenuIndexSettings, } FlipWorldSubmenuIndex; // Define a single view for our FlipWorld application typedef enum { FlipWorldViewMain, // The main screen FlipWorldViewSubmenu, // The submenu FlipWorldViewAbout, // The about screen FlipWorldViewSettings, // The settings screen FlipWorldViewTextInput, // The text input screen } FlipWorldView; // Define a custom event for our FlipWorld application typedef enum { FlipWorldCustomEventPlay, // Play the game } FlipWorldCustomEvent; // Each screen will have its own view typedef struct { // necessary ViewDispatcher *view_dispatcher; // Switches between our views View *view_main; // The game screen View *view_about; // The about screen Submenu *submenu; // The submenu VariableItemList *variable_item_list; // The variable item list (settngs) VariableItem *variable_item_ssid; // The variable item VariableItem *variable_item_pass; // The variable item UART_TextInput *text_input; // The text input char *text_input_buffer; // Buffer for the text input char *text_input_temp_buffer; // Temporary buffer for the text input uint32_t text_input_buffer_size; // Size of the text input buffer } FlipWorldApp;