From efd875766a7e443e2078d70c44c05b3947316c3b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 22 Apr 2025 19:10:27 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20"Inverted"=20text=20on=20GLCD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h | 1 + Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h | 5 ++++- Marlin/src/lcd/tft/themes/theme_default.h | 3 +++ Marlin/src/lcd/tft/ui_common.cpp | 8 +++++--- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h b/Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h index d6a7bab671..67db585435 100644 --- a/Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h +++ b/Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h @@ -47,6 +47,7 @@ #define COLOR_SD_DISABLED COLOR_CONTROL_DISABLED #define COLOR_MENU_TEXT COLOR_WHITE #define COLOR_MENU_STATIC_TEXT COLOR_WHITE +#define COLOR_MENU_INVERT_TEXT COLOR_YELLOW #define COLOR_MENU_BACK_TEXT COLOR_YELLOW #define COLOR_MENU_EDIT_TEXT COLOR_LIME2 #define COLOR_MENU_VALUE_FONT COLOR_ORANGE2 diff --git a/Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h b/Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h index 7414a7f250..bbc3b6671f 100644 --- a/Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h +++ b/Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h @@ -106,9 +106,12 @@ #ifndef COLOR_MENU_TEXT #define COLOR_MENU_TEXT COLOR_YELLOW #endif -#ifndef COLOR_MENU_TEXT +#ifndef COLOR_MENU_STATIC_TEXT #define COLOR_MENU_STATIC_TEXT COLOR_SILVER #endif +#ifndef COLOR_MENU_INVERT_TEXT + #define COLOR_MENU_INVERT_TEXT COLOR_WHITE +#endif #ifndef COLOR_MENU_BACK_TEXT #define COLOR_MENU_BACK_TEXT COLOR_CYAN #endif diff --git a/Marlin/src/lcd/tft/themes/theme_default.h b/Marlin/src/lcd/tft/themes/theme_default.h index 17790c7557..6b7e789216 100644 --- a/Marlin/src/lcd/tft/themes/theme_default.h +++ b/Marlin/src/lcd/tft/themes/theme_default.h @@ -107,6 +107,9 @@ #ifndef COLOR_MENU_STATIC_TEXT #define COLOR_MENU_STATIC_TEXT COLOR_SILVER #endif +#ifndef COLOR_MENU_INVERT_TEXT + #define COLOR_MENU_INVERT_TEXT COLOR_WHITE +#endif #ifndef COLOR_MENU_BACK_TEXT #define COLOR_MENU_BACK_TEXT COLOR_WHITE #endif diff --git a/Marlin/src/lcd/tft/ui_common.cpp b/Marlin/src/lcd/tft/ui_common.cpp index 6d59e0ce8b..b16b3e80a0 100644 --- a/Marlin/src/lcd/tft/ui_common.cpp +++ b/Marlin/src/lcd/tft/ui_common.cpp @@ -390,10 +390,12 @@ void MenuItem_static::draw(const uint8_t row, FSTR_P const ftpl, const uint8_t s else tft_string.set(); + const uint16_t color = (style & SS_INVERT) ? COLOR_MENU_INVERT_TEXT : COLOR_MENU_STATIC_TEXT; + const bool center = bool(style & SS_CENTER), full = bool(style & SS_FULL); if (!full || !vstr) { if (vstr) tft_string.add(vstr); - tft.add_text(center ? tft_string.center(TFT_WIDTH) : 0, MENU_TEXT_Y, COLOR_MENU_STATIC_TEXT, tft_string); + tft.add_text(center ? tft_string.center(TFT_WIDTH) : 0, MENU_TEXT_Y, color, tft_string); return; } @@ -401,12 +403,12 @@ void MenuItem_static::draw(const uint8_t row, FSTR_P const ftpl, const uint8_t s if (*vstr == ':') { tft_string.add(':'); vstr++; } // Left-justified label - tft.add_text(0, MENU_TEXT_Y, COLOR_MENU_STATIC_TEXT, tft_string); + tft.add_text(0, MENU_TEXT_Y, color, tft_string); // Right-justified value, after spaces while (*vstr == ' ') vstr++; tft_string.set(vstr); - tft.add_text(TFT_WIDTH - 1 - tft_string.width(), MENU_TEXT_Y, COLOR_MENU_STATIC_TEXT, tft_string); + tft.add_text(TFT_WIDTH - 1 - tft_string.width(), MENU_TEXT_Y, color, tft_string); } #if HAS_MEDIA