diff options
author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-11-12 01:31:42 +0000 |
---|---|---|
committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-11-12 01:31:42 +0000 |
commit | 81dedee7d050e2b52dfe1a294dbd349c4fe79155 (patch) | |
tree | 23cd47d71b9f6aead2d3d83b0b0131a36f806709 /apps/recorder | |
parent | 49639257677ab98dc4730bebf1044ea1ca7591b0 (diff) | |
download | rockbox-81dedee7d050e2b52dfe1a294dbd349c4fe79155.tar.gz rockbox-81dedee7d050e2b52dfe1a294dbd349c4fe79155.zip |
Various album art improvements:
* Make the album art display tag static instead of dynamic, making it be drawn less often, which is good.
* Add the possibility of clearing the album art bitmap instead of drawing it, and use this abaility when the display tag is inside a conditional construct.
* Add the album art display tag to wps_debug.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15592 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/recorder')
-rw-r--r-- | apps/recorder/albumart.c | 25 | ||||
-rw-r--r-- | apps/recorder/albumart.h | 5 |
2 files changed, 21 insertions, 9 deletions
diff --git a/apps/recorder/albumart.c b/apps/recorder/albumart.c index abae8c1afc..2722b57f8a 100644 --- a/apps/recorder/albumart.c +++ b/apps/recorder/albumart.c | |||
@@ -231,8 +231,9 @@ bool find_albumart(const struct mp3entry *id3, char *buf, int buflen) | |||
231 | return search_files(id3, size_string, buf, buflen); | 231 | return search_files(id3, size_string, buf, buflen); |
232 | } | 232 | } |
233 | 233 | ||
234 | /* Draw the album art bitmap from the given handle ID onto the given WPS. */ | 234 | /* Draw the album art bitmap from the given handle ID onto the given WPS. |
235 | void draw_album_art(struct gui_wps *gwps, int handle_id) | 235 | Call with clear = true to clear the bitmap instead of drawing it. */ |
236 | void draw_album_art(struct gui_wps *gwps, int handle_id, bool clear) | ||
236 | { | 237 | { |
237 | if (!gwps || !gwps->data || !gwps->display || handle_id < 0) | 238 | if (!gwps || !gwps->data || !gwps->display || handle_id < 0) |
238 | return; | 239 | return; |
@@ -277,9 +278,19 @@ void draw_album_art(struct gui_wps *gwps, int handle_id) | |||
277 | y += (data->albumart_max_height - height) / 2; | 278 | y += (data->albumart_max_height - height) / 2; |
278 | } | 279 | } |
279 | 280 | ||
280 | /* Draw the bitmap */ | 281 | if (!clear) |
281 | gwps->display->set_drawmode(DRMODE_FG); | 282 | { |
282 | gwps->display->bitmap_part((fb_data*)bmp->data, 0, 0, bmp->width, | 283 | /* Draw the bitmap */ |
283 | x, y, width, height); | 284 | gwps->display->set_drawmode(DRMODE_FG); |
284 | gwps->display->set_drawmode(DRMODE_SOLID); | 285 | gwps->display->bitmap_part((fb_data*)bmp->data, 0, 0, bmp->width, |
286 | x, y, width, height); | ||
287 | gwps->display->set_drawmode(DRMODE_SOLID); | ||
288 | } | ||
289 | else | ||
290 | { | ||
291 | /* Clear the bitmap */ | ||
292 | gwps->display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | ||
293 | gwps->display->fillrect(x, y, width, height); | ||
294 | gwps->display->set_drawmode(DRMODE_SOLID); | ||
295 | } | ||
285 | } | 296 | } |
diff --git a/apps/recorder/albumart.h b/apps/recorder/albumart.h index 21ae50edb9..dcd106465b 100644 --- a/apps/recorder/albumart.h +++ b/apps/recorder/albumart.h | |||
@@ -31,8 +31,9 @@ | |||
31 | * Returns true if a bitmap was found, false otherwise */ | 31 | * Returns true if a bitmap was found, false otherwise */ |
32 | bool find_albumart(const struct mp3entry *id3, char *buf, int buflen); | 32 | bool find_albumart(const struct mp3entry *id3, char *buf, int buflen); |
33 | 33 | ||
34 | /* Draw the album art bitmap from the given handle ID onto the given WPS. */ | 34 | /* Draw the album art bitmap from the given handle ID onto the given WPS. |
35 | void draw_album_art(struct gui_wps *gwps, int handle_id); | 35 | Call with clear = true to clear the bitmap instead of drawing it. */ |
36 | void draw_album_art(struct gui_wps *gwps, int handle_id, bool clear); | ||
36 | 37 | ||
37 | #endif /* HAVE_ALBUMART */ | 38 | #endif /* HAVE_ALBUMART */ |
38 | 39 | ||