|
Rockbox mail archiveSubject: Re: bmp support in the build systemRe: bmp support in the build system
From: Greg Haerr <greg_at_censoft.com>
Date: Tue, 27 Dec 2005 16:38:52 -0700 : 2) Moving the #ifs into the bitmap SOURCES file simplifies the code a : lot, but currently the sizes of the bitmaps still need to be defined in : the C file itself - the size isn't taken from the output from bmp2rb. : I've ignored this for now. Its been awhile since I've reviewed much Rockbox code, but IMO now would be a good time to solve this issue the correct way: a rockbox bitmap needs to be a structure, not just an unknown length array of unsigned char. The bmp2rb tool outputs a filled-in bitmap structure header. Then, the lcd_bitmap() et al routines take the address of the structure, rather than #defined values of width, height for every bitmap. The type of bitmap is also included. I'm thinking of something like the following: struct bitmap { /* rb internal bitmap format*/ uchar bpp; /* bitmap type*/ uchar width, height; uchar pitch; /* bytes per line, including pad*/ uchar *bits; /* image bits - size is height*pitch */ }; If the bmp2rb routine always created the bitmaps converted to the desired bpp for the target, then the lcd_bitmap routine wouldn't need to inspect the header bpp field. The bpp field could become part of the structure name. See how convbdf -c works for more details on naming. This would then allow all bitmaps to be stored simultaneously in a library. Regards, Greg Received on 2005-12-28 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |