summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-player.c
diff options
context:
space:
mode:
authorKjell Ericson <kjell@haxx.se>2003-01-21 14:25:24 +0000
committerKjell Ericson <kjell@haxx.se>2003-01-21 14:25:24 +0000
commitd618fb0cb24761d3a5d4c42092398f60a895948c (patch)
treef932710d8cb4d17ad7f2c9c2f465da2f7440632d /firmware/drivers/lcd-player.c
parent4bea14d6bf07cbf498bca2fa5489f6c6c781a681 (diff)
downloadrockbox-d618fb0cb24761d3a5d4c42092398f60a895948c.tar.gz
rockbox-d618fb0cb24761d3a5d4c42092398f60a895948c.zip
Added lcd_do_puts() as a static function and made lcd_puts() stop any scroll at that line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3140 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/lcd-player.c')
-rw-r--r--firmware/drivers/lcd-player.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/firmware/drivers/lcd-player.c b/firmware/drivers/lcd-player.c
index 17e3923715..29639fc64e 100644
--- a/firmware/drivers/lcd-player.c
+++ b/firmware/drivers/lcd-player.c
@@ -271,11 +271,11 @@ void lcd_clear_display(void)
271 xlcd_update(); 271 xlcd_update();
272} 272}
273 273
274void lcd_puts(int x, int y, unsigned char *string) 274static void lcd_do_puts(int x, int y, unsigned char *string)
275{ 275{
276 bool update=false; 276 bool update=false;
277// lcd_write(true,LCD_CURSOR(x,y)); 277 DEBUGF("lcd_do_puts(%d, %d, \"", x, y);
278 DEBUGF("lcd_puts(%d, %d, \"", x, y); 278
279 for (; *string && x<11; x++) 279 for (; *string && x<11; x++)
280 { 280 {
281#ifdef DEBUGF 281#ifdef DEBUGF
@@ -294,6 +294,12 @@ void lcd_puts(int x, int y, unsigned char *string)
294 if (update) 294 if (update)
295 xlcd_update(); 295 xlcd_update();
296} 296}
297void lcd_puts(int x, int y, unsigned char *string)
298{
299 DEBUGF("lcd_puts(%d, %d)", x, y);
300 scroll[y].mode=SCROLL_MODE_OFF;
301 return lcd_do_puts(x, y, string);
302}
297 303
298void lcd_putc(int x, int y, unsigned short ch) 304void lcd_putc(int x, int y, unsigned short ch)
299{ 305{
@@ -302,7 +308,6 @@ void lcd_putc(int x, int y, unsigned short ch)
302 if (x<0 || y<0) { 308 if (x<0 || y<0) {
303 return; 309 return;
304 } 310 }
305// lcd_write(true,LCD_CURSOR(x,y));
306 update=lcdx_putc(x, y, ch); 311 update=lcdx_putc(x, y, ch);
307 312
308 if (update) 313 if (update)
@@ -458,7 +463,7 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
458 463
459 s = &scroll[y]; 464 s = &scroll[y];
460 465
461 lcd_puts(x,y,string); 466 lcd_do_puts(x,y,string);
462 s->textlen = strlen(string); 467 s->textlen = strlen(string);
463 468
464 if ( s->textlen > 11-x ) { 469 if ( s->textlen > 11-x ) {
@@ -495,7 +500,6 @@ void lcd_stop_scroll(void)
495 s->mode == SCROLL_MODE_PAUSE ) { 500 s->mode == SCROLL_MODE_PAUSE ) {
496 /* restore scrolled row */ 501 /* restore scrolled row */
497 lcd_puts(s->startx, s->starty, s->text); 502 lcd_puts(s->startx, s->starty, s->text);
498 s->mode = SCROLL_MODE_OFF;
499 } 503 }
500 } 504 }
501 505
@@ -511,7 +515,6 @@ void lcd_stop_scroll_line(int line)
511 s->mode == SCROLL_MODE_PAUSE ) { 515 s->mode == SCROLL_MODE_PAUSE ) {
512 /* restore scrolled row */ 516 /* restore scrolled row */
513 lcd_puts(s->startx, s->starty, s->text); 517 lcd_puts(s->startx, s->starty, s->text);
514 s->mode = SCROLL_MODE_OFF;
515 } 518 }
516 519
517 lcd_update(); 520 lcd_update();
@@ -600,8 +603,6 @@ static void scroll_thread(void)
600 if ( TIME_AFTER(current_tick, s->scroll_start_tick) ) { 603 if ( TIME_AFTER(current_tick, s->scroll_start_tick) ) {
601 char buffer[12]; 604 char buffer[12];
602 update = true; 605 update = true;
603 DEBUGF("offset=%d, turn_offset=%d, len=%d",
604 s->offset, s->turn_offset, s->textlen);
605 if ( s->offset < s->textlen-1 ) { 606 if ( s->offset < s->textlen-1 ) {
606 s->offset+=s->direction; 607 s->offset+=s->direction;
607 if (s->offset==0) { 608 if (s->offset==0) {
@@ -628,7 +629,7 @@ static void scroll_thread(void)
628 buffer[i++]=s->text[o++]; 629 buffer[i++]=s->text[o++];
629 } 630 }
630 buffer[11]=0; 631 buffer[11]=0;
631 lcd_puts(s->startx, s->starty, buffer); 632 lcd_do_puts(s->startx, s->starty, buffer);
632 } 633 }
633 } 634 }
634 635