[GDI32_APITEST]
[reactos.git] / rostests / apitests / gdi32 / ExtCreatePen.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for ExtCreatePen
5 * PROGRAMMERS: Timo Kreuzer
6 */
7
8 #include <stdio.h>
9 #include <wine/test.h>
10 #include <windows.h>
11 #include <winddi.h>
12 #include <reactos/win32k/ntgdityp.h>
13 #include <reactos/win32k/ntgdihdl.h>
14
15 void Test_ExtCreatePen()
16 {
17 HPEN hPen;
18 LOGBRUSH logbrush;
19 DWORD dwStyles[17] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
20
21 logbrush.lbStyle = BS_SOLID;
22 logbrush.lbColor = RGB(1,2,3);
23 logbrush.lbHatch = 0;
24 hPen = ExtCreatePen(PS_COSMETIC, 1,&logbrush, 0, 0);
25 ok(hPen != 0, "ExtCreatePen failed\n");
26 if (!hPen) return;
27
28 /* Test if we have an EXTPEN */
29 ok(GDI_HANDLE_GET_TYPE(hPen) == GDI_OBJECT_TYPE_EXTPEN, "hPen=%p\n", hPen);
30 DeleteObject(hPen);
31
32 /* test userstyles */
33 hPen = ExtCreatePen(PS_GEOMETRIC | PS_USERSTYLE, 5, &logbrush, 17, (CONST DWORD*)&dwStyles);
34 ok(hPen == 0, "\n");
35 hPen = ExtCreatePen(PS_GEOMETRIC | PS_USERSTYLE, 5, &logbrush, 16, (CONST DWORD*)&dwStyles);
36 ok(hPen != 0, "\n");
37
38 DeleteObject(hPen);
39 }
40
41 START_TEST(ExtCreatePen)
42 {
43 Test_ExtCreatePen();
44 }
45