diff options
author | William Wilgus <wilgus.william@gmail.com> | 2020-10-26 14:11:38 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2020-10-26 14:35:30 -0400 |
commit | ada919fc1122c314b239212a40d15c5ab131becd (patch) | |
tree | b5548c421e1b22c02a0c053a6db97e650eb7f139 | |
parent | 9b295ce13577b5e2c2c7c122d1325a02d4569320 (diff) | |
download | rockbox-ada919f.tar.gz rockbox-ada919f.zip |
FIX RED framebuffer viewport rewrite
Change-Id: I4cb8f580e15440d06f8d5fabb2fbf5147c67b49c
-rw-r--r-- | apps/plugins/rockboy/lcd.c | 3 | ||||
-rw-r--r-- | firmware/drivers/lcd-bitmap-common.c | 10 | ||||
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/lcd-x5.c | 2 |
3 files changed, 9 insertions, 6 deletions
diff --git a/apps/plugins/rockboy/lcd.c b/apps/plugins/rockboy/lcd.c index 92db851ee8..c53df5ce01 100644 --- a/apps/plugins/rockboy/lcd.c +++ b/apps/plugins/rockboy/lcd.c @@ -885,6 +885,9 @@ void lcd_refreshline(void) return; #endif +#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256) + fb_data *lcd_fb = get_framebuffer(); +#endif updatepatpix(); L = R_LY; diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c index 183ab75820..d195fd8ebe 100644 --- a/firmware/drivers/lcd-bitmap-common.c +++ b/firmware/drivers/lcd-bitmap-common.c @@ -332,8 +332,8 @@ static void LCDFN(putsxyofs)(int x, int y, int ofs, const unsigned char *str) static void LCDFN(putsxyofs)(int x, int y, int ofs, const unsigned char *str) { unsigned short *ucs; - struct font* pf = font_get(LCDFN(current_vp)->font); - int vp_flags = current_vp->flags; + struct font* pf = font_get(LCDFN(current_viewport)->font); + int vp_flags = LCDFN(current_viewport)->flags; const unsigned char *bits; int width; @@ -345,13 +345,13 @@ static void LCDFN(putsxyofs)(int x, int y, int ofs, const unsigned char *str) /* center takes precedence */ if (vp_flags & VP_FLAG_ALIGN_CENTER) { - x = ((current_vp->width - w)/ 2) + x; + x = ((LCDFN(current_viewport)->width - w)/ 2) + x; if (x < 0) x = 0; } else { - x = current_vp->width - w - x; + x = LCDFN(current_viewport)->width - w - x; x += ofs; ofs = 0; } @@ -362,7 +362,7 @@ static void LCDFN(putsxyofs)(int x, int y, int ofs, const unsigned char *str) { const unsigned short next_ch = ucs[1]; - if (x >= current_vp->width) + if (x >= LCDFN(current_viewport)->width) break; /* Get proportional width and glyph bits */ diff --git a/firmware/target/coldfire/iaudio/x5/lcd-x5.c b/firmware/target/coldfire/iaudio/x5/lcd-x5.c index cf6e301c16..266a381c40 100644 --- a/firmware/target/coldfire/iaudio/x5/lcd-x5.c +++ b/firmware/target/coldfire/iaudio/x5/lcd-x5.c @@ -494,7 +494,7 @@ void lcd_update(void) lcd_begin_write_gram(); - lcd_write_data((unsigned short *)lcd_framebuffer, LCD_WIDTH*LCD_HEIGHT); + lcd_write_data((unsigned short *)FBADDR(0,0), LCD_WIDTH*LCD_HEIGHT); } /* lcd_update */ /* Update a fraction of the display. */ |