summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_render.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2010-10-10 23:46:15 +0000
committerFrank Gevaerts <frank@gevaerts.be>2010-10-10 23:46:15 +0000
commit1f0ab7c9e636ba3e88700b1b6fb75e876a0f0a44 (patch)
tree4b030482b9f788e673a4b74cbbb7e83f67118615 /apps/gui/skin_engine/skin_render.c
parent5462ef728fd41a6db4d1d784c478416ceeebf588 (diff)
downloadrockbox-1f0ab7c9e636ba3e88700b1b6fb75e876a0f0a44.tar.gz
rockbox-1f0ab7c9e636ba3e88700b1b6fb75e876a0f0a44.zip
Fix charcell %pb and %pf tags, FS#11592
This also moves draw_player_fullbar() and draw_player_progress() from skin_display.c to skin_tokens.c. Charcell is a bit different from bitmap here because drawing a progress bar is a combination of setting up the LCD controller (custom characters) and providing a format string. The custom character definition might fit in skin_display.c, but the format strings are needed in skin_tokens.c. Putting these functions in skin_tokens.c seemed to fit better. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28241 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_render.c')
-rw-r--r--apps/gui/skin_engine/skin_render.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index bd86c0bdf8..9b86380ade 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -83,10 +83,14 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info,
83{ 83{
84#ifndef HAVE_LCD_BITMAP 84#ifndef HAVE_LCD_BITMAP
85 (void)vp; /* silence warnings */ 85 (void)vp; /* silence warnings */
86 (void)info;
86#endif 87#endif
87 struct wps_token *token = (struct wps_token *)element->data; 88 struct wps_token *token = (struct wps_token *)element->data;
89
90#ifdef HAVE_LCD_BITMAP
88 struct wps_data *data = gwps->data; 91 struct wps_data *data = gwps->data;
89 bool do_refresh = (element->tag->flags & info->refresh_type) > 0; 92 bool do_refresh = (element->tag->flags & info->refresh_type) > 0;
93#endif
90 switch (token->type) 94 switch (token->type)
91 { 95 {
92#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) 96#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1))
@@ -137,22 +141,14 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info,
137#endif 141#endif
138 case SKIN_TOKEN_VOLUMEBAR: 142 case SKIN_TOKEN_VOLUMEBAR:
139 case SKIN_TOKEN_BATTERY_PERCENTBAR: 143 case SKIN_TOKEN_BATTERY_PERCENTBAR:
144#ifdef HAVE_LCD_BITMAP
140 case SKIN_TOKEN_PROGRESSBAR: 145 case SKIN_TOKEN_PROGRESSBAR:
141 { 146 {
142#ifdef HAVE_LCD_BITMAP
143 struct progressbar *bar = (struct progressbar*)token->value.data; 147 struct progressbar *bar = (struct progressbar*)token->value.data;
144 if (do_refresh) 148 if (do_refresh)
145 draw_progressbar(gwps, info->line_number, bar); 149 draw_progressbar(gwps, info->line_number, bar);
146#else /* HAVE_LCD_CHARCELL */
147 if (do_refresh)
148 {
149 if (data->full_line_progressbar)
150 draw_player_fullbar(gwps, info->buf, info->buf_size);
151 else
152 draw_player_progress(gwps);
153 }
154#endif
155 } 150 }
151#endif
156 break; 152 break;
157#ifdef HAVE_LCD_BITMAP 153#ifdef HAVE_LCD_BITMAP
158 case SKIN_TOKEN_IMAGE_DISPLAY_LISTICON: 154 case SKIN_TOKEN_IMAGE_DISPLAY_LISTICON: