2015-02-14 13:19:02 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: ReactOS api tests
|
|
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
|
|
* PURPOSE: Test for FrameRgn
|
|
|
|
* PROGRAMMERS: Timo Kreuzer
|
|
|
|
*/
|
|
|
|
|
2017-12-02 20:00:06 +00:00
|
|
|
#include "precomp.h"
|
2015-02-14 13:19:02 +00:00
|
|
|
|
2017-12-02 20:00:06 +00:00
|
|
|
#include "init.h"
|
2015-02-14 13:19:02 +00:00
|
|
|
|
|
|
|
void Test_PaintRgn()
|
|
|
|
{
|
|
|
|
RECT rc = { 0, 0, 100, 100 };
|
|
|
|
HRGN hrgn1, hrgn2;
|
|
|
|
BOOL bRet;
|
|
|
|
XFORM xform;
|
|
|
|
PULONG pulDIB = gpvDIB1;
|
|
|
|
|
|
|
|
FillRect(ghdcDIB1, &rc, GetStockObject(BLACK_BRUSH));
|
|
|
|
|
|
|
|
hrgn1 = CreateRectRgn(0, 0, 8, 3);
|
|
|
|
ok(hrgn1 != NULL, "failed to create region\n");
|
|
|
|
|
|
|
|
hrgn2 = CreateRectRgn(2, 3, 5, 8);
|
|
|
|
ok(hrgn1 != NULL, "failed to create region\n");
|
|
|
|
|
|
|
|
CombineRgn(hrgn1, hrgn1, hrgn2, RGN_OR);
|
|
|
|
|
|
|
|
xform.eM11 = 1.0;
|
|
|
|
xform.eM12 = 0.5f;
|
|
|
|
xform.eM21 = 0.0;
|
|
|
|
xform.eM22 = 1.0;
|
|
|
|
xform.eDx = 0.0;
|
|
|
|
xform.eDy = 0.0;
|
|
|
|
|
|
|
|
SetGraphicsMode(ghdcDIB1, GM_ADVANCED);
|
|
|
|
ok(SetWorldTransform(ghdcDIB1, &xform) == TRUE, "SetWorldTransform failed\n");
|
|
|
|
|
|
|
|
SelectObject(ghdcDIB1, GetStockObject(WHITE_BRUSH));
|
|
|
|
|
|
|
|
bRet = PaintRgn(ghdcDIB1, hrgn1);
|
|
|
|
ok(bRet == TRUE, "PaintRgn failed\n");
|
|
|
|
|
|
|
|
ok_long(pulDIB[0], 0x00000000); // 000000000
|
|
|
|
ok_long(pulDIB[1], 0x000000C0); // 110000000
|
|
|
|
ok_long(pulDIB[2], 0x000000F0); // 111110000
|
|
|
|
ok_long(pulDIB[3], 0x000000FC); // 111111000
|
|
|
|
ok_long(pulDIB[4], 0x0000003F); // 001111110
|
|
|
|
ok_long(pulDIB[5], 0x0000003F); // 001111110
|
|
|
|
ok_long(pulDIB[6], 0x0000003B); // 001110110
|
|
|
|
ok_long(pulDIB[7], 0x00000038); // 001110000
|
|
|
|
ok_long(pulDIB[8], 0x00000038); // 001110000
|
|
|
|
}
|
|
|
|
|
|
|
|
START_TEST(PaintRgn)
|
|
|
|
{
|
|
|
|
InitStuff();
|
|
|
|
Test_PaintRgn();
|
|
|
|
}
|
|
|
|
|