ReactOS  0.4.15-dev-3017-g1d9542d
SetBrushOrgEx.c
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS api tests
3  * LICENSE: GPL - See COPYING in the top level directory
4  * PURPOSE: Test for SetBrushOrgEx
5  * PROGRAMMERS: Timo Kreuzer
6  */
7 
8 #include "precomp.h"
9 
10 #include <pseh/pseh2.h>
11 
12 void Test_Set(ULONG ulLine, HDC hdc, INT x, INT y, LPPOINT ppt, BOOL bExp, DWORD dwErrExp)
13 {
14  BOOL bResult;
15 
16  SetLastError(0);
17 
18  _SEH2_TRY
19  {
20  bResult = SetBrushOrgEx(hdc, x, y, ppt);
21  }
22  _SEH2_EXCEPT(1)
23  {
24  bResult = -1;
25  }
26  _SEH2_END;
27 
28  ok(bResult == bExp, "line %ld: Wrong result, expected %d, got %d\n",
29  ulLine, bExp, bResult);
30  ok(GetLastError() == dwErrExp,"line %ld: Wrong error, expected %lx, got %lx\n",
31  ulLine, dwErrExp, GetLastError());
32 }
33 
34 #define TEST_SET(hdc, x, y, ppt, bExp, dwErrExp) \
35  Test_Set(__LINE__, hdc, x, y, ppt, bExp, dwErrExp)
36 
38 {
39  HDC hdc;
40  POINT ptOldOrg;
41 
43  ok(hdc != 0, "could not ceate DC\n");
44 
45  TEST_SET(0, 0, 0, NULL, 0, ERROR_INVALID_HANDLE);
46  TEST_SET(0, 0, 0, (LPPOINT)-1, 0, ERROR_INVALID_HANDLE);
47  TEST_SET(0, 0, 0, &ptOldOrg, 0, ERROR_INVALID_HANDLE);
48  TEST_SET(hdc, 1, 2, &ptOldOrg, 1, 0);
49  ok_long(ptOldOrg.x, 0);
50  ok_long(ptOldOrg.y, 0);
51  SetBrushOrgEx(hdc, 0, 0, &ptOldOrg);
52  ok_long(ptOldOrg.x, 1);
53  ok_long(ptOldOrg.y, 2);
54 
55  ptOldOrg.x = 0; ptOldOrg.y = 0;
56  TEST_SET(hdc, 1, 2, (LPPOINT)-1, -1, 0);
57  SetBrushOrgEx(hdc, 0, 0, &ptOldOrg);
58  ok_long(ptOldOrg.x, 0);
59  ok_long(ptOldOrg.y, 0);
60 
61 
62  TEST_SET(hdc, -10000, -20000000, &ptOldOrg, 1, 0);
63  ok_long(ptOldOrg.x, 0);
64  ok_long(ptOldOrg.y, 0);
65  SetBrushOrgEx(hdc, 0, 0, &ptOldOrg);
66  ok_long(ptOldOrg.x, -10000);
67  ok_long(ptOldOrg.y, -20000000);
68 
69 
70 }
71 
73 {
75 }
76 
long y
Definition: polytest.cpp:48
void Test_SetBrushOrgEx()
Definition: SetBrushOrgEx.c:37
long x
Definition: polytest.cpp:48
#define ERROR_INVALID_HANDLE
Definition: compat.h:98
static HDC
Definition: imagelist.c:92
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define ok_long(expression, result)
Definition: atltest.h:133
int32_t INT
Definition: typedefs.h:58
_SEH2_TRY
Definition: create.c:4226
void Test_Set(ULONG ulLine, HDC hdc, INT x, INT y, LPPOINT ppt, BOOL bExp, DWORD dwErrExp)
Definition: SetBrushOrgEx.c:12
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:611
START_TEST(SetBrushOrgEx)
Definition: SetBrushOrgEx.c:72
HDC hdc
Definition: main.c:9
_SEH2_END
Definition: create.c:4400
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define TEST_SET(hdc, x, y, ppt, bExp, dwErrExp)
Definition: SetBrushOrgEx.c:34