diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-10-13 09:46:01 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-10-13 09:46:01 +0000 |
| commit | 0432147f2f2f6a505404ae26f85c0ca22a782bca (patch) | |
| tree | 664a3e82b1e07267b31bd43409e700a4d9351e57 /apps | |
| parent | fb017811aadedaad4de3afccc2fceb7f3a1a9f40 (diff) | |
| download | rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.zip rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.tar.gz rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.tar.bz2 rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.tar.xz | |
Fix FS#11593 - %Vf() and %Vb() should be able to be used in conditionals. Remember that these tags cause a new line to get drawn so text/tags on the same line wont be displayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28266 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/gui/skin_engine/skin_render.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index b3e9c74..a9e6319 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -617,7 +617,17 @@ static void skin_render_viewport(struct skin_element* viewport, struct gui_wps * func = skin_render_line; needs_update = func(line, &info); - +#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) + if (skin_viewport->vp.fg_pattern != skin_viewport->start_fgcolour || + skin_viewport->vp.bg_pattern != skin_viewport->start_bgcolour) + { + /* 2bit lcd drivers need lcd_set_viewport() to be called to change + * the colour, 16bit doesnt. But doing this makes static text + * get the new colour also */ + needs_update = true; + display->set_viewport(&skin_viewport->vp); + } +#endif /* only update if the line needs to be, and there is something to write */ if (refresh_type && needs_update) { |