summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_display.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-09-07 02:36:56 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-09-07 02:36:56 +0000
commitfe2f042670a59cf73c3775945df9185d933ca9b4 (patch)
treecbb5efd5f4cad7fd524a43d304e1dbeeddc2cdb1 /apps/gui/skin_engine/skin_display.c
parent8898339fcf07aee644ebcabe77d5a2dd323642ed (diff)
downloadrockbox-fe2f042670a59cf73c3775945df9185d933ca9b4.tar.gz
rockbox-fe2f042670a59cf73c3775945df9185d933ca9b4.zip
rework AA load/display handling in the skins to get them working in viewports again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22646 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r--apps/gui/skin_engine/skin_display.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 01f8b13acb..4a87b69ce4 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -77,6 +77,9 @@ void skin_data_init(struct wps_data *wps_data)
77 wps_data->peak_meter_enabled = false; 77 wps_data->peak_meter_enabled = false;
78 wps_data->images = NULL; 78 wps_data->images = NULL;
79 wps_data->progressbars = NULL; 79 wps_data->progressbars = NULL;
80#ifdef HAVE_ALBUMART
81 wps_data->albumart = NULL;
82#endif
80 /* progress bars */ 83 /* progress bars */
81#else /* HAVE_LCD_CHARCELLS */ 84#else /* HAVE_LCD_CHARCELLS */
82 int i; 85 int i;
@@ -265,6 +268,14 @@ static void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
265 } 268 }
266 list = list->next; 269 list = list->next;
267 } 270 }
271#ifdef HAVE_ALBUMART
272 /* now draw the AA */
273 if (data->albumart && data->albumart->vp == vp && data->albumart->draw)
274 {
275 draw_album_art(gwps, audio_current_aa_hid(), false);
276 }
277#endif
278
268 display->set_drawmode(DRMODE_SOLID); 279 display->set_drawmode(DRMODE_SOLID);
269} 280}
270 281
@@ -465,8 +476,11 @@ static bool evaluate_conditional(struct gui_wps *gwps, int *token_index)
465 clear_image_pos(gwps, find_image(data->tokens[i].value.i&0xFF, gwps->data)); 476 clear_image_pos(gwps, find_image(data->tokens[i].value.i&0xFF, gwps->data));
466#endif 477#endif
467#ifdef HAVE_ALBUMART 478#ifdef HAVE_ALBUMART
468 if (data->tokens[i].type == WPS_TOKEN_ALBUMART_DISPLAY) 479 if (data->albumart && data->tokens[i].type == WPS_TOKEN_ALBUMART_DISPLAY)
480 {
469 draw_album_art(gwps, audio_current_aa_hid(), true); 481 draw_album_art(gwps, audio_current_aa_hid(), true);
482 data->albumart->draw = false;
483 }
470#endif 484#endif
471 } 485 }
472 486
@@ -961,9 +975,9 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode)
961 skin_viewport->hidden_flags |= VP_DRAW_HIDDEN; 975 skin_viewport->hidden_flags |= VP_DRAW_HIDDEN;
962 } 976 }
963 } 977 }
964 978 int viewport_count = 0;
965 for (viewport_list = data->viewports; 979 for (viewport_list = data->viewports;
966 viewport_list; viewport_list = viewport_list->next) 980 viewport_list; viewport_list = viewport_list->next, viewport_count++)
967 { 981 {
968 struct skin_viewport *skin_viewport = 982 struct skin_viewport *skin_viewport =
969 (struct skin_viewport *)viewport_list->token->value.data; 983 (struct skin_viewport *)viewport_list->token->value.data;