Files
RP2350_MIDI_Lighter/Firmware/Screens.h
Chris 128d42c586 - Fixed drawing of round objects (Circles, Rounded Rects) using a lookup table
- Added function to read out the display_buffer via USB-Serial
 - Added basic structure and files for later complete firmware (still in progress)
 - Added Doc folder with schematic in it
 - Added Python script and batch file to read out the display buffer and open the image in gimp
2025-09-07 08:55:39 +02:00

58 lines
3.1 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 "Display_Objects_Datatypes.h"
// ============================================================================================
// Defines
// ============================================================================================
// Variables (do not edit)
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_MIDI(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_MIDI_Config(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_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, void (*return_function)(Screen_Transition_Direction, Screen_Transition_Direction, Easing, uint32_t, int32_t), int32_t return_value);
extern void Screen_Setup_Select_RGB(Screen_Transition_Direction direction_out, Screen_Transition_Direction direction_in, Easing type, uint32_t frame_duration, RGB_Color* rgb_color);
#endif /* SCREENS_H_ */