Browse Source

Merge pull request #3685 from gudnimg/sd_menu_optimisation

Optimisation: Reduce code size in rendering SD file names and folders
Alex Voinea 1 năm trước cách đây
mục cha
commit
b846b9b70d
1 tập tin đã thay đổi với 8 bổ sung21 xóa
  1. 8 21
      Firmware/ultralcd.cpp

+ 8 - 21
Firmware/ultralcd.cpp

@@ -297,32 +297,19 @@ const char STR_SEPARATOR[] PROGMEM = "------------";
 
 static void lcd_implementation_drawmenu_sdfile(uint8_t row, const char* longFilename)
 {
-    char c;
-    uint8_t n = LCD_WIDTH - 1;
+    uint8_t len = LCD_WIDTH - 1;
     lcd_set_cursor(0, row);
-	lcd_print((lcd_encoder == menu_item)?'>':' ');
-    while( ((c = *longFilename) != '\0') && (n>0) )
-    {
-        lcd_print(c);
-        longFilename++;
-        n--;
-    }
-    lcd_space(n);
+    lcd_print((lcd_encoder == menu_item)?'>':' ');
+    lcd_print_pad(longFilename, len);
 }
+
 static void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* longFilename)
 {
-    char c;
-    uint8_t n = LCD_WIDTH - 2;
+    uint8_t len = LCD_WIDTH - 2;
     lcd_set_cursor(0, row);
-	lcd_print((lcd_encoder == menu_item)?'>':' ');
-	lcd_print(LCD_STR_FOLDER[0]);
-    while( ((c = *longFilename) != '\0') && (n>0) )
-    {
-        lcd_print(c);
-        longFilename++;
-        n--;
-    }
-    lcd_space(n);
+    lcd_print((lcd_encoder == menu_item)?'>':' ');
+    lcd_print(LCD_STR_FOLDER[0]);
+    lcd_print_pad(longFilename, len);
 }