Files
RP2350_MIDI_Lighter/Firmware/Screens.h
Chris 89c875e38f - First complete version of firmware. Currently being tested in the rehearsal room
- Added bunch of screens, fonts and images
 - Added script to read out frame buffer (function currently disabled in Firmware)
2025-10-26 20:57:58 +01:00

73 lines
6.0 KiB
C

/*
* Screens.h
*
* Created: Fri Apr 02 2021 13:46:52
* Author Chris
*/
#ifndef SCREENS_H_
#define SCREENS_H_
// ============================================================================================
// Includes
#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
#include "Easings.h"
#include "Mode_Manager.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);
extern bool _Screen_Idle_Active;
extern bool _Screen_Idle_Counter_Disable;
// ============================================================================================
// List of all Screen Setups as extern
extern void Screen_Setup_Idle(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration);
extern void Screen_Setup_Mode_Change(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, Mode mode);
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_EEPROM_Code(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration);
extern void Screen_Setup_EEPROM_Write(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, bool code_correct);
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);
extern void Screen_Setup_Select_List(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_List* config, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item);
extern void Screen_Setup_Default_Notes(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item);
extern void Screen_Setup_Settings_Reboot(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item);
extern void Screen_Setup_Select_Hue(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, int32_t* hue_value, const Menu_Configuration_Select_Value* config, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item);
extern void Screen_Setup_Select_MinMax(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, char* title, uint32_t title_length, MinMax_t* value, const Menu_Configuration_Select_MinMax* config, const Hierarchical_Menu* return_menu, const Menu_List* return_list, int32_t return_selected_item);
#endif /* SCREENS_H_ */