Browse Source

🚸 More TFT Color UI fixes (#27388)

Scott Lahteine 6 months ago
parent
commit
80bd10025b

+ 2 - 0
Marlin/src/inc/Conditionals_post.h

@@ -3513,6 +3513,8 @@
       #define LCD_WIDTH 21
     #elif IS_DWIN_MARLINUI
       // Defined by header
+    #elif HAS_GRAPHICAL_TFT
+      #define LCD_WIDTH ((TFT_WIDTH) / 16)
     #else
       #define LCD_WIDTH TERN(IS_ULTIPANEL, 20, 16)
     #endif

+ 3 - 3
Marlin/src/lcd/marlinui.cpp

@@ -375,9 +375,9 @@ void MarlinUI::init() {
             }
           }
         #else
-          theCard.longFilename[
-            TERN(UTF_FILENAME_SUPPORT, utf8_byte_pos_by_char_num(theCard.longFilename, maxlen), maxlen)
-          ] = '\0'; // cutoff at screen edge
+          // Simply cut off at maxlen
+          const uint8_t chop = TERN(UTF_FILENAME_SUPPORT, utf8_byte_pos_by_char_num(theCard.longFilename, maxlen), maxlen);
+          theCard.longFilename[_MAX(chop, LONG_FILENAME_LENGTH - 1)] = '\0';
         #endif
       }
       return outstr;

File diff suppressed because it is too large
+ 0 - 0
Marlin/src/lcd/tft/images/bootscreen_1024x600x16.cpp


File diff suppressed because it is too large
+ 29 - 0
Marlin/src/lcd/tft/images/bootscreen_576x478x16.cpp


+ 3 - 3
Marlin/src/lcd/tft/tft.h

@@ -77,10 +77,10 @@ class TFT {
     static void fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.fill(x, y, width, height, color); }
     static void canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height) { queue.canvas(x, y, width, height); }
     static void set_background(uint16_t color) { queue.set_background(color); }
-    static void add_text(uint16_t x, uint16_t y, uint16_t color, TFT_String tft_string, uint16_t maxWidth = 0) { queue.add_text(x, y, color, tft_string.string(), maxWidth); }
-    static void add_text(uint16_t x, uint16_t y, uint16_t color, const char *string, uint16_t maxWidth = 0) { queue.add_text(x, y, color, string, maxWidth); }
+    static void add_text(uint16_t x, uint16_t y, uint16_t color, TFT_String tft_string, uint16_t maxWidth=0) { queue.add_text(x, y, color, tft_string.string(), maxWidth); }
+    static void add_text(uint16_t x, uint16_t y, uint16_t color, const char *string, uint16_t maxWidth=0) { queue.add_text(x, y, color, string, maxWidth); }
     static void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t *colors) { queue.add_image(x, y, image, colors); }
-    static void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t color_main = COLOR_WHITE, uint16_t color_background = COLOR_BACKGROUND, uint16_t color_shadow = COLOR_BLACK) { queue.add_image(x, y, image, color_main,  color_background, color_shadow); }
+    static void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t color_main = COLOR_WHITE, uint16_t color_background = COLOR_BACKGROUND, uint16_t color_shadow = COLOR_BLACK) { queue.add_image(x, y, image, color_main, color_background, color_shadow); }
     static void add_bar(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.add_bar(x, y, width, height, color); }
     static void add_rectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.add_rectangle(x, y, width, height, color); }
     static void draw_edit_screen_buttons();

+ 1 - 0
Marlin/src/lcd/tft/tft_image.h

@@ -108,6 +108,7 @@ extern const tImage NoLogo;
   extern const tImage MarlinLogo240x250x16;
   extern const tImage MarlinLogo320x240x16;
   extern const tImage MarlinLogo480x320x16;
+  extern const tImage MarlinLogo576x478x16;
   extern const tImage MarlinLogo1024x600x16;
 #endif
 extern const tImage Background320x30x16;

+ 1 - 0
Marlin/src/lcd/tft/themes/theme_ANET_BLACK.h

@@ -48,6 +48,7 @@
 #define COLOR_MENU_TEXT         COLOR_WHITE
 #define COLOR_MENU_STATIC_TEXT  COLOR_WHITE
 #define COLOR_MENU_BACK_TEXT    COLOR_YELLOW
+#define COLOR_MENU_EDIT_TEXT    COLOR_LIME2
 #define COLOR_MENU_VALUE_FONT   COLOR_ORANGE2
 #define COLOR_SLIDER            COLOR_ORANGE2
 #define COLOR_INCREASE          COLOR_WHITE

+ 3 - 0
Marlin/src/lcd/tft/themes/theme_BLUE_MARLIN.h

@@ -112,6 +112,9 @@
 #ifndef COLOR_MENU_BACK_TEXT
   #define COLOR_MENU_BACK_TEXT    COLOR_CYAN
 #endif
+#ifndef COLOR_MENU_EDIT_TEXT
+  #define COLOR_MENU_EDIT_TEXT    COLOR_LIGHT_BLUE
+#endif
 #ifndef COLOR_MENU_VALUE
   #define COLOR_MENU_VALUE        COLOR_WHITE
 #endif

+ 3 - 0
Marlin/src/lcd/tft/themes/theme_default.h

@@ -110,6 +110,9 @@
 #ifndef COLOR_MENU_BACK_TEXT
   #define COLOR_MENU_BACK_TEXT    COLOR_WHITE
 #endif
+#ifndef COLOR_MENU_EDIT_TEXT
+  #define COLOR_MENU_EDIT_TEXT    COLOR_VIVID_GREEN
+#endif
 #ifndef COLOR_MENU_VALUE
   #define COLOR_MENU_VALUE        COLOR_WHITE
 #endif

+ 21 - 19
Marlin/src/lcd/tft/ui_1024x600.h

@@ -58,27 +58,29 @@
 // MarlinUI::show_bootscreen()
 #ifndef BOOTSCREEN_LOGO
   #if ENABLED(BOOT_MARLIN_LOGO_SMALL)
-    #define BOOTSCREEN_LOGO         MarlinLogo195x59x16
-    #define BOOTSCREEN_LOGO_W       195
-    #define BOOTSCREEN_LOGO_H       59
-    #define BOOTSCREEN_SITE_URL_Y   (TFT_HEIGHT - 70)
+    #define BOOTSCREEN_LOGO       MarlinLogo195x59x16
+    #define BOOTSCREEN_LOGO_W     195
+    #define BOOTSCREEN_LOGO_H      59
+    #define BOOTSCREEN_SITE_URL_Y (TFT_HEIGHT - 70)
+  #elif ENABLED(BOOT_MARLIN_LOGO_HUGE)
+    #define BOOTSCREEN_LOGO       MarlinLogo1024x600x16
+    #define BOOTSCREEN_LOGO_W     TFT_WIDTH
+    #define BOOTSCREEN_LOGO_H     TFT_HEIGHT
+    #define BOOTSCREEN_SITE_URL_Y (TFT_HEIGHT - 40)
+  #elif ENABLED(BOOT_MARLIN_LOGO_ROUND)
+    #define BOOTSCREEN_LOGO       MarlinLogo576x478x16
+    #define BOOTSCREEN_LOGO_W     576
+    #define BOOTSCREEN_LOGO_H     478
+    #define BOOTSCREEN_LOGO_Y     ((TFT_HEIGHT - BOOTSCREEN_LOGO_H) / 2 - 10)
+    #define BOOTSCREEN_SITE_URL_Y (TFT_HEIGHT - 50)
   #else
-    #if ENABLED(BOOT_MARLIN_LOGO_HUGE)
-      #define BOOTSCREEN_LOGO       MarlinLogo1024x600x16
-      #define BOOTSCREEN_LOGO_W     TFT_WIDTH
-      #define BOOTSCREEN_LOGO_H     TFT_HEIGHT
-    #else
-      #define BOOTSCREEN_LOGO       MarlinLogo480x320x16
-      #define BOOTSCREEN_LOGO_W     480
-      #define BOOTSCREEN_LOGO_H     320
-    #endif
-    #define BOOTSCREEN_SITE_URL_Y   (TFT_HEIGHT - 90)
+    #define BOOTSCREEN_LOGO       MarlinLogo480x320x16
+    #define BOOTSCREEN_LOGO_W     480
+    #define BOOTSCREEN_LOGO_H     320
+  #endif
+  #ifndef BOOTSCREEN_SITE_URL_Y
+    #define BOOTSCREEN_SITE_URL_Y (TFT_HEIGHT - 90)
   #endif
-#endif
-
-#if !defined(BOOTSCREEN_LOGO_X) && !defined(BOOTSCREEN_LOGO_Y)
-  #define BOOTSCREEN_LOGO_X         (TFT_WIDTH - BOOTSCREEN_LOGO_W) / 2
-  #define BOOTSCREEN_LOGO_Y         (TFT_HEIGHT - BOOTSCREEN_LOGO_H) / 2
 #endif
 
 #if !defined(NAVIGATION_PAGE_UP_X) && !defined(NAVIGATION_PAGE_UP_Y) && !defined(NAVIGATION_PAGE_DOWN_X) && !defined(NAVIGATION_PAGE_DOWN_Y) && !defined(NAVIGATION_BACK_X) && !defined(NAVIGATION_BACK_Y)

Some files were not shown because too many files changed in this diff