[RAPPS] Stopped GCC whining (fixed GCC build)
[reactos.git] / rostests / apitests / gdi32 / OffsetRgn.c
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 <apitest.h>
9 #include <windows.h>
10 #include <stdio.h>
11 #include "init.h"
12
13 void Test_OffsetRgn()
14 {
15 HRGN hrgn1, hrgn2;
16 HDC hdc;
17
18 hrgn1 = CreateRectRgn(0, 0, 0, 0);
19 ok(hrgn1 != NULL, "CreateRectRgn failed\n");
20 ok_int(OffsetRgn(hrgn1, INT_MIN + 10, 10), NULLREGION);
21 ok_int(OffsetRgn(hrgn1, 0xF000000, 0xF000000), NULLREGION);
22 DeleteObject(hrgn1);
23
24 hrgn1 = CreateRectRgn(0, 0, 100, 100);
25 ok(hrgn1 != NULL, "CreateRectRgn failed\n");
26 ok_int(OffsetRgn(hrgn1, 10, 10), SIMPLEREGION);
27 ok_int(OffsetRgn(hrgn1, 0x8000000 - 110, 10), ERROR);
28 ok_int(OffsetRgn(hrgn1, 0x8000000 - 111, 10), SIMPLEREGION);
29 DeleteObject(hrgn1);
30
31 hrgn1 = CreateRectRgn(0, 0, 100, 100);
32 ok(hrgn1 != NULL, "CreateRectRgn failed\n");
33 ok_int(OffsetRgn(hrgn1, -10, 10), SIMPLEREGION);
34 ok_int(OffsetRgn(hrgn1, -(0x8000000 - 9), 10), ERROR);
35 ok_int(OffsetRgn(hrgn1, -(0x8000000 - 10), 10), SIMPLEREGION);
36 DeleteObject(hrgn1);
37
38 hrgn1 = CreateRectRgn(0, 0, 10, 10);
39 hrgn2 = CreateRectRgn(1000, 20, 1010, 30);
40 ok_int(CombineRgn(hrgn1, hrgn1, hrgn2, RGN_OR), COMPLEXREGION);
41 ok_int(OffsetRgn(hrgn1, 0x8000000 - 100, 10), ERROR);
42 ok_int(CombineRgn(hrgn1, hrgn1, hrgn2, RGN_XOR), SIMPLEREGION);
43 DeleteObject(hrgn2);
44 hrgn2 = CreateRectRgn(0, 0, 10, 10);
45 ok_int(CombineRgn(hrgn1, hrgn1, hrgn2, RGN_XOR), NULLREGION);
46
47 hrgn1 = CreateRectRgn(0, 0, 0, 0);
48 hdc = CreateCompatibleDC(NULL);
49 ok_int(GetClipRgn(hdc, hrgn1), 0);
50 ok_int(OffsetRgn(hrgn1, 10, 10), NULLREGION);
51
52 }
53
54 START_TEST(OffsetRgn)
55 {
56 Test_OffsetRgn();
57 }
58