GetDIBits(): Handle Bitfields properly
Dmitry Timoshkov
dmitry at codeweavers.com
Sat Apr 14 23:40:14 CDT 2007
"Michael Kaufmann" <hallo at michael-kaufmann.ch> wrote:
> + if (bpp > 0 && compr == BI_BITFIELDS)
> + {
> + /* Windows ignores the input bitfields and overwrites them */
> +
> + if (bpp == 16)
> + {
> + /* With these bitfields, the color data is the same as for BI_RGB */
> + ((PDWORD)info->bmiColors)[0] = 0x7c00;
> + ((PDWORD)info->bmiColors)[1] = 0x03e0;
> + ((PDWORD)info->bmiColors)[2] = 0x001f;
> + }
> + else if (bpp == 32)
> + {
> + /* With these bitfields, the color data is the same as for BI_RGB */
> + ((PDWORD)info->bmiColors)[0] = 0xff0000;
> + ((PDWORD)info->bmiColors)[1] = 0x00ff00;
> + ((PDWORD)info->bmiColors)[2] = 0x0000ff;
> + }
What happens in 15 and 24 bpp cases?
--
Dmitry.
More information about the wine-devel
mailing list