- Added initial version of Hierarchical Menu

- Beautified the Message Box a bit
This commit is contained in:
2025-09-19 15:21:15 +02:00
parent 097a50f073
commit c8f14373d3
36 changed files with 2998 additions and 1973 deletions

View File

@@ -8,22 +8,87 @@
// ============================================================================================
// Defines
#define MODERN_PRIMARY_DARK DISPLAY_COLOR_FROM_RGB888(28, 28, 30) // Dark charcoal
#define MODERN_PRIMARY_LIGHT DISPLAY_COLOR_FROM_RGB888(242, 242, 247) // Light gray
#define MODERN_ACCENT_BLUE DISPLAY_COLOR_FROM_RGB888(0, 122, 255) // System blue
#define MODERN_ACCENT_GREEN DISPLAY_COLOR_FROM_RGB888(48, 209, 88) // System green
#define MODERN_ACCENT_ORANGE DISPLAY_COLOR_FROM_RGB888(255, 149, 0) // System orange
#define MODERN_ACCENT_RED DISPLAY_COLOR_FROM_RGB888(255, 69, 58) // System red
#define MODERN_SHADOW DISPLAY_COLOR_FROM_RGB888(0, 0, 0) // True black shadow
#define MODERN_GLASS_OVERLAY DISPLAY_COLOR_FROM_RGB888(255, 255, 255) // White overlay for glass effect
// ============================================================================================
// Variables
extern const unsigned char _Font_Victor_Mono_Bold_8x19[];
extern const unsigned char _Font_Victor_Mono_Regular_6x11[];
extern const unsigned char _Font_Victor_Mono_Regular_7x13[];
extern const unsigned char _Font_DejaVu_Sans_Mono_Bold_7x15[];
extern const unsigned char _Font_DejaVu_Sans_Mono_Bold_11x17[];
extern const unsigned char _Font_DejaVu_Sans_Mono_6x12[];
extern const unsigned char _Font_DejaVu_Sans_Mono_7x15[];
extern const unsigned char _Font_DejaVu_Sans_Mono_10x17[];
const Message_Box_Style _Message_Box_Style_Regular = {
.Font = _Font_DejaVu_Sans_Mono_10x17,
.Background_Color = MODERN_PRIMARY_DARK,
.Border_Color = DISPLAY_COLOR_FROM_RGB888(58, 58, 60),
.Text_Color = MODERN_PRIMARY_LIGHT,
.Accent_Color = MODERN_ACCENT_BLUE,
.Border_Radius = 15,
.Border_Thickness = 1,
.Padding[PADDING_LEFT] = 20,
.Padding[PADDING_TOP] = 20,
.Padding[PADDING_RIGHT] = 20,
.Padding[PADDING_BOTTOM] = 25
};
Configuration_Menu_Select _Configuration_Default_Select_Menu = {
.X_Offset = 60,
.X_Indent = -4,
.Font = { _Font_Victor_Mono_Bold_8x19, _Font_Victor_Mono_Regular_7x13, _Font_Victor_Mono_Regular_6x11 },
.Font = { _Font_DejaVu_Sans_Mono_Bold_7x15, _Font_DejaVu_Sans_Mono_7x15, _Font_DejaVu_Sans_Mono_6x12 },
.Color = { DISPLAY_COLOR_WHITE, DISPLAY_COLOR_LIGHTGREY, DISPLAY_COLOR_DARKGREY }
};
Configuration_Menu_Hierarchical _Configuration_Menu_Hierarchical_Default = {
// Fonts
.Title_Font = _Font_DejaVu_Sans_Mono_Bold_11x17,
.Item_Font = _Font_DejaVu_Sans_Mono_7x15,
.Back_Font = _Font_DejaVu_Sans_Mono_6x12,
// Colors
.Title_Color = DISPLAY_COLOR_WHITE,
.Item_Selected_Color = DISPLAY_COLOR_CYAN,
.Item_Normal_Color = DISPLAY_COLOR_LIGHTGREY,
.Item_Back_Color = DISPLAY_COLOR_YELLOW,
.Background_Color = DISPLAY_COLOR_BLACK,
.Border_Color = DISPLAY_COLOR_DARKGREY,
.Indicator_Color = DISPLAY_COLOR_BLUE,
// Layout
.Title_Y_Offset = 25,
.Menu_Start_Y = 60,
.Item_Height = 20,
.Item_Spacing = 4,
.Item_Alignment = CENTER,
.Side_Padding = 30,
.Visible_Items = 6,
// Animation
.Animation_Speed = 8,
.Transition_Frames = 12,
// Visual indicators
.Show_Scroll_Indicators = true,
.Show_Item_Icons = false,
.Show_Sub_Menu_Indicators = true,
.Show_Selection_Box = true,
.Selection_Box_Padding = 4
};
// Configuration_Menu_Icon_Row
Configuration_Select_YesNo _Configuration_Default_Select_YesNo = {
@@ -34,7 +99,7 @@ Configuration_Select_YesNo _Configuration_Default_Select_YesNo = {
.Value_Font = _Font_DejaVu_Sans_Mono_10x17,
.Value_Center_X_Offset = 20,
.Value_Y_Center = DISPLAY_Y_CENTER+20,
.Animation_Speed = 6
.Animation_Speed = 20
};
Configuration_Select_List _Configuration_Default_Select_List = {
@@ -45,7 +110,7 @@ Configuration_Select_List _Configuration_Default_Select_List = {
};
Configuration_Select_Value _Configuration_Default_Select_Value = {
.Title_Font = _Font_Victor_Mono_Bold_8x19,
.Title_Font = _Font_DejaVu_Sans_Mono_Bold_7x15,
.Title_Color = DISPLAY_COLOR_WHITE,
.Title_Y_Center = DISPLAY_Y_CENTER-50,
@@ -84,7 +149,7 @@ Configuration_Select_RGB _Configuration_Default_Select_RGB = {
.Show_Previous_Markers = true,
// Text display settings - clear hierarchy
.Component_Label_Font = _Font_Victor_Mono_Bold_8x19, // Bold for component labels (RED/GREEN/BLUE)
.Component_Label_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Bold for component labels (RED/GREEN/BLUE)
.Value_Font = _Font_DejaVu_Sans_Mono_10x17, // Large readable font for values
.Text_Color = DISPLAY_COLOR_WHITE, // High contrast white text
.Text_Y_Offset = 100, // 100px from bottom edge
@@ -124,8 +189,8 @@ Configuration_Select_RGB _Configuration_Compact_Select_RGB = {
.Show_Previous_Markers = true,
// Smaller fonts for compact layout
.Component_Label_Font = _Font_Victor_Mono_Regular_6x11, // Smaller label font
.Value_Font = _Font_Victor_Mono_Bold_8x19, // Medium value font
.Component_Label_Font = _Font_DejaVu_Sans_Mono_6x12, // Smaller label font
.Value_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Medium value font
.Text_Color = DISPLAY_COLOR_LIGHTGREY,
.Text_Y_Offset = 25,
@@ -165,7 +230,7 @@ Configuration_Select_RGB _Configuration_High_Contrast_Select_RGB = {
// Large, clear fonts
.Component_Label_Font = _Font_DejaVu_Sans_Mono_10x17, // Larger labels
.Value_Font = _Font_Victor_Mono_Bold_8x19, // Bold values
.Value_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Bold values
.Text_Color = DISPLAY_COLOR_WHITE,
.Text_Y_Offset = 35,