1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for FrameRgn
5 * PROGRAMMERS: Timo Kreuzer
6 */
7
8 #include "precomp.h"
9
10 #include "init.h"
11
Test_PaintRgn()12 void Test_PaintRgn()
13 {
14 RECT rc = { 0, 0, 100, 100 };
15 HRGN hrgn1, hrgn2;
16 BOOL bRet;
17 XFORM xform;
18 PULONG pulDIB = gpvDIB1;
19
20 FillRect(ghdcDIB1, &rc, GetStockObject(BLACK_BRUSH));
21
22 hrgn1 = CreateRectRgn(0, 0, 8, 3);
23 ok(hrgn1 != NULL, "failed to create region\n");
24
25 hrgn2 = CreateRectRgn(2, 3, 5, 8);
26 ok(hrgn1 != NULL, "failed to create region\n");
27
28 CombineRgn(hrgn1, hrgn1, hrgn2, RGN_OR);
29
30 xform.eM11 = 1.0;
31 xform.eM12 = 0.5f;
32 xform.eM21 = 0.0;
33 xform.eM22 = 1.0;
34 xform.eDx = 0.0;
35 xform.eDy = 0.0;
36
37 SetGraphicsMode(ghdcDIB1, GM_ADVANCED);
38 ok(SetWorldTransform(ghdcDIB1, &xform) == TRUE, "SetWorldTransform failed\n");
39
40 SelectObject(ghdcDIB1, GetStockObject(WHITE_BRUSH));
41
42 bRet = PaintRgn(ghdcDIB1, hrgn1);
43 ok(bRet == TRUE, "PaintRgn failed\n");
44
45 ok_long(pulDIB[0], 0x00000000); // 000000000
46 ok_long(pulDIB[1], 0x000000C0); // 110000000
47 ok_long(pulDIB[2], 0x000000F0); // 111110000
48 ok_long(pulDIB[3], 0x000000FC); // 111111000
49 ok_long(pulDIB[4], 0x0000003F); // 001111110
50 ok_long(pulDIB[5], 0x0000003F); // 001111110
51 ok_long(pulDIB[6], 0x0000003B); // 001110110
52 ok_long(pulDIB[7], 0x00000038); // 001110000
53 ok_long(pulDIB[8], 0x00000038); // 001110000
54 }
55
START_TEST(PaintRgn)56 START_TEST(PaintRgn)
57 {
58 InitStuff();
59 Test_PaintRgn();
60 }
61
62