diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/gui/skin_engine/skin_render.c | 9 | ||||
| -rw-r--r-- | apps/screen_access.c | 4 | ||||
| -rw-r--r-- | apps/screen_access.h | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 67f1f0f..28483cb 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -779,7 +779,9 @@ void skin_render_viewport(struct skin_element* viewport, struct gui_wps *gwps, if (refresh_type && needs_update) { if (info.force_redraw) - display->scroll_stop_viewport_line(&skin_viewport->vp, info.line_number); + display->scroll_stop_viewport_rect(&skin_viewport->vp, + 0, info.line_number*display->getcharheight(), + skin_viewport->vp.width, display->getcharheight()); write_line(display, align, info.line_number, info.line_scrolls, info.text_style); } @@ -967,8 +969,11 @@ void skin_render_playlistviewer(struct playlistviewer* viewer, /* only update if the line needs to be, and there is something to write */ if (refresh_type && needs_update) { + struct viewport *vp = SKINOFFSETTOPTR(skin_buffer, viewer->vp); if (!info.force_redraw) - display->scroll_stop_viewport_line(&skin_viewport->vp, info.line_number); + display->scroll_stop_viewport_rect(vp, + 0, info.line_number*display->getcharheight(), + vp->width, display->getcharheight()); write_line(display, align, info.line_number, info.line_scrolls, info.text_style); } diff --git a/apps/screen_access.c b/apps/screen_access.c index 161e596..f454e0a 100644 --- a/apps/screen_access.c +++ b/apps/screen_access.c @@ -247,9 +247,9 @@ struct screen screens[NB_SCREENS] = .scroll_delay=&lcd_scroll_delay, .clear_display=&lcd_clear_display, .clear_viewport=&lcd_clear_viewport, + .scroll_stop_viewport_rect=&lcd_scroll_stop_viewport_rect, .scroll_stop=&lcd_scroll_stop, .scroll_stop_viewport=&lcd_scroll_stop_viewport, - .scroll_stop_viewport_line=&lcd_scroll_stop_viewport_line, .update=&lcd_update, .update_viewport=&lcd_update_viewport, .backlight_on=&backlight_on, @@ -348,9 +348,9 @@ struct screen screens[NB_SCREENS] = .scroll_delay=&lcd_remote_scroll_delay, .clear_display=&lcd_remote_clear_display, .clear_viewport=&lcd_remote_clear_viewport, + .scroll_stop_viewport_rect=&lcd_remote_scroll_stop_viewport_rect, .scroll_stop=&lcd_remote_scroll_stop, .scroll_stop_viewport=&lcd_remote_scroll_stop_viewport, - .scroll_stop_viewport_line=&lcd_remote_scroll_stop_viewport_line, .update=&lcd_remote_update, .update_viewport=&lcd_remote_update_viewport, .backlight_on=&remote_backlight_on, diff --git a/apps/screen_access.h b/apps/screen_access.h index 448437c..90b63ea 100644 --- a/apps/screen_access.h +++ b/apps/screen_access.h @@ -149,7 +149,7 @@ struct screen void (*clear_viewport)(void); void (*scroll_stop)(void); void (*scroll_stop_viewport)(const struct viewport *vp); - void (*scroll_stop_viewport_line)(const struct viewport *vp, int line); + void (*scroll_stop_viewport_rect)(const struct viewport* vp, int x, int y, int width, int height); void (*update)(void); void (*update_viewport)(void); void (*backlight_on)(void); |