ReactOS 0.4.15-dev-5664-g3bf4ef6
NtGdiTransformPoints.c File Reference
#include <win32nt.h>
Include dependency graph for NtGdiTransformPoints.c:

Go to the source code of this file.

Functions

 START_TEST (NtGdiTransformPoints)
 

Function Documentation

◆ START_TEST()

START_TEST ( NtGdiTransformPoints  )

Definition at line 10 of file NtGdiTransformPoints.c.

11{
12 HDC hDC;
13 POINT apt1[3], apt2[3];
14 BOOL ret;
15 SIZE siz;
16
17 /* NULL HDC */
18
19 SetLastError(0xDEADBEEF);
21 ok_int(ret, TRUE);
22 ok_err(0xDEADBEEF);
23
24 SetLastError(0xDEADBEEF);
27 ok_err(0xDEADBEEF);
28
29 SetLastError(0xDEADBEEF);
32 ok_err(0xDEADBEEF);
33
34 SetLastError(0xDEADBEEF);
37 ok_err(0xDEADBEEF);
38
39 SetLastError(0xDEADBEEF);
40 ret = NtGdiTransformPoints(NULL, apt1, apt1, 0, GdiDpToLp);
41 ok_int(ret, TRUE);
42 ok_err(0xDEADBEEF);
43
44 SetLastError(0xDEADBEEF);
45 ret = NtGdiTransformPoints(NULL, apt1, apt2, 0, GdiDpToLp);
46 ok_int(ret, TRUE);
47 ok_err(0xDEADBEEF);
48
49 SetLastError(0xDEADBEEF);
50 ret = NtGdiTransformPoints(NULL, apt1, apt2, 1, GdiDpToLp);
52 ok_err(0xDEADBEEF);
53
54 /* (HDC)1 */
55
56 SetLastError(0xDEADBEEF);
58 ok_int(ret, TRUE);
59 ok_err(0xDEADBEEF);
60
61 SetLastError(0xDEADBEEF);
64 ok_err(0xDEADBEEF);
65
66 SetLastError(0xDEADBEEF);
67 ret = NtGdiTransformPoints((HDC)1, apt1, NULL, 1, GdiDpToLp);
69 ok_err(0xDEADBEEF);
70
71 SetLastError(0xDEADBEEF);
72 ret = NtGdiTransformPoints((HDC)1, NULL, apt2, 1, GdiDpToLp);
74 ok_err(0xDEADBEEF);
75
76 SetLastError(0xDEADBEEF);
77 ret = NtGdiTransformPoints((HDC)1, apt1, apt1, 0, GdiDpToLp);
78 ok_int(ret, TRUE);
79 ok_err(0xDEADBEEF);
80
81 SetLastError(0xDEADBEEF);
82 ret = NtGdiTransformPoints((HDC)1, apt1, apt2, 0, GdiDpToLp);
83 ok_int(ret, TRUE);
84 ok_err(0xDEADBEEF);
85
86 SetLastError(0xDEADBEEF);
87 ret = NtGdiTransformPoints((HDC)1, apt1, apt2, 1, GdiDpToLp);
89 ok_err(0xDEADBEEF);
90
91 /* hDC */
92
94 ok(hDC != NULL, "hDC was NULL\n");
95
97
98 SetLastError(0xDEADBEEF);
100 ok_int(ret, TRUE);
101 ok_err(0xDEADBEEF);
102
103 SetLastError(0xDEADBEEF);
105 ok_int(ret, FALSE);
106 ok_err(0xDEADBEEF);
107
108 SetLastError(0xDEADBEEF);
110 ok_int(ret, FALSE);
111 ok_err(0xDEADBEEF);
112
113 SetLastError(0xDEADBEEF);
115 ok_int(ret, FALSE);
116 ok_err(0xDEADBEEF);
117
118 SetLastError(0xDEADBEEF);
119 ret = NtGdiTransformPoints(hDC, apt1, apt1, 0, GdiDpToLp);
120 ok_int(ret, TRUE);
121 ok_err(0xDEADBEEF);
122
123 SetLastError(0xDEADBEEF);
124 ret = NtGdiTransformPoints(hDC, apt1, apt2, 0, GdiDpToLp);
125 ok_int(ret, TRUE);
126 ok_err(0xDEADBEEF);
127
128 SetLastError(0xDEADBEEF);
129 apt1[0].x = apt1[0].y = 256;
130 ret = NtGdiTransformPoints(hDC, apt1, apt1, 1, GdiDpToLp);
131 ok_int(ret, TRUE);
132 ok_err(0xDEADBEEF);
133 ok_long(apt1[0].x, 256);
134 ok_long(apt1[0].y, 256);
135
136 SetLastError(0xDEADBEEF);
137 apt1[0].x = apt1[0].y = 256;
138 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
139 ret = NtGdiTransformPoints(hDC, apt1, apt2, 0, GdiDpToLp);
140 ok_int(ret, TRUE);
141 ok_err(0xDEADBEEF);
142 ok_long(apt1[0].x, 256);
143 ok_long(apt1[0].y, 256);
144 ok_long(apt2[0].x, 0xBEEFDEAD);
145 ok_long(apt2[0].x, 0xBEEFDEAD);
146
147 SetLastError(0xDEADBEEF);
148 apt1[0].x = apt1[0].y = 256;
149 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
150 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
151 ok_int(ret, TRUE);
152 ok_err(0xDEADBEEF);
153 ok_long(apt1[0].x, 256);
154 ok_long(apt1[0].y, 256);
155 ok_long(apt2[0].x, 256);
156 ok_long(apt2[0].x, 256);
157
158 /* MM_ISOTROPIC */
159
161 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
162 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
163 ok_long(siz.cx, 10);
164 ok_long(siz.cy, 10);
165 ok_int(SetViewportExtEx(hDC, 100, 100, NULL), TRUE);
167 ok_long(siz.cx, 100);
168 ok_long(siz.cy, 100);
169 SetLastError(0xDEADBEEF);
170 apt1[0].x = apt1[0].y = 256;
171 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
172 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
173 ok_int(ret, TRUE);
174 ok_err(0xDEADBEEF);
175 ok_long(apt1[0].x, 256);
176 ok_long(apt1[0].y, 256);
177 ok_long(apt2[0].x, 26);
178 ok_long(apt2[0].x, 26);
179
181 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
182 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
183 ok_long(siz.cx, 10);
184 ok_long(siz.cy, 10);
185 ok_int(SetViewportExtEx(hDC, 20, 100, NULL), TRUE);
187 ok_long(siz.cx, 20);
188 ok_long(siz.cy, 20);
189 SetLastError(0xDEADBEEF);
190 apt1[0].x = apt1[0].y = 256;
191 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
192 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
193 ok_int(ret, TRUE);
194 ok_err(0xDEADBEEF);
195 ok_long(apt1[0].x, 256);
196 ok_long(apt1[0].y, 256);
197 ok_long(apt2[0].x, 128);
198 ok_long(apt2[0].x, 128);
199
201 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
202 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
203 ok_long(siz.cx, 10);
204 ok_long(siz.cy, 10);
205 ok_int(SetViewportExtEx(hDC, 100, 0, NULL), TRUE);
207 ok_long(siz.cx, 20);
208 ok_long(siz.cy, 20);
209 SetLastError(0xDEADBEEF);
210 apt1[0].x = apt1[0].y = 256;
211 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
212 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
213 ok_int(ret, TRUE);
214 ok_err(0xDEADBEEF);
215 ok_long(apt1[0].x, 256);
216 ok_long(apt1[0].y, 256);
217 ok_long(apt2[0].x, 128);
218 ok_long(apt2[0].x, 128);
219
221 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
222 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
223 ok_long(siz.cx, 10);
224 ok_long(siz.cy, 10);
225 ok_int(SetViewportExtEx(hDC, 0, 100, NULL), TRUE);
227 ok_long(siz.cx, 20);
228 ok_long(siz.cy, 20);
229 SetLastError(0xDEADBEEF);
230 apt1[0].x = apt1[0].y = 256;
231 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
232 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
233 ok_int(ret, TRUE);
234 ok_err(0xDEADBEEF);
235 ok_long(apt1[0].x, 256);
236 ok_long(apt1[0].y, 256);
237 ok_long(apt2[0].x, 128);
238 ok_long(apt2[0].x, 128);
239
241 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
242 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
243 ok_long(siz.cx, 10);
244 ok_long(siz.cy, 10);
247 ok_long(siz.cx, 20);
248 ok_long(siz.cy, 20);
249 SetLastError(0xDEADBEEF);
250 apt1[0].x = apt1[0].y = 256;
251 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
252 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
253 ok_int(ret, TRUE);
254 ok_err(0xDEADBEEF);
255 ok_long(apt1[0].x, 256);
256 ok_long(apt1[0].y, 256);
257 ok_long(apt2[0].x, 128);
258 ok_long(apt2[0].x, 128);
259
260 /* MM_ANISOTROPIC */
261
263 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
264 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
265 ok_long(siz.cx, 10);
266 ok_long(siz.cy, 10);
267 ok_int(SetViewportExtEx(hDC, 100, 100, NULL), TRUE);
269 ok_long(siz.cx, 100);
270 ok_long(siz.cy, 100);
271 SetLastError(0xDEADBEEF);
272 apt1[0].x = apt1[0].y = 256;
273 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
274 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
275 ok_int(ret, TRUE);
276 ok_err(0xDEADBEEF);
277 ok_long(apt1[0].x, 256);
278 ok_long(apt1[0].y, 256);
279 ok_long(apt2[0].x, 26);
280 ok_long(apt2[0].x, 26);
281
283 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
284 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
285 ok_long(siz.cx, 10);
286 ok_long(siz.cy, 10);
287 ok_int(SetViewportExtEx(hDC, 20, 100, NULL), TRUE);
289 ok_long(siz.cx, 20);
290 ok_long(siz.cy, 100);
291 SetLastError(0xDEADBEEF);
292 apt1[0].x = apt1[0].y = 256;
293 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
294 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
295 ok_int(ret, TRUE);
296 ok_err(0xDEADBEEF);
297 ok_long(apt1[0].x, 256);
298 ok_long(apt1[0].y, 256);
299 ok_long(apt2[0].x, 128);
300 ok_long(apt2[0].x, 128);
301
303 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
304 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
305 ok_long(siz.cx, 10);
306 ok_long(siz.cy, 10);
307 ok_int(SetViewportExtEx(hDC, 100, 0, NULL), TRUE);
309 ok_long(siz.cx, 20);
310 ok_long(siz.cy, 100);
311 SetLastError(0xDEADBEEF);
312 apt1[0].x = apt1[0].y = 256;
313 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
314 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
315 ok_int(ret, TRUE);
316 ok_err(0xDEADBEEF);
317 ok_long(apt1[0].x, 256);
318 ok_long(apt1[0].y, 256);
319 ok_long(apt2[0].x, 128);
320 ok_long(apt2[0].x, 128);
321
323 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
324 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
325 ok_long(siz.cx, 10);
326 ok_long(siz.cy, 10);
327 ok_int(SetViewportExtEx(hDC, 0, 100, NULL), TRUE);
329 ok_long(siz.cx, 20);
330 ok_long(siz.cy, 100);
331 SetLastError(0xDEADBEEF);
332 apt1[0].x = apt1[0].y = 256;
333 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
334 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
335 ok_int(ret, TRUE);
336 ok_err(0xDEADBEEF);
337 ok_long(apt1[0].x, 256);
338 ok_long(apt1[0].y, 256);
339 ok_long(apt2[0].x, 128);
340 ok_long(apt2[0].x, 128);
341
343 ok_int(SetWindowExtEx(hDC, 10, 10, NULL), TRUE);
344 ok_int(GetWindowExtEx(hDC, &siz), TRUE);
345 ok_long(siz.cx, 10);
346 ok_long(siz.cy, 10);
349 ok_long(siz.cx, 20);
350 ok_long(siz.cy, 100);
351 SetLastError(0xDEADBEEF);
352 apt1[0].x = apt1[0].y = 256;
353 apt2[0].x = apt2[0].y = 0xBEEFDEAD;
354 ret = NtGdiTransformPoints(hDC, apt1, apt2, 1, GdiDpToLp);
355 ok_int(ret, TRUE);
356 ok_err(0xDEADBEEF);
357 ok_long(apt1[0].x, 256);
358 ok_long(apt1[0].y, 256);
359 ok_long(apt2[0].x, 128);
360 ok_long(apt2[0].x, 128);
361
362 ret = DeleteDC(hDC);
363 ok_int(ret, TRUE);
364}
static HDC hDC
Definition: 3dtext.c:33
#define ok_long(expression, result)
Definition: atltest.h:133
#define ok(value,...)
Definition: atltest.h:57
#define ok_err(error)
Definition: atltest.h:124
#define ok_int(expression, result)
Definition: atltest.h:134
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define SetLastError(x)
Definition: compat.h:752
unsigned int BOOL
Definition: ntddk_ex.h:94
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
static HDC
Definition: imagelist.c:92
__kernel_entry W32KAPI BOOL APIENTRY NtGdiTransformPoints(_In_ HDC hdc, _In_reads_(c) PPOINT pptIn, _Out_writes_(c) PPOINT pptOut, _In_ INT c, _In_ INT iMode)
@ GdiDpToLp
Definition: ntgdityp.h:99
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
LONG cx
Definition: windef.h:334
LONG cy
Definition: windef.h:335
int ret
int WINAPI SetMapMode(_In_ HDC, _In_ int)
BOOL WINAPI SetViewportExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE)
Definition: coord.c:465
#define MM_ANISOTROPIC
Definition: wingdi.h:867
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI SetWindowExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE)
#define MM_ISOTROPIC
Definition: wingdi.h:870
BOOL WINAPI GetWindowExtEx(_In_ HDC, _Out_ LPSIZE)
Definition: coord.c:411
#define MM_TEXT
Definition: wingdi.h:873
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI GetViewportExtEx(_In_ HDC, _Out_ LPSIZE)
Definition: coord.c:351