summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-08-26 10:30:11 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-08-26 10:30:11 +0000
commitb5aceb8d2b2c60e8a00c0b27271652256119b8f3 (patch)
tree3b9883510a6e5bd51632169ecbd61aabf4f28131
parent446828b2fb06ee9a38e388f61af4cc150552bb82 (diff)
downloadrockbox-b5aceb8d2b2c60e8a00c0b27271652256119b8f3.tar.gz
rockbox-b5aceb8d2b2c60e8a00c0b27271652256119b8f3.zip
Propfont fix/kludge for the scroll code. Now doesn't garble the line and should start scrolling the lines that need it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1981 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/lcd.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 4c36ee19e3..4d805b2506 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -1282,13 +1282,24 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
1282 1282
1283 lcd_puts(x,y,string); 1283 lcd_puts(x,y,string);
1284 s->textlen = strlen(string); 1284 s->textlen = strlen(string);
1285
1286
1287#if defined(LCD_PROPFONTS) || defined(LOADABLE_FONTS)
1288 s->space += 2;
1289 lcd_getstringsize(string,0,&w,&h);
1290 if ( w > LCD_WIDTH - xmargin ) {
1291#else
1285 if ( s->textlen > s->space ) { 1292 if ( s->textlen > s->space ) {
1293#endif
1286 s->offset=s->space; 1294 s->offset=s->space;
1287 s->startx=x; 1295 s->startx=x;
1288 s->starty=y; 1296 s->starty=y;
1289 strncpy(s->text,string,sizeof s->text); 1297 strncpy(s->text,string,sizeof s->text);
1290 s->text[sizeof s->text - 1] = 0; 1298 s->text[sizeof s->text - 1] = 0;
1291 strncpy(s->line,string,sizeof s->line); 1299 memset(s->line, 0, sizeof s->line);
1300 strncpy(s->line,string,
1301 s->space > (int)sizeof s->line ?
1302 (int)sizeof s->line : s->space );
1292 s->line[sizeof s->line - 1] = 0; 1303 s->line[sizeof s->line - 1] = 0;
1293 scroll_count = 1; 1304 scroll_count = 1;
1294 } 1305 }