Dmitry Timoshkov dmitry@baikal.ru writes:
Alexandre Julliard julliard@winehq.org wrote:
- else
- {
if (bmi_has_alpha( bmi, color_bits ))
{
DWORD alpha_mask_bits_size = bmi_width * bmi_height;
unsigned char *alpha_mask_bits = HeapAlloc( GetProcessHeap(), 0, alpha_mask_bits_size );
Rows need to be 32-bit aligned.
Well spotted, thanks.
I expect it would also cause less code duplication to directly create a 1-bpp bitmap.
What kind of code duplication do you have in mind?
The duplicate setting of biBitCount and the StretchDIBits call. If you generate a 1-bpp mask you can get rid of all that and simply fall through to the normal code path.