2 #define _WIN32_WINNT 0x0501
6 typedef PGDI_TABLE_ENTRY (CALLBACK
* GDIQUERYPROC
) (void);
8 /* GDI handle table can hold 0x4000 handles */
9 #define GDI_HANDLE_COUNT 0x10000
10 #define GDI_GLOBAL_PROCESS (0x0)
12 /* Handle Masks and shifts */
13 #define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
14 #define GDI_HANDLE_TYPE_MASK 0x007f0000
15 #define GDI_HANDLE_STOCK_MASK 0x00800000
16 #define GDI_HANDLE_REUSE_MASK 0xff000000
17 #define GDI_HANDLE_REUSECNT_SHIFT 24
20 #define GDI_OBJECT_TYPE_DC 0x00010000
21 #define GDI_OBJECT_TYPE_REGION 0x00040000
22 #define GDI_OBJECT_TYPE_BITMAP 0x00050000
23 #define GDI_OBJECT_TYPE_PALETTE 0x00080000
24 #define GDI_OBJECT_TYPE_FONT 0x000a0000
25 #define GDI_OBJECT_TYPE_BRUSH 0x00100000
26 #define GDI_OBJECT_TYPE_EMF 0x00210000
27 #define GDI_OBJECT_TYPE_PEN 0x00300000
28 #define GDI_OBJECT_TYPE_EXTPEN 0x00500000
29 #define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
30 #define GDI_OBJECT_TYPE_METADC 0x00660000
31 #define GDI_OBJECT_TYPE_METAFILE 0x00260000
32 #define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
33 /* Following object types made up for ROS */
34 #define GDI_OBJECT_TYPE_ENHMETADC 0x00740000
35 #define GDI_OBJECT_TYPE_MEMDC 0x00750000
36 #define GDI_OBJECT_TYPE_DCE 0x00770000
37 #define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
38 /** Not really an object type. Forces GDI_FreeObj to be silent. */
39 #define GDI_OBJECT_TYPE_SILENT 0x80000000
41 HDC WINAPI
GdiConvertBitmap(HDC hdc
);
42 HBRUSH WINAPI
GdiConvertBrush(HBRUSH hbr
);
43 HDC WINAPI
GdiConvertDC(HDC hdc
);
44 HFONT WINAPI
GdiConvertFont(HFONT hfont
);
45 HPALETTE WINAPI
GdiConvertPalette(HPALETTE hpal
);
46 HRGN WINAPI
GdiConvertRegion(HRGN hregion
);
47 HBRUSH WINAPI
GdiGetLocalBrush(HBRUSH hbr
);
48 HDC WINAPI
GdiGetLocalDC(HDC hdc
);
49 BOOL WINAPI
GdiDeleteLocalDC(HDC hdc
);
50 BOOL WINAPI
GdiReleaseLocalDC(HDC hdc
);
51 BOOL WINAPI
GdiSetAttrs(HDC hdc
);