summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_render.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-12-14 12:53:19 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-12-14 12:53:19 +0000
commit13f1b08388fa2896ebdc0e52920b23a1e9703c40 (patch)
tree7ad05812359467916ea6d66a3afa98f5b49f265d /apps/gui/skin_engine/skin_render.c
parentb3caa010624248930eaf487b5e151bbe2b9b9f27 (diff)
Allow scrolling lines to have their content changed without restarting the scroll line. This means skin lines with dynamic tags can be updated in realtime instead of delayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31247 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_render.c')
-rw-r--r--apps/gui/skin_engine/skin_render.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index e408caaa1e..7b80d8c7a0 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -733,15 +733,10 @@ void skin_render_viewport(struct skin_element* viewport, struct gui_wps *gwps,
/* only update if the line needs to be, and there is something to write */
if (refresh_type && needs_update)
{
- if (info.line_scrolls)
- {
- /* if the line is a scrolling one we don't want to update
- too often, so that it has the time to scroll */
- if ((refresh_type & SKIN_REFRESH_SCROLL) || info.force_redraw)
- write_line(display, align, info.line_number, true, info.text_style);
- }
- else
- write_line(display, align, info.line_number, false, info.text_style);
+ if (!info.force_redraw)
+ display->scroll_stop_line(&skin_viewport->vp, info.line_number);
+ write_line(display, align, info.line_number,
+ info.line_scrolls, info.text_style);
}
if (!info.no_line_break)
info.line_number++;
@@ -907,15 +902,10 @@ 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)
{
- if (info.line_scrolls)
- {
- /* if the line is a scrolling one we don't want to update
- too often, so that it has the time to scroll */
- if ((refresh_type & SKIN_REFRESH_SCROLL) || info.force_redraw)
- write_line(display, align, info.line_number, true, info.text_style);
- }
- else
- write_line(display, align, info.line_number, false, info.text_style);
+ if (!info.force_redraw)
+ display->scroll_stop_line(&skin_viewport->vp, info.line_number);
+ write_line(display, align, info.line_number,
+ info.line_scrolls, info.text_style);
}
info.line_number++;
info.offset++;