summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-07-14 18:34:07 +0000
committerJens Arnold <amiconn@rockbox.org>2005-07-14 18:34:07 +0000
commit323c1ede5e26c9582a5cd05ecba35c0c888aee57 (patch)
treebe653ded66de9d313046e2f79aaa750ead7ee117 /apps/plugins
parent34a610b1c1a688ebc3ba5e2afe9bde92d1fefa7d (diff)
downloadrockbox-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.c11
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;