/* * Screens.h * * Created: Fri Apr 02 2021 13:46:52 * Author Chris */ #ifndef SCREENS_H_ #define SCREENS_H_ // ============================================================================================ // Includes #include #include #include #include "Easings.h" #include "Hierarchical_Menu.h" #include "Command_Definition.h" #include "Display_Objects_Datatypes.h" // ============================================================================================ // Defines // ============================================================================================ // Variables (do not edit) extern void (*_Screen_Last)(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration); extern void (*_Screen_Tick)(void); extern void (*_Screen_Click)(uint button_return_value); extern void (*_Screen_Touch_Event)(int16_t x, int16_t y); extern void (*_Screen_Action_CW)(Object_ID object_id); extern void (*_Screen_Action_CCW)(Object_ID object_id); extern void (*_Screen_On_Objects_Focused)(Object_ID object_id); extern void (*_Screen_On_Objects_Defocused)(Object_ID object_id); extern void (*_Screen_On_Object_Select)(Object_ID object_id); extern void (*_Screen_On_Object_Deselect)(Object_ID object_id); // ============================================================================================ // List of all Screen Setups as extern extern void Screen_Setup_Loading(); extern void Screen_Setup_Menu_Main(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, bool do_menu_animation, uint32_t selected_entry); extern void Screen_Setup_Mode(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration); extern void Screen_Setup_MIDI_Log(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration); extern void Screen_Setup_Graph(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration); extern void Screen_Setup_Settings(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, int32_t selected_item); extern void Screen_Setup_Settings_Hierarchical_Menu(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, const Hierarchical_Menu* menu, const Menu_List* list, int32_t selected_item); extern void Screen_Setup_Settings_About(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration); extern void Screen_Setup_Select_Bool(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, uint8_t *value, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item); extern void Screen_Setup_Select_RGB(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, LED_Data_t* rgb_color, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item); extern void Screen_Setup_Select_Value(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, int32_t* value, const Menu_Configuration_Select_Value* config, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item); #endif /* SCREENS_H_ */