diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-08-26 10:30:11 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-08-26 10:30:11 +0000 |
commit | b5aceb8d2b2c60e8a00c0b27271652256119b8f3 (patch) | |
tree | 3b9883510a6e5bd51632169ecbd61aabf4f28131 /firmware/drivers | |
parent | 446828b2fb06ee9a38e388f61af4cc150552bb82 (diff) | |
download | rockbox-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
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/lcd.c | 13 |
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 | } |