- 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 asfor 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 asfor 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?
In theory, bitfields are not possible for 24 bpp modes - I'll add a test for this. Do you have any information about the 15 bpp case? Are some applications using this value? According to MSDN, it is not allowed.
Regards Michael