From a4ef0c48976d9d33aaa64b32827974bdd51f7614 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Tue, 27 Mar 2007 22:14:53 +0000 Subject: [PATCH] (all targets) Increase scrolling line size to account for utf-8 in the overlap. (player) Fix utf-8-related scroll-around display bug. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12943 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/lcd-charcell.c | 2 +- firmware/export/lcd.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/firmware/drivers/lcd-charcell.c b/firmware/drivers/lcd-charcell.c index ce0eca94ca..e68b35aa92 100644 --- a/firmware/drivers/lcd-charcell.c +++ b/firmware/drivers/lcd-charcell.c @@ -520,7 +520,7 @@ void lcd_puts_scroll_offset(int x, int y, const unsigned char *string, } end = strchr(s->line, '\0'); - strncpy(end, string, LCD_WIDTH); + strncpy(end, string, utf8seek(s->line, LCD_WIDTH)); s->offset = offset; s->startx = xmargin + x; diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index 0d56389480..48de53ada3 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h @@ -382,9 +382,9 @@ extern void lcd_bitmap_transparent(const fb_data *src, int x, int y, /* internal usage, but in multiple drivers */ #define SCROLL_SPACING 3 #ifdef HAVE_LCD_BITMAP -#define SCROLL_LINE_SIZE (MAX_PATH + LCD_WIDTH/2 + SCROLL_SPACING + 2) +#define SCROLL_LINE_SIZE (MAX_PATH + SCROLL_SPACING + 3*LCD_WIDTH/2 + 2) #else -#define SCROLL_LINE_SIZE (MAX_PATH + LCD_WIDTH + SCROLL_SPACING + 2) +#define SCROLL_LINE_SIZE (MAX_PATH + SCROLL_SPACING + 3*LCD_WIDTH + 2) #endif struct scrollinfo {