- make apitest.c into a static lib to be used by different tests
[reactos.git] / rostests / win32 / gdi32 / gditest.h
1 #ifndef _GDITEST_H
2 #define _GDITEST_H
3
4 #define WINVER 0x501
5
6 //#include <stdio.h>
7 #include <stdlib.h>
8
9 #include <stdarg.h>
10 #include <stdio.h>
11 #include <windows.h>
12
13 #define TEST(x) \
14 if (x)\
15 {\
16 (*passed)++;\
17 } else {\
18 (*failed)++;\
19 printf("Test failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
20 };
21
22 #define GDI_HANDLE_INDEX_MASK 0x0000ffff // (GDI_HANDLE_COUNT - 1)
23 #define GDI_HANDLE_TYPE_MASK 0x007f0000
24 #define GDI_HANDLE_STOCK_MASK 0x00800000
25 #define GDI_HANDLE_REUSE_MASK 0xff000000
26
27 #define GDI_HANDLE_GET_INDEX(h) \
28 (((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
29
30 #define GDI_HANDLE_GET_TYPE(h) \
31 (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
32
33 #define GDI_HANDLE_PEN_TO_BRUSH(h) \
34 (HBRUSH)((((ULONG_PTR)(h)) & ~GDI_HANDLE_TYPE_MASK) | GDI_OBJECT_TYPE_PEN)
35
36
37 #define GDI_OBJECT_TYPE_DC 0x00010000
38 #define GDI_OBJECT_TYPE_REGION 0x00040000
39 #define GDI_OBJECT_TYPE_BITMAP 0x00050000
40 #define GDI_OBJECT_TYPE_PALETTE 0x00080000
41 #define GDI_OBJECT_TYPE_FONT 0x000a0000
42 #define GDI_OBJECT_TYPE_BRUSH 0x00100000
43 #define GDI_OBJECT_TYPE_EMF 0x00210000
44 #define GDI_OBJECT_TYPE_PEN 0x00300000
45 #define GDI_OBJECT_TYPE_EXTPEN 0x00500000
46 #define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
47 #define GDI_OBJECT_TYPE_METADC 0x00660000
48 #define GDI_OBJECT_TYPE_METAFILE 0x00260000
49 #define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
50 /* Following object types made up for ROS */
51 #define GDI_OBJECT_TYPE_ENHMETADC 0x00740000
52 #define GDI_OBJECT_TYPE_MEMDC 0x00750000
53 #define GDI_OBJECT_TYPE_DCE 0x00770000
54 #define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
55
56
57 /* The type definitions */
58 typedef BOOL (*TESTPROC)(INT*, INT*);
59
60 typedef struct tagTEST
61 {
62 CHAR* Test;
63 TESTPROC Proc;
64 } TEST, *PTEST;
65
66
67 extern TEST TestList[];
68 INT NumTests(void);
69
70 #endif /* _GDITEST_H */
71
72 /* EOF */