• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 #ifndef _WINDEF_
6 #define _WINDEF_
7 
8 #include <minwindef.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #ifndef WINVER
15 #define WINVER 0x0502
16 #endif
17 
18 /* Make sure winnt.h is included.  */
19 #ifndef NT_INCLUDED
20 #include <winnt.h>
21 #endif
22 
23 #ifndef WIN_INTERNAL
24 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
25 DECLARE_HANDLE (HWND);
26 DECLARE_HANDLE (HHOOK);
27 #endif
28 #ifdef WINABLE
29 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
30 DECLARE_HANDLE (HEVENT);
31 #endif
32 #endif
33 #endif
34 
35 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
36 #ifdef STRICT
37   typedef void *HGDIOBJ;
38 #else
39   DECLARE_HANDLE (HGDIOBJ);
40 #endif
41 
42 DECLARE_HANDLE(HACCEL);
43 DECLARE_HANDLE(HBITMAP);
44 DECLARE_HANDLE(HBRUSH);
45 DECLARE_HANDLE(HCOLORSPACE);
46 DECLARE_HANDLE(HDC);
47 DECLARE_HANDLE(HGLRC);
48 DECLARE_HANDLE(HDESK);
49 DECLARE_HANDLE(HENHMETAFILE);
50 DECLARE_HANDLE(HFONT);
51 DECLARE_HANDLE(HICON);
52 DECLARE_HANDLE(HMENU);
53 DECLARE_HANDLE(HPALETTE);
54 DECLARE_HANDLE(HPEN);
55 DECLARE_HANDLE(HMONITOR);
56 #define HMONITOR_DECLARED 1
57 DECLARE_HANDLE(HWINEVENTHOOK);
58 
59 typedef HICON HCURSOR;
60 typedef DWORD COLORREF;
61 #endif
62 
63 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
64 DECLARE_HANDLE(HUMPD);
65 
66 typedef DWORD *LPCOLORREF;
67 
68 #define HFILE_ERROR ((HFILE)-1)
69 #endif
70 
71 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
72 typedef struct tagRECT {
73   LONG left;
74   LONG top;
75   LONG right;
76   LONG bottom;
77 } RECT,*PRECT,*NPRECT,*LPRECT;
78 
79 typedef const RECT *LPCRECT;
80 
81 typedef struct _RECTL {
82   LONG left;
83   LONG top;
84   LONG right;
85   LONG bottom;
86 } RECTL,*PRECTL,*LPRECTL;
87 
88 typedef const RECTL *LPCRECTL;
89 
90 typedef struct tagPOINT {
91   LONG x;
92   LONG y;
93 } POINT,*PPOINT,*NPPOINT,*LPPOINT;
94 
95 typedef struct _POINTL {
96   LONG x;
97   LONG y;
98 } POINTL,*PPOINTL;
99 
100 typedef struct tagSIZE {
101   LONG cx;
102   LONG cy;
103 } SIZE,*PSIZE,*LPSIZE;
104 
105 typedef SIZE SIZEL;
106 typedef SIZE *PSIZEL,*LPSIZEL;
107 
108 typedef struct tagPOINTS {
109   SHORT x;
110   SHORT y;
111 } POINTS,*PPOINTS,*LPPOINTS;
112 #endif
113 
114 #define DM_UPDATE 1
115 #define DM_COPY 2
116 #define DM_PROMPT 4
117 #define DM_MODIFY 8
118 
119 #define DM_IN_BUFFER DM_MODIFY
120 #define DM_IN_PROMPT DM_PROMPT
121 #define DM_OUT_BUFFER DM_COPY
122 #define DM_OUT_DEFAULT DM_UPDATE
123 
124 #define DC_FIELDS 1
125 #define DC_PAPERS 2
126 #define DC_PAPERSIZE 3
127 #define DC_MINEXTENT 4
128 #define DC_MAXEXTENT 5
129 #define DC_BINS 6
130 #define DC_DUPLEX 7
131 #define DC_SIZE 8
132 #define DC_EXTRA 9
133 #define DC_VERSION 10
134 #define DC_DRIVER 11
135 #define DC_BINNAMES 12
136 #define DC_ENUMRESOLUTIONS 13
137 #define DC_FILEDEPENDENCIES 14
138 #define DC_TRUETYPE 15
139 #define DC_PAPERNAMES 16
140 #define DC_ORIENTATION 17
141 #define DC_COPIES 18
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif /* _WINDEF_ */
148 
149