Files
RP2350_MIDI_Lighter/Firmware/Screens.h
Christian Leibold 90bca063e6 - Added Solder Guides to the Housing
- Did some minor adjustments for better fitting
 - Added Select Value screen and initializes the infrastructure
2025-09-19 17:16:35 +02:00

59 lines
3.7 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 "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_ */