mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:43:31 +00:00
user32: Draw the mask with SRCCOPY in DrawIcon when the image isn't being drawn.
This commit is contained in:
parent
976a3d5e08
commit
8ab65c222e
2 changed files with 4 additions and 3 deletions
|
@ -2317,9 +2317,10 @@ BOOL WINAPI DrawIconEx( HDC hdc, INT x0, INT y0, HICON hIcon,
|
|||
|
||||
if (flags & DI_MASK)
|
||||
{
|
||||
DWORD rop = (flags & DI_IMAGE) ? SRCAND : SRCCOPY;
|
||||
SelectObject( hMemDC, frame->mask );
|
||||
StretchBlt( hdc_dest, x, y, cxWidth, cyWidth,
|
||||
hMemDC, 0, 0, frame->width, frame->height, SRCAND );
|
||||
hMemDC, 0, 0, frame->width, frame->height, rop );
|
||||
}
|
||||
|
||||
if (flags & DI_IMAGE)
|
||||
|
|
|
@ -1926,8 +1926,8 @@ static void test_DrawIconEx(void)
|
|||
check_DrawIconEx(hdcDst, FALSE, 0x00A0B0C0, 32, 0, 0x00102030, 0x00102030, 0x00102030, __LINE__);
|
||||
check_DrawIconEx(hdcDst, TRUE, 0x00A0B0C0, 32, 0, 0x00102030, 0x00102030, 0x00102030, __LINE__);
|
||||
|
||||
check_DrawIconEx(hdcDst, FALSE, 0x80A0B0C0, 32, DI_MASK, 0x00FFFFFF, 0x00000000, 0x00000000, __LINE__);
|
||||
check_DrawIconEx(hdcDst, TRUE, 0x80A0B0C0, 32, DI_MASK, 0x00FFFFFF, 0x00FFFFFF, 0x00FFFFFF, __LINE__);
|
||||
check_DrawIconEx(hdcDst, FALSE, 0x80A0B0C0, 32, DI_MASK, 0x00123456, 0x00000000, 0x00000000, __LINE__);
|
||||
check_DrawIconEx(hdcDst, TRUE, 0x80A0B0C0, 32, DI_MASK, 0x00123456, 0x00FFFFFF, 0x00FFFFFF, __LINE__);
|
||||
|
||||
check_DrawIconEx(hdcDst, FALSE, 0x00A0B0C0, 32, DI_IMAGE, 0x00FFFFFF, 0x00C0B0A0, 0x00C0B0A0, __LINE__);
|
||||
check_DrawIconEx(hdcDst, TRUE, 0x00A0B0C0, 32, DI_IMAGE, 0x00FFFFFF, 0x00C0B0A0, 0x00C0B0A0, __LINE__);
|
||||
|
|
Loading…
Reference in a new issue