From 302fcef465434fbcf8346dc8a73bb2d0908b5416 Mon Sep 17 00:00:00 2001 From: jfrickmann Date: Sun, 1 Aug 2021 12:49:30 -0400 Subject: [PATCH] Added OS theme colors as suggested by JimB40 in #506 Amend: trying if tests will pass when I move the new color indices to then end of the enum. --- radio/src/gui/colorlcd/colors.h | 22 +++++++++++++++++++ radio/src/gui/colorlcd/themes/480_default.cpp | 12 ++++++++++ radio/src/lua/api_general.cpp | 11 ++++++++++ 3 files changed, 45 insertions(+) diff --git a/radio/src/gui/colorlcd/colors.h b/radio/src/gui/colorlcd/colors.h index a670fde42..5ce9d831a 100644 --- a/radio/src/gui/colorlcd/colors.h +++ b/radio/src/gui/colorlcd/colors.h @@ -72,6 +72,17 @@ enum LcdColorIndex TRIM_BGCOLOR_INDEX, TRIM_SHADOW_COLOR_INDEX, + OS_COLOR_PRIMARY1_INDEX, + OS_COLOR_PRIMARY2_INDEX, + OS_COLOR_PRIMARY3_INDEX, + OS_COLOR_SECONDARY1_INDEX, + OS_COLOR_SECONDARY2_INDEX, + OS_COLOR_SECONDARY3_INDEX, + OS_COLOR_FOCUS_INDEX, + OS_COLOR_EDIT_INDEX, + OS_COLOR_ACTIVE_INDEX, + OS_COLOR_WARNING_INDEX, + // this one MUST be last LCD_COLOR_COUNT, }; @@ -113,6 +124,17 @@ inline void lcdSetColor(uint16_t color) #define COLOR(index) ((uint32_t)lcdColorTable[ unsigned(index) & 0xFF ] << 16u) +#define OS_COLOR_PRIMARY1 COLOR(OS_COLOR_PRIMARY1_INDEX) +#define OS_COLOR_PRIMARY2 COLOR(OS_COLOR_PRIMARY2_INDEX) +#define OS_COLOR_PRIMARY3 COLOR(OS_COLOR_PRIMARY3_INDEX) +#define OS_COLOR_SECONDARY1 COLOR(OS_COLOR_SECONDARY1_INDEX) +#define OS_COLOR_SECONDARY2 COLOR(OS_COLOR_SECONDARY2_INDEX) +#define OS_COLOR_SECONDARY3 COLOR(OS_COLOR_SECONDARY3_INDEX) +#define OS_COLOR_FOCUS COLOR(OS_COLOR_FOCUS_INDEX) +#define OS_COLOR_EDIT COLOR(OS_COLOR_EDIT_INDEX) +#define OS_COLOR_ACTIVE COLOR(OS_COLOR_ACTIVE_INDEX) +#define OS_COLOR_WARNING COLOR(OS_COLOR_WARNING_INDEX) + #define ALARM_COLOR COLOR(ALARM_COLOR_INDEX) #define BARGRAPH1_COLOR COLOR(BARGRAPH1_COLOR_INDEX) #define BARGRAPH2_COLOR COLOR(BARGRAPH2_COLOR_INDEX) diff --git a/radio/src/gui/colorlcd/themes/480_default.cpp b/radio/src/gui/colorlcd/themes/480_default.cpp index 282e84a92..1c4a5dff5 100644 --- a/radio/src/gui/colorlcd/themes/480_default.cpp +++ b/radio/src/gui/colorlcd/themes/480_default.cpp @@ -50,6 +50,18 @@ class Theme480: public OpenTxTheme void loadColors() const { TRACE("Load EdgeTX theme colors"); + + lcdColorTable[OS_COLOR_PRIMARY1_INDEX] = RGB(0, 0, 0); + lcdColorTable[OS_COLOR_PRIMARY2_INDEX] = RGB(255, 255, 255); + lcdColorTable[OS_COLOR_PRIMARY3_INDEX] = RGB(12, 63, 102); + lcdColorTable[OS_COLOR_SECONDARY1_INDEX] = RGB(18, 94, 153); + lcdColorTable[OS_COLOR_SECONDARY2_INDEX] = RGB(182, 224, 242); + lcdColorTable[OS_COLOR_SECONDARY3_INDEX] = RGB(228, 238, 242); + lcdColorTable[OS_COLOR_FOCUS_INDEX] = RGB(20, 161, 229); + lcdColorTable[OS_COLOR_EDIT_INDEX] = RGB(0, 153, 9); + lcdColorTable[OS_COLOR_ACTIVE_INDEX] = RGB(255, 222, 0); + lcdColorTable[OS_COLOR_WARNING_INDEX] = RGB(224, 0, 0); + lcdColorTable[ALARM_COLOR_INDEX] = RED; lcdColorTable[BARGRAPH1_COLOR_INDEX] = RED; lcdColorTable[BARGRAPH2_COLOR_INDEX] = RGB(167, 167, 167); diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 0a1c4498c..7aa999b6d 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -1905,6 +1905,17 @@ const luaR_value_entry opentxConstants[] = { { "STRING", ZoneOption::String }, // Colors gui/colorlcd/colors.h + { "OS_COLOR_PRIMARY1", COLOR2FLAGS(OS_COLOR_PRIMARY1_INDEX) }, + { "OS_COLOR_PRIMARY2", COLOR2FLAGS(OS_COLOR_PRIMARY2_INDEX) }, + { "OS_COLOR_PRIMARY3", COLOR2FLAGS(OS_COLOR_PRIMARY3_INDEX) }, + { "OS_COLOR_SECONDARY1", COLOR2FLAGS(OS_COLOR_SECONDARY1_INDEX) }, + { "OS_COLOR_SECONDARY2", COLOR2FLAGS(OS_COLOR_SECONDARY2_INDEX) }, + { "OS_COLOR_SECONDARY3", COLOR2FLAGS(OS_COLOR_SECONDARY3_INDEX) }, + { "OS_COLOR_FOCUS", COLOR2FLAGS(OS_COLOR_FOCUS_INDEX) }, + { "OS_COLOR_EDIT", COLOR2FLAGS(OS_COLOR_EDIT_INDEX) }, + { "OS_COLOR_ACTIVE", COLOR2FLAGS(OS_COLOR_ACTIVE_INDEX) }, + { "OS_COLOR_WARNING", COLOR2FLAGS(OS_COLOR_WARNING_INDEX) }, + { "ALARM_COLOR", COLOR2FLAGS(ALARM_COLOR_INDEX) }, { "BARGRAPH1_COLOR", COLOR2FLAGS(BARGRAPH1_COLOR_INDEX) }, { "BARGRAPH2_COLOR", COLOR2FLAGS(BARGRAPH2_COLOR_INDEX) },