diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2005-07-14 18:34:07 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2005-07-14 18:34:07 +0000 |
| commit | 323c1ede5e26c9582a5cd05ecba35c0c888aee57 (patch) | |
| tree | be653ded66de9d313046e2f79aaa750ead7ee117 /apps/plugins | |
| parent | 34a610b1c1a688ebc3ba5e2afe9bde92d1fefa7d (diff) | |
| download | rockbox-323c1ede5e26c9582a5cd05ecba35c0c888aee57.zip rockbox-323c1ede5e26c9582a5cd05ecba35c0c888aee57.tar.gz rockbox-323c1ede5e26c9582a5cd05ecba35c0c888aee57.tar.bz2 rockbox-323c1ede5e26c9582a5cd05ecba35c0c888aee57.tar.xz | |
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
Diffstat (limited to 'apps/plugins')
| -rw-r--r-- | apps/plugins/bounce.c | 11 |
1 files 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; i<rocklen; i++, yy+=values[NUM_YDIST].num, xx+=values[NUM_XDIST].num) @@ -416,7 +413,6 @@ static int loopit(void) xtable[xx&(TABLE_SIZE-1)], table[yy&(TABLE_SIZE-1)], 11, 16); rb->lcd_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; |