mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
Add 16bpp fix for libmatchbox for qemu
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@325 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
36
openembedded/packages/libmatchbox/files/16bppfixes.patch
Normal file
36
openembedded/packages/libmatchbox/files/16bppfixes.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
Index: libmb/mbpixbuf.c
|
||||
===================================================================
|
||||
--- libmatchbox/libmb.orig/mbpixbuf.c 2006-02-01 12:45:55.000000000 +0000
|
||||
+++ libmatchbox/libmb/mbpixbuf.c 2006-03-11 15:20:47.000000000 +0000
|
||||
@@ -716,7 +716,13 @@
|
||||
case 15:
|
||||
return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
|
||||
case 16:
|
||||
- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
|
||||
+ switch (pb->byte_order)
|
||||
+ {
|
||||
+ case BYTE_ORD_24_RGB:
|
||||
+ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
|
||||
+ case BYTE_ORD_24_BGR:
|
||||
+ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3);
|
||||
+ }
|
||||
case 24:
|
||||
case 32:
|
||||
switch (pb->byte_order)
|
||||
@@ -1880,12 +1886,11 @@
|
||||
for(y=0; y<img->height; y++)
|
||||
for(x=0; x<img->width; x++)
|
||||
{
|
||||
- /* Below is potentially dangerous.
|
||||
- */
|
||||
- pixel = ( *p | (*(p+1) << 8));
|
||||
+ internal_16bpp_pixel_to_rgb(p, r, g, b);
|
||||
+ internal_16bpp_pixel_next(p);
|
||||
+ a = ((img->has_alpha) ? *p++ : 0xff);
|
||||
|
||||
- p += ((img->has_alpha) ? 3 : 2);
|
||||
-
|
||||
+ pixel = mb_pixbuf_get_pixel(pb, r, g, b, a);
|
||||
XPutPixel(img->ximg, x, y, pixel);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user