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 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 56 START_TEST(PaintRgn) 57 { 58 InitStuff(); 59 Test_PaintRgn(); 60 } 61 62