Merge pull request #3515 from thinkyhead/rc_wider_splash
On wider screens show a wider splash page, if possible
This commit is contained in:
		
						commit
						773229b020
					
				| @ -445,6 +445,13 @@ unsigned lcd_print(char c) { return charset_mapper(c); } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   inline void logo_lines(const char *extra) { | ||||
|     int indent = (LCD_WIDTH - 8 - lcd_strlen_P(extra)) / 2; | ||||
|     lcd.setCursor(indent, 0); lcd.print('\x00'); lcd_printPGM(PSTR( "------" ));  lcd.print('\x01'); | ||||
|     lcd.setCursor(indent, 1);                    lcd_printPGM(PSTR("|Marlin|"));  lcd_printPGM(extra); | ||||
|     lcd.setCursor(indent, 2); lcd.print('\x02'); lcd_printPGM(PSTR( "------" ));  lcd.print('\x03'); | ||||
|   } | ||||
| 
 | ||||
|   static void bootscreen() { | ||||
|     show_bootscreen = false; | ||||
|     byte top_left[8] = { | ||||
| @ -494,22 +501,44 @@ unsigned lcd_print(char c) { return charset_mapper(c); } | ||||
| 
 | ||||
|     lcd.clear(); | ||||
| 
 | ||||
|     #define TEXT_SCREEN_LOGO_SHIFT ((LCD_WIDTH/2) - 4) | ||||
|     lcd.setCursor(TEXT_SCREEN_LOGO_SHIFT, 0); lcd.print('\x00'); lcd_printPGM(PSTR( "------" ));  lcd.print('\x01'); | ||||
|     lcd.setCursor(TEXT_SCREEN_LOGO_SHIFT, 1);                    lcd_printPGM(PSTR("|Marlin|")); | ||||
|     lcd.setCursor(TEXT_SCREEN_LOGO_SHIFT, 2); lcd.print('\x02'); lcd_printPGM(PSTR( "------" ));  lcd.print('\x03'); | ||||
| 
 | ||||
|     delay(2000); | ||||
|     #define LCD_EXTRA_SPACE (LCD_WIDTH-8) | ||||
| 
 | ||||
|     #ifdef STRING_SPLASH_LINE1 | ||||
|       lcd_erase_line(3); | ||||
|       lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE1), LCD_WIDTH, 1000); | ||||
|       // Combine into a single splash screen if possible
 | ||||
|       if (LCD_EXTRA_SPACE >= strlen(STRING_SPLASH_LINE1) + 1) { | ||||
|         logo_lines(PSTR(" " STRING_SPLASH_LINE1)); | ||||
|         #ifdef STRING_SPLASH_LINE2 | ||||
|           lcd_erase_line(3); | ||||
|           lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE2), LCD_WIDTH, 2000); | ||||
|         #else | ||||
|           delay(2000); | ||||
|         #endif | ||||
|       } | ||||
|       else { | ||||
|         logo_lines(PSTR("")); | ||||
|         lcd_erase_line(3); | ||||
|         lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE1), LCD_WIDTH, 1500); | ||||
|         #ifdef STRING_SPLASH_LINE2 | ||||
|           lcd_erase_line(3); | ||||
|           lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE2), LCD_WIDTH, 1500); | ||||
|         #endif | ||||
|       } | ||||
|     #elif defined(STRING_SPLASH_LINE2) | ||||
|       // Combine into a single splash screen if possible
 | ||||
|       if (LCD_EXTRA_SPACE >= strlen(STRING_SPLASH_LINE2) + 1) { | ||||
|         logo_lines(PSTR(" " STRING_SPLASH_LINE2)); | ||||
|         delay(2000); | ||||
|       } | ||||
|       else { | ||||
|         logo_lines(PSTR("")); | ||||
|         lcd_erase_line(3); | ||||
|         lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE2), LCD_WIDTH, 2000); | ||||
|       } | ||||
|     #else | ||||
|       logo_lines(PSTR("")); | ||||
|       delay(2000); | ||||
|     #endif | ||||
| 
 | ||||
|     #ifdef STRING_SPLASH_LINE2 | ||||
|       lcd_erase_line(3); | ||||
|       lcd_scroll(0, 3, PSTR(STRING_SPLASH_LINE2), LCD_WIDTH, 1000); | ||||
|     #endif | ||||
|   } | ||||
| 
 | ||||
| #endif // SHOW_BOOTSCREEN
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user