diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-01-24 09:04:28 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-01-24 09:04:28 +0000 |
commit | f06f6852733b084a5bd09528322d9ffc6886d2f3 (patch) | |
tree | 1b5519291250a96fccb0a4660ba266c7f6b84802 /apps/gui/skin_engine/skin_display.c | |
parent | cb39ac6b1e2fa14ef3a12a2f6a1f9083c7eeb4aa (diff) | |
download | rockbox-f06f6852733b084a5bd09528322d9ffc6886d2f3.tar.gz rockbox-f06f6852733b084a5bd09528322d9ffc6886d2f3.zip |
New option for the bar tags: 'backdrop, <label>' will draw another image under the progressbar (only works with image and slider bars)
example:
%V(22,253,198,14,-)
%xl(a,PLAY_BAR_BACKDROP-240x320x16.bmp,0,0)
%pb(0,0,198,14,PLAY_BAR-240x320x16.bmp, backdrop, a)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29127 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r-- | apps/gui/skin_engine/skin_display.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index ccedea92a8..5d90e14a0e 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c @@ -234,6 +234,28 @@ void draw_progressbar(struct gui_wps *gwps, int line, struct progressbar *pb) y += img->bm.height / 2; } } + + if (pb->backdrop) + { + struct gui_img *img = pb->backdrop; +#if LCD_DEPTH > 1 + if(img->bm.format == FORMAT_MONO) { +#endif + display->mono_bitmap_part(img->bm.data, + 0, 0, img->bm.width, + x, y, width, height); +#if LCD_DEPTH > 1 + } else { + display->transparent_bitmap_part((fb_data *)img->bm.data, + 0, 0, + STRIDE(display->screen_type, + img->bm.width, img->bm.height), + x, y, width, height); + } +#endif + flags |= DONT_CLEAR_EXCESS; + } + if (!pb->nobar) { if (pb->image) |