diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-12-14 12:53:19 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-12-14 12:53:19 +0000 |
commit | 13f1b08388fa2896ebdc0e52920b23a1e9703c40 (patch) | |
tree | 7ad05812359467916ea6d66a3afa98f5b49f265d /apps/gui/skin_engine/skin_render.c | |
parent | b3caa010624248930eaf487b5e151bbe2b9b9f27 (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.c | 26 |
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++; |