From 5b0521c9aadee11886e2c92df7d768d5e76063a6 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 7 Jun 2010 03:44:11 +0000 Subject: Changeover to the new skin format. SkinBreakingChange in the wiki has the runown of the changes. Major changes are paramerterised tags now use %tag(param,param), colours are removed from the %V() tag, %Vi gets a required (but can be -) label as its first param). utils/skinupdater/ has a program to update individual skins, and a perl script to update a whole zip. Themesite will be unusable for the time being (you should be able to upload new themes once it updates checkwps though). I obviously havnt tested every updated wps in this change so let me know if one doesnt load git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26641 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_display.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'apps/gui/skin_engine/skin_display.c') diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index 848a09eced..6759521473 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c @@ -755,7 +755,20 @@ static bool get_line(struct gui_wps *gwps, skip to the end of the conditional structure */ i = find_conditional_end(data, i); break; - +#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) + case WPS_TOKEN_VIEWPORT_FGCOLOUR: + { + struct viewport_colour *col = data->tokens[i].value.data; + col->vp->fg_pattern = col->colour; + } + break; + case WPS_TOKEN_VIEWPORT_BGCOLOUR: + { + struct viewport_colour *col = data->tokens[i].value.data; + col->vp->bg_pattern = col->colour; + } + break; +#endif #ifdef HAVE_LCD_BITMAP case WPS_TOKEN_PEAKMETER: data->peak_meter_enabled = true; @@ -1208,14 +1221,16 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode) } } } - int viewport_count = 0; for (viewport_list = data->viewports; - viewport_list; viewport_list = viewport_list->next, viewport_count++) + viewport_list; viewport_list = viewport_list->next) { struct skin_viewport *skin_viewport = (struct skin_viewport *)viewport_list->token->value.data; unsigned vp_refresh_mode = refresh_mode; - +#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1) + skin_viewport->vp.fg_pattern = skin_viewport->start_fgcolour; + skin_viewport->vp.bg_pattern = skin_viewport->start_bgcolour; +#endif display->set_viewport(&skin_viewport->vp); int hidden_vp = 0; -- cgit v1.2.3