Draw content in display loop only when needed
Example for splash screen.
This commit is contained in:
parent
9865318f1c
commit
bf04a92cc0
@ -186,7 +186,7 @@ char lcd_printPGM(const char* str) {
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int8_t show_splashscreed = 2;
|
int8_t show_splashscreen = 2;
|
||||||
|
|
||||||
static void lcd_implementation_init()
|
static void lcd_implementation_init()
|
||||||
{
|
{
|
||||||
@ -221,18 +221,25 @@ static void lcd_implementation_init()
|
|||||||
|
|
||||||
u8g.firstPage();
|
u8g.firstPage();
|
||||||
do {
|
do {
|
||||||
if (show_splashscreed) {
|
switch (show_splashscreen) {
|
||||||
u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
case 2 : {
|
||||||
lcd_setFont(FONT_MENU);
|
u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
||||||
#ifndef STRING_SPLASH_LINE2
|
break;
|
||||||
u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1);
|
}
|
||||||
#else
|
case 1 : {
|
||||||
int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2;
|
lcd_setFont(FONT_MENU);
|
||||||
u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1);
|
#ifndef STRING_SPLASH_LINE2
|
||||||
u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2);
|
u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1);
|
||||||
#endif
|
#else
|
||||||
show_splashscreed--;
|
int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2;
|
||||||
|
u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1);
|
||||||
|
u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
if (show_splashscreen) show_splashscreen--;
|
||||||
} while (u8g.nextPage());
|
} while (u8g.nextPage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user