summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-10-13 09:46:01 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-10-13 09:46:01 +0000
commit0432147f2f2f6a505404ae26f85c0ca22a782bca (patch)
tree664a3e82b1e07267b31bd43409e700a4d9351e57
parentfb017811aadedaad4de3afccc2fceb7f3a1a9f40 (diff)
downloadrockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.tar.gz
rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.tar.bz2
rockbox-0432147f2f2f6a505404ae26f85c0ca22a782bca.zip
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
-rw-r--r--apps/gui/skin_engine/skin_render.c12
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 b3e9c74825..a9e6319317 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)
{