[PATCH 07/11] Introduce graphic utils
Sascha Hauer
s.hauer at pengutronix.de
Wed Sep 12 03:33:49 EDT 2012
On Sat, Sep 08, 2012 at 08:05:38PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> to Factorise pixel rendering
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
> commands/splash.c | 61 +---------------------------------
> include/graphic_utils.h | 13 ++++++++
> include/image_renderer.h | 20 -----------
> lib/Makefile | 1 +
> lib/bmp.c | 5 +--
> lib/graphic_utils.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 101 insertions(+), 82 deletions(-)
> create mode 100644 include/graphic_utils.h
> create mode 100644 lib/graphic_utils.c
>
> diff --git a/commands/splash.c b/commands/splash.c
> index 4bddc6c..f4b975b 100644
> --- a/commands/splash.c
> +++ b/commands/splash.c
> @@ -8,66 +8,7 @@
> #include <fcntl.h>
> #include <fb.h>
> #include <image_renderer.h>
> -
> -static u32 get_pixel(struct fb_info *info, u32 color)
> -{
> - u32 px;
> - u8 t = (color >> 24) & 0xff;
> - u8 r = (color >> 16) & 0xff;
> - u8 g = (color >> 8 ) & 0xff;
> - u8 b = (color >> 0 ) & 0xff;
> -
> - if (info->grayscale) {
> - px = (r | g | b) ? 0xffffffff : 0x0;
> - return px;
> - }
> -
> - px = (t >> (8 - info->transp.length)) << info->transp.offset |
> - (r >> (8 - info->red.length)) << info->red.offset |
> - (g >> (8 - info->green.length)) << info->green.offset |
> - (b >> (8 - info->blue.length)) << info->blue.offset;
> -
> - return px;
> -}
> -
> -static void memsetw(void *s, u16 c, size_t n)
> -{
> - size_t i;
> - u16* tmp = s;
> -
> - for (i = 0; i < n; i++)
> - *tmp++ = c;
> -}
> -
> -static void memsetl(void *s, u32 c, size_t n)
> -{
> - size_t i;
> - u32* tmp = s;
> -
> - for (i = 0; i < n; i++)
> - *tmp++ = c;
> -}
> -
> -static void memset_pixel(struct fb_info *info, void* buf, u32 color, size_t size)
> -{
> - u32 px;
> - u8 *screen = buf;
> -
> - px = get_pixel(info, color);
> -
> - switch (info->bits_per_pixel) {
> - case 8:
> - memset(screen, (uint8_t)px, size);
> - break;
> - case 16:
> - memsetw(screen, (uint16_t)px, size);
> - break;
> - case 32:
> - case 24:
> - memsetl(screen, px, size);
> - break;
> - }
> -}
These were introduced with the last patch. The order should be reversed.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list