Browse Source
Space-separate scrolling Status Message (#21523)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
vanilla_fb_2.0.x
XDA-Bam
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
32 additions and
20 deletions
-
Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
-
Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp
-
Marlin/src/lcd/dogm/status_screen_DOGM.cpp
-
Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp
|
|
@ -684,12 +684,15 @@ void MarlinUI::draw_status_message(const bool blink) { |
|
|
|
|
|
|
|
// If the remaining string doesn't completely fill the screen
|
|
|
|
if (rlen < LCD_WIDTH) { |
|
|
|
lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot
|
|
|
|
uint8_t chars = LCD_WIDTH - rlen; // Amount of space left in characters
|
|
|
|
if (--chars) { // Draw a second dot if there's space
|
|
|
|
lcd_put_wchar('.'); |
|
|
|
if (--chars) |
|
|
|
lcd_put_u8str_max(status_message, chars); // Print a second copy of the message
|
|
|
|
lcd_put_wchar(' '); // Always at 1+ spaces left, draw a space
|
|
|
|
if (--chars) { // Draw a second space if there's room
|
|
|
|
lcd_put_wchar(' '); |
|
|
|
if (--chars) { // Draw a third space if there's room
|
|
|
|
lcd_put_wchar(' '); |
|
|
|
if (--chars) |
|
|
|
lcd_put_u8str_max(status_message, chars); // Print a second copy of the message
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (last_blink != blink) { |
|
|
|
|
|
@ -581,12 +581,15 @@ void MarlinUI::draw_status_message(const bool blink) { |
|
|
|
|
|
|
|
// If the remaining string doesn't completely fill the screen
|
|
|
|
if (rlen < LCD_WIDTH) { |
|
|
|
lcd.write('.'); // Always at 1+ spaces left, draw a dot
|
|
|
|
uint8_t chars = LCD_WIDTH - rlen; // Amount of space left in characters
|
|
|
|
if (--chars) { // Draw a second dot if there's space
|
|
|
|
lcd.write('.'); |
|
|
|
if (--chars) |
|
|
|
lcd_put_u8str_max(status_message, chars); // Print a second copy of the message
|
|
|
|
lcd.write(' '); // Always at 1+ spaces left, draw a space
|
|
|
|
if (--chars) { // Draw a second space if there's room
|
|
|
|
lcd.write(' '); |
|
|
|
if (--chars) { // Draw a third space if there's room
|
|
|
|
lcd.write(' '); |
|
|
|
if (--chars) |
|
|
|
lcd_put_u8str_max(status_message, chars); // Print a second copy of the message
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (last_blink != blink) { |
|
|
|
|
|
@ -959,13 +959,16 @@ void MarlinUI::draw_status_message(const bool blink) { |
|
|
|
|
|
|
|
// If the remaining string doesn't completely fill the screen
|
|
|
|
if (rlen < lcd_width) { |
|
|
|
lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot
|
|
|
|
uint8_t chars = lcd_width - rlen; // Amount of space left in characters
|
|
|
|
if (--chars) { // Draw a second dot if there's space
|
|
|
|
lcd_put_wchar('.'); |
|
|
|
if (--chars) { // Print a second copy of the message
|
|
|
|
lcd_put_u8str_max(status_message, pixel_width - (rlen + 2) * (MENU_FONT_WIDTH)); |
|
|
|
lcd_put_wchar(' '); // Always at 1+ spaces left, draw a space
|
|
|
|
if (--chars) { // Draw a second space if there's room
|
|
|
|
lcd_put_wchar(' '); |
|
|
|
if (--chars) { // Draw a third space if there's room
|
|
|
|
lcd_put_wchar(' '); |
|
|
|
if (--chars) { // Print a second copy of the message
|
|
|
|
lcd_put_u8str_max(status_message, pixel_width - (rlen + 2) * (MENU_FONT_WIDTH)); |
|
|
|
lcd_put_wchar(' '); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
@ -642,11 +642,14 @@ void ST7920_Lite_Status_Screen::draw_status_message() { |
|
|
|
|
|
|
|
// If the remaining string doesn't completely fill the screen
|
|
|
|
if (rlen < TEXT_MODE_LCD_WIDTH) { |
|
|
|
write_byte('.'); // Always at 1+ spaces left, draw a dot
|
|
|
|
uint8_t chars = TEXT_MODE_LCD_WIDTH - rlen; // Amount of space left in characters
|
|
|
|
if (--chars) { // Draw a second dot if there's space
|
|
|
|
write_byte('.'); |
|
|
|
if (--chars) write_str(str, chars); // Print a second copy of the message
|
|
|
|
uint8_t chars = TEXT_MODE_LCD_WIDTH - rlen; // Amount of space left in characters
|
|
|
|
write_byte(' '); // Always at 1+ spaces left, draw a space
|
|
|
|
if (--chars) { // Draw a second space if there's room
|
|
|
|
write_byte(' '); |
|
|
|
if (--chars) { // Draw a third space if there's room
|
|
|
|
write_byte(' '); |
|
|
|
if (--chars) write_str(str, chars); // Print a second copy of the message
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
ui.advance_status_scroll(); |
|
|
|