dibsection: ignore biClr*
Huw D M Davies
h.davies1 at physics.ox.ac.uk
Mon Nov 10 10:50:46 CST 2003
Huw Davies <huw at codeweavers.com>
CreateDIBSection ignores the supplied values of biClrUsed and
biClrImportant and calculates them from biBitCount.
--
Huw Davies
huw at codeweavers.com
Index: objects/dib.c
===================================================================
RCS file: /home/wine/wine/objects/dib.c,v
retrieving revision 1.76
diff -u -r1.76 dib.c
--- objects/dib.c 15 Oct 2003 02:32:00 -0000 1.76
+++ objects/dib.c 10 Nov 2003 16:47:47 -0000
@@ -897,6 +897,12 @@
bDesktopDC = TRUE;
}
+ /* Windows ignores the supplied values of biClrUsed and biClrImportant thus: */
+ if (bmi->bmiHeader.biBitCount >= 1 && bmi->bmiHeader.biBitCount <= 8)
+ bmi->bmiHeader.biClrUsed = bmi->bmiHeader.biClrImportant = 1L << bmi->bmiHeader.biBitCount;
+ else
+ bmi->bmiHeader.biClrUsed = bmi->bmiHeader.biClrImportant = 0;
+
if ((dc = DC_GetDCPtr( hdc )))
{
hbitmap = dc->funcs->pCreateDIBSection(dc->physDev, bmi, usage, bits, section, offset, ovr_pitch);
More information about the wine-patches
mailing list