From 323c1ede5e26c9582a5cd05ecba35c0c888aee57 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Thu, 14 Jul 2005 18:34:07 +0000 Subject: Optimised placement of lcd_set_drawmode() - the whole plugin uses DRMODE_FG. Make sure foreground is reset to black after returning from scrollit(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7143 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/bounce.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c index 03adefb..8ac4202 100644 --- a/apps/plugins/bounce.c +++ b/apps/plugins/bounce.c @@ -315,7 +315,6 @@ static int scrollit(void) return -1; rb->lcd_clear_display(); - rb->lcd_set_drawmode(DRMODE_FG); for(i=0, yy=y, xx=x; i< LETTERS_ON_SCREEN; i++) { letter = rock[(i+textpos) % rocklen ]; @@ -327,7 +326,6 @@ static int scrollit(void) yy += YADD; xx+= DRAW_WIDTH/LETTERS_ON_SCREEN; } - rb->lcd_set_drawmode(DRMODE_SOLID); #ifdef HAVE_RTC addclock(); #endif @@ -408,7 +406,6 @@ static int loopit(void) rb->lcd_putsxy(0, LCD_HEIGHT - 8, buffer); timeout--; } - rb->lcd_set_drawmode(DRMODE_FG); for(i=0, yy=y, xx=x; ilcd_update(); - rb->lcd_set_drawmode(DRMODE_SOLID); ysanke+= values[NUM_YSANKE].num; xsanke+= values[NUM_XSANKE].num; @@ -471,13 +467,18 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) rb->lcd_putsxy(LCD_WIDTH/2-len, LCD_HEIGHT-(2*h), off); rb->lcd_update(); rb->sleep(HZ); - + rb->lcd_set_drawmode(DRMODE_FG); + do { h = loopit(); if (h > 0) h = scrollit(); +#if LCD_DEPTH > 1 + rb->lcd_set_foreground(0); +#endif } while(h > 0); + rb->lcd_set_drawmode(DRMODE_SOLID); rb->lcd_setfont(FONT_UI); return (h == 0) ? PLUGIN_OK : PLUGIN_USB_CONNECTED; -- cgit v1.1