winex11.drv: Fix color conversion for 16 bpp cursors.
Henri Verbeet
hverbeet at gmail.com
Wed Dec 10 03:04:41 CST 2008
---
dlls/winex11.drv/mouse.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index bcae0c6..b933d40 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -499,12 +499,12 @@ static XcursorImage *create_cursor_image( CURSORICONINFO *ptr )
break;
case 16:
- /* BGR, 5 red, 6 green, 5 blue */
- *pixel_ptr = *xor_ptr * 0x1f;
- *pixel_ptr |= (*xor_ptr & 0xe0) << 3;
+ /* [gggbbbbb][rrrrrggg] -> [xxxxxxxx][rrrrr000][gggggg00][bbbbb000] */
+ *pixel_ptr = (*xor_ptr & 0x1f) << 3;
+ *pixel_ptr |= (*xor_ptr & 0xe0) << 5;
++xor_ptr;
- *pixel_ptr |= (*xor_ptr & 0x07) << 11;
- *pixel_ptr |= (*xor_ptr & 0xf8) << 13;
+ *pixel_ptr |= (*xor_ptr & 0x07) << 13;
+ *pixel_ptr |= (*xor_ptr & 0xf8) << 16;
break;
case 1:
--
1.5.6.4
--------------080007060307040105050905--
More information about the wine-patches
mailing list