summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-08-09 18:44:49 +0000
committerThomas Martitz <kugel@rockbox.org>2009-08-09 18:44:49 +0000
commita1b0e165ccf3f65119e43751bb77ee772e89da51 (patch)
tree6c6d2aed3fd2080f53fded06e2f74d2fa1b082a2 /apps
parentf909428321ce297758358dcfcf75ad23871c2819 (diff)
downloadrockbox-a1b0e165ccf3f65119e43751bb77ee772e89da51.tar.gz
rockbox-a1b0e165ccf3f65119e43751bb77ee772e89da51.zip
Don't set the drawmode twice and simplify two cases in viewport_parse_viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22227 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/skin_engine/wps_parser.c3
-rw-r--r--apps/gui/viewport.c37
2 files changed, 19 insertions, 21 deletions
diff --git a/apps/gui/skin_engine/wps_parser.c b/apps/gui/skin_engine/wps_parser.c
index 9671d7c4dc..4a41a26c7d 100644
--- a/apps/gui/skin_engine/wps_parser.c
+++ b/apps/gui/skin_engine/wps_parser.c
@@ -625,9 +625,6 @@ static int parse_viewport(const char *wps_bufptr,
625 struct viewport *vp = &wps_data->viewports[wps_data->num_viewports].vp; 625 struct viewport *vp = &wps_data->viewports[wps_data->num_viewports].vp;
626 /* format: %V|x|y|width|height|font|fg_pattern|bg_pattern| */ 626 /* format: %V|x|y|width|height|font|fg_pattern|bg_pattern| */
627 627
628 /* Set the defaults for fields not user-specified */
629 vp->drawmode = DRMODE_SOLID;
630
631 if (!(ptr = viewport_parse_viewport(vp, screen, ptr, '|'))) 628 if (!(ptr = viewport_parse_viewport(vp, screen, ptr, '|')))
632 return WPS_ERROR_INVALID_PARAM; 629 return WPS_ERROR_INVALID_PARAM;
633 630
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index a2c4351d03..2819d36625 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -168,6 +168,12 @@ void viewportmanager_statusbar_changed(void* data)
168 viewportmanager_set_statusbar(statusbar_enabled); 168 viewportmanager_set_statusbar(statusbar_enabled);
169} 169}
170 170
171#ifdef HAVE_LCD_COLOR
172#define ARG_STRING (depth == 2 ? "dddddgg":"dddddcc")
173#else
174#define ARG_STRING "dddddcc"
175#endif
176
171#ifdef HAVE_LCD_BITMAP 177#ifdef HAVE_LCD_BITMAP
172const char* viewport_parse_viewport(struct viewport *vp, 178const char* viewport_parse_viewport(struct viewport *vp,
173 enum screen_type screen, 179 enum screen_type screen,
@@ -191,31 +197,25 @@ const char* viewport_parse_viewport(struct viewport *vp,
191 197
192 /* Work out the depth of this display */ 198 /* Work out the depth of this display */
193 depth = screens[screen].depth; 199 depth = screens[screen].depth;
194#ifdef HAVE_LCD_COLOR 200#if (LCD_DEPTH == 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH == 1)
195 if (depth == 16) 201 if (depth == 1)
196 { 202 {
197 if (!(ptr = parse_list("dddddcc", &set, separator, ptr, &vp->x, &vp->y, &vp->width, 203 if (!(ptr = parse_list("ddddd", &set, separator, ptr,
198 &vp->height, &vp->font, &vp->fg_pattern,&vp->bg_pattern))) 204 &vp->x, &vp->y, &vp->width, &vp->height, &vp->font)))
199 return VP_ERROR;
200 }
201 else
202#endif
203#if (LCD_DEPTH == 2) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH == 2)
204 if (depth == 2) {
205 if (!(ptr = parse_list("dddddgg", &set, separator, ptr, &vp->x, &vp->y, &vp->width,
206 &vp->height, &vp->font, &vp->fg_pattern, &vp->bg_pattern)))
207 return VP_ERROR; 205 return VP_ERROR;
208 } 206 }
209 else 207 else
210#endif 208#endif
211#if (LCD_DEPTH == 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH == 1) 209#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1)
212 if (depth == 1) 210 if (depth >= 2)
213 { 211 {
214 if (!(ptr = parse_list("ddddd", &set, separator, ptr, &vp->x, &vp->y, &vp->width, 212 if (!(ptr = parse_list(ARG_STRING, &set, separator, ptr,
215 &vp->height, &vp->font))) 213 &vp->x, &vp->y, &vp->width, &vp->height, &vp->font,
214 &vp->fg_pattern,&vp->bg_pattern)))
216 return VP_ERROR; 215 return VP_ERROR;
217 } 216 }
218 else 217 else
218#undef ARG_STRING
219#endif 219#endif
220 {} 220 {}
221 221
@@ -254,7 +254,8 @@ const char* viewport_parse_viewport(struct viewport *vp,
254 || !LIST_VALUE_PARSED(set, PL_FONT) 254 || !LIST_VALUE_PARSED(set, PL_FONT)
255 ) 255 )
256 vp->font = FONT_UI; 256 vp->font = FONT_UI;
257 257
258 /* Set the defaults for fields not user-specified */
258 vp->drawmode = DRMODE_SOLID; 259 vp->drawmode = DRMODE_SOLID;
259 260
260 return ptr; 261 return ptr;