mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-07-10 13:29:52 -04:00
gui: skin_display: draw album art first
Some themes, such as Themify, FreshOS, iPod reFresh, Jive, iPodOS, iPone, iClassic, AbsoluteBlack320, and possibly others, draw a mask over the album art on the foreground layer, in order to add rounded corners or to apply a fake camera perspective (instead of taking advantage of the backdrop layer). This results in rendering glitches that can be fixed by drawing the album art first. Change-Id: Ie373c51304ab0d0a09b8663a8adff343a32ae5bb
This commit is contained in:
parent
0c8365a286
commit
2a29dedeb6
1 changed files with 10 additions and 10 deletions
|
|
@ -410,8 +410,17 @@ void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
|
|||
(void)vp;
|
||||
struct wps_data *data = gwps->data;
|
||||
struct screen *display = gwps->display;
|
||||
struct skin_token_list *list = SKINOFFSETTOPTR(get_skin_buffer(data), data->images);
|
||||
|
||||
/* Start with album art, as it may be drawn over by mask images */
|
||||
#ifdef HAVE_ALBUMART
|
||||
struct skin_albumart *aa = SKINOFFSETTOPTR(get_skin_buffer(data), data->albumart);
|
||||
if (aa && aa->draw_handle >= 0)
|
||||
{
|
||||
draw_album_art(gwps, aa->draw_handle, false);
|
||||
aa->draw_handle = -1;
|
||||
}
|
||||
#endif
|
||||
struct skin_token_list *list = SKINOFFSETTOPTR(get_skin_buffer(data), data->images);
|
||||
while (list)
|
||||
{
|
||||
struct wps_token *token = SKINOFFSETTOPTR(get_skin_buffer(data), list->token);
|
||||
|
|
@ -433,15 +442,6 @@ void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
|
|||
}
|
||||
list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next);
|
||||
}
|
||||
#ifdef HAVE_ALBUMART
|
||||
/* now draw the AA */
|
||||
struct skin_albumart *aa = SKINOFFSETTOPTR(get_skin_buffer(data), data->albumart);
|
||||
if (aa && aa->draw_handle >= 0)
|
||||
{
|
||||
draw_album_art(gwps, aa->draw_handle, false);
|
||||
aa->draw_handle = -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
display->set_drawmode(DRMODE_SOLID);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue