forked from len0rd/rockbox
Add the ability to create a prefilled struct bitmap along with generated images.
This allows to directly draw generated and builtin images using lcd_bmp(bm_xxx); Also fixes builtin list icons on non-mono targets, as they didn't have the format field set. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30971 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
61f61c9773
commit
9a70c42241
7 changed files with 61 additions and 42 deletions
|
|
@ -44,19 +44,11 @@
|
|||
/* We dont actually do anything with these pointers,
|
||||
but they need to be grouped like this to save code
|
||||
so storing them as void* is ok. (stops compile warning) */
|
||||
static const struct bitmap inbuilt_iconset[NB_SCREENS] =
|
||||
static const struct bitmap *inbuilt_iconset[NB_SCREENS] =
|
||||
{
|
||||
{
|
||||
.width = BMPWIDTH_default_icons,
|
||||
.height = BMPHEIGHT_default_icons,
|
||||
.data = (unsigned char*)default_icons,
|
||||
},
|
||||
&bm_default_icons,
|
||||
#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1)
|
||||
{
|
||||
.width = BMPWIDTH_remote_default_icons,
|
||||
.height = BMPHEIGHT_remote_default_icons,
|
||||
.data = (unsigned char*)remote_default_icons,
|
||||
},
|
||||
&bm_remote_default_icons,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
@ -74,11 +66,11 @@ struct iconset {
|
|||
} iconsets[Iconset_Count][NB_SCREENS];
|
||||
|
||||
#define ICON_HEIGHT(screen) (!iconsets[Iconset_user][screen].loaded ? \
|
||||
inbuilt_iconset[screen] : iconsets[Iconset_user][screen].bmp).height \
|
||||
(*(inbuilt_iconset[screen])) : iconsets[Iconset_user][screen].bmp).height \
|
||||
/ Icon_Last_Themeable
|
||||
|
||||
#define ICON_WIDTH(screen) (!iconsets[Iconset_user][screen].loaded ? \
|
||||
inbuilt_iconset[screen] : iconsets[Iconset_user][screen].bmp).width
|
||||
(*(inbuilt_iconset[screen])) : iconsets[Iconset_user][screen].bmp).width
|
||||
|
||||
/* x,y in letters, not pixles */
|
||||
void screen_put_icon(struct screen * display,
|
||||
|
|
@ -140,7 +132,7 @@ void screen_put_iconxy(struct screen * display,
|
|||
}
|
||||
else
|
||||
{
|
||||
iconset = &inbuilt_iconset[screen];
|
||||
iconset = inbuilt_iconset[screen];
|
||||
}
|
||||
/* add some left padding to the icons if they are on the edge */
|
||||
if (xpos == 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue