[WIN32K, GENDIB]
authorJérôme Gardou <jerome.gardou@reactos.org>
Fri, 6 Aug 2010 14:55:44 +0000 (14:55 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Fri, 6 Aug 2010 14:55:44 +0000 (14:55 +0000)
  - Did you know that we should ignore alpha channel of pattern in ROPs? You didn't, I didn't, now we do.
[WIN32K]
  - Use BGR palette as default for 24 and 32 bpp bitmaps.

svn path=/branches/reactos-yarotows/; revision=48470

subsystems/win32/win32k/dib/dib.c
subsystems/win32/win32k/objects/palette.c

index 30591d3..5036043 100644 (file)
@@ -151,6 +151,9 @@ static const ULONG ExpandDest[16] =
       0xF0F0F0F0 /* 1111 */,
     };
 
       0xF0F0F0F0 /* 1111 */,
     };
 
+  /* Ignore alpha channel in Pattern */
+  Pattern &= 0x00ffffff ;
+
   /* Optimized code for the various named rop codes. */
   switch (Rop)
     {
   /* Optimized code for the various named rop codes. */
   switch (Rop)
     {
index 9087086..7896457 100644 (file)
@@ -124,8 +124,8 @@ HPALETTE FASTCALL PALETTE_Init(VOID)
     appalSurfaceDefault[BMF_4BPP] = gppalDefault;
     appalSurfaceDefault[BMF_8BPP] = gppalDefault;
     appalSurfaceDefault[BMF_16BPP] = &gpalRGB565;
     appalSurfaceDefault[BMF_4BPP] = gppalDefault;
     appalSurfaceDefault[BMF_8BPP] = gppalDefault;
     appalSurfaceDefault[BMF_16BPP] = &gpalRGB565;
-    appalSurfaceDefault[BMF_24BPP] = &gpalRGB;
-    appalSurfaceDefault[BMF_32BPP] = &gpalRGB;
+    appalSurfaceDefault[BMF_24BPP] = &gpalBGR;
+    appalSurfaceDefault[BMF_32BPP] = &gpalBGR;
     appalSurfaceDefault[BMF_4RLE] = gppalDefault;
     appalSurfaceDefault[BMF_8RLE] = gppalDefault;
     appalSurfaceDefault[BMF_JPEG] = &gpalRGB;
     appalSurfaceDefault[BMF_4RLE] = gppalDefault;
     appalSurfaceDefault[BMF_8RLE] = gppalDefault;
     appalSurfaceDefault[BMF_JPEG] = &gpalRGB;