2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for GdiReleaseLocalDC
5 * PROGRAMMERS: Timo Kreuzer
12 void Test_MaskBlt_1bpp()
15 BITMAPINFO bmi
= {{sizeof(BITMAPINFOHEADER
), 8, 1, 1, 1, BI_RGB
, 0, 10, 10, 0,0}};
16 HBITMAP hbmDst
, hbmSrc
, hbmMsk
;
17 PUCHAR pjBitsDst
, pjBitsSrc
, pjBitsMsk
;
20 /* Create a dest dc and bitmap */
21 hdcDst
= CreateCompatibleDC(NULL
);
22 hbmDst
= CreateDIBSection(hdcDst
, &bmi
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsDst
, NULL
, 0);
23 SelectObject(hdcDst
, hbmDst
);
25 /* Create a source dc and bitmap */
26 hdcSrc
= CreateCompatibleDC(NULL
);
27 hbmSrc
= CreateDIBSection(hdcSrc
, &bmi
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsSrc
, NULL
, 0);
28 SelectObject(hdcSrc
, hbmSrc
);
30 /* Create a 1 bpp mask bitmap */
31 hbmMsk
= CreateDIBSection(hdcDst
, &bmi
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsMsk
, NULL
, 0);
37 ret
= MaskBlt(hdcDst
, 0, 0, 8, 1, hdcSrc
, 0, 0, hbmMsk
, 0, 0, MAKEROP4(SRCCOPY
, 0xAA0000));
38 ok(ret
== 1, "MaskBlt failed (%d)\n", ret
);
39 ok (pjBitsDst
[0] == 0xCA, "pjBitsDst[0] == 0x%x\n", pjBitsDst
[0]);
44 ret
= MaskBlt(hdcDst
, 0, 0, 8, 1, hdcSrc
, 0, 0, hbmMsk
, 0, 0, MAKEROP4(SRCCOPY
, 0xAA0000));
45 ok(ret
== 1, "MaskBlt failed (%d)\n", ret
);
46 ok (pjBitsDst
[0] == 0xF0, "pjBitsDst[0] == 0x%x\n", pjBitsDst
[0]);
52 void Test_MaskBlt_RGBA()
55 BITMAPINFO bmi1
= {{sizeof(BITMAPINFOHEADER
), 8, 1, 1, 1, BI_RGB
, 0, 10, 10, 0,0}};
56 BITMAPINFO bmi32
= {{sizeof(BITMAPINFOHEADER
), 8, 1, 1, 32, BI_RGB
, 0, 10, 10, 0,0}};
57 HBITMAP hbmDst
, hbmSrc
, hbmMsk
;
58 PUCHAR pjBitsDst
, pjBitsSrc
, pjBitsMsk
;
61 /* Create a dest dc and bitmap */
62 hdcDst
= CreateCompatibleDC(NULL
);
63 hbmDst
= CreateDIBSection(hdcDst
, &bmi32
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsDst
, NULL
, 0);
64 SelectObject(hdcDst
, hbmDst
);
66 /* Create a source dc and bitmap */
67 hdcSrc
= CreateCompatibleDC(NULL
);
68 hbmSrc
= CreateDIBSection(hdcSrc
, &bmi32
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsSrc
, NULL
, 0);
69 SelectObject(hdcSrc
, hbmSrc
);
71 /* Create a 1 bpp mask bitmap */
72 hbmMsk
= CreateDIBSection(hdcDst
, &bmi1
, DIB_RGB_COLORS
, (PVOID
*)&pjBitsMsk
, NULL
, 0);
78 ret
= MaskBlt(hdcDst
, 0, 0, 8, 1, hdcSrc
, 0, 0, hbmMsk
, 0, 0, MAKEROP4(SRCCOPY
, 0xAA0000));
79 ok(ret
== 1, "MaskBlt failed (%d)\n", ret
);
80 ok (pjBitsDst
[0] == 0xCA, "pjBitsDst[0] == 0x%x\n", pjBitsDst
[0]);
85 ret
= MaskBlt(hdcDst
, 0, 0, 8, 1, hdcSrc
, 0, 0, hbmMsk
, 0, 0, MAKEROP4(SRCCOPY
, 0xAA0000));
86 ok(ret
== 1, "MaskBlt failed (%d)\n", ret
);
87 ok (pjBitsDst
[0] == 0xF0, "pjBitsDst[0] == 0x%x\n", pjBitsDst
[0]);