master
  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 <winapifamily.h>
  9#include <minwindef.h>
 10
 11#ifdef __cplusplus
 12extern "C" {
 13#endif
 14
 15#ifndef WINVER
 16#define WINVER 0x0502
 17#endif
 18
 19/* Make sure winnt.h is included.  */
 20#ifndef NT_INCLUDED
 21#include <winnt.h>
 22#endif
 23
 24#ifndef WIN_INTERNAL
 25#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
 26DECLARE_HANDLE (HWND);
 27DECLARE_HANDLE (HHOOK);
 28#endif
 29#ifdef WINABLE
 30#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
 31DECLARE_HANDLE (HEVENT);
 32#endif
 33#endif
 34#endif
 35
 36#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
 37#ifdef STRICT
 38  typedef void *HGDIOBJ;
 39#else
 40  DECLARE_HANDLE (HGDIOBJ);
 41#endif
 42
 43DECLARE_HANDLE(HACCEL);
 44DECLARE_HANDLE(HBITMAP);
 45DECLARE_HANDLE(HBRUSH);
 46DECLARE_HANDLE(HCOLORSPACE);
 47DECLARE_HANDLE(HDC);
 48DECLARE_HANDLE(HGLRC);
 49DECLARE_HANDLE(HDESK);
 50DECLARE_HANDLE(HENHMETAFILE);
 51DECLARE_HANDLE(HFONT);
 52DECLARE_HANDLE(HICON);
 53DECLARE_HANDLE(HMENU);
 54DECLARE_HANDLE(HPALETTE);
 55DECLARE_HANDLE(HPEN);
 56DECLARE_HANDLE(HMONITOR);
 57#define HMONITOR_DECLARED 1
 58DECLARE_HANDLE(HWINEVENTHOOK);
 59
 60typedef HICON HCURSOR;
 61typedef DWORD COLORREF;
 62#endif
 63
 64#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
 65DECLARE_HANDLE(HUMPD);
 66
 67typedef DWORD *LPCOLORREF;
 68
 69#define HFILE_ERROR ((HFILE)-1)
 70#endif
 71
 72#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
 73typedef struct tagRECT {
 74  LONG left;
 75  LONG top;
 76  LONG right;
 77  LONG bottom;
 78} RECT,*PRECT,*NPRECT,*LPRECT;
 79
 80typedef const RECT *LPCRECT;
 81
 82typedef struct _RECTL {
 83  LONG left;
 84  LONG top;
 85  LONG right;
 86  LONG bottom;
 87} RECTL,*PRECTL,*LPRECTL;
 88
 89typedef const RECTL *LPCRECTL;
 90
 91typedef struct tagPOINT {
 92  LONG x;
 93  LONG y;
 94} POINT,*PPOINT,*NPPOINT,*LPPOINT;
 95
 96typedef struct _POINTL {
 97  LONG x;
 98  LONG y;
 99} POINTL,*PPOINTL;
100
101typedef struct tagSIZE {
102  LONG cx;
103  LONG cy;
104} SIZE,*PSIZE,*LPSIZE;
105
106typedef SIZE SIZEL;
107typedef SIZE *PSIZEL,*LPSIZEL;
108
109typedef struct tagPOINTS {
110  SHORT x;
111  SHORT y;
112} POINTS,*PPOINTS,*LPPOINTS;
113
114#define APP_LOCAL_DEVICE_ID_SIZE 32
115
116typedef struct APP_LOCAL_DEVICE_ID {
117  BYTE value[APP_LOCAL_DEVICE_ID_SIZE];
118} APP_LOCAL_DEVICE_ID;
119
120#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) */
121
122#define DM_UPDATE 1
123#define DM_COPY 2
124#define DM_PROMPT 4
125#define DM_MODIFY 8
126
127#define DM_IN_BUFFER DM_MODIFY
128#define DM_IN_PROMPT DM_PROMPT
129#define DM_OUT_BUFFER DM_COPY
130#define DM_OUT_DEFAULT DM_UPDATE
131
132#define DC_FIELDS 1
133#define DC_PAPERS 2
134#define DC_PAPERSIZE 3
135#define DC_MINEXTENT 4
136#define DC_MAXEXTENT 5
137#define DC_BINS 6
138#define DC_DUPLEX 7
139#define DC_SIZE 8
140#define DC_EXTRA 9
141#define DC_VERSION 10
142#define DC_DRIVER 11
143#define DC_BINNAMES 12
144#define DC_ENUMRESOLUTIONS 13
145#define DC_FILEDEPENDENCIES 14
146#define DC_TRUETYPE 15
147#define DC_PAPERNAMES 16
148#define DC_ORIENTATION 17
149#define DC_COPIES 18
150
151#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
152
153#define _DPI_AWARENESS_CONTEXTS_
154
155DECLARE_HANDLE(DPI_AWARENESS_CONTEXT);
156
157typedef enum DPI_AWARENESS {
158  DPI_AWARENESS_INVALID = -1,
159  DPI_AWARENESS_UNAWARE = 0,
160  DPI_AWARENESS_SYSTEM_AWARE = 1,
161  DPI_AWARENESS_PER_MONITOR_AWARE = 2
162} DPI_AWARENESS;
163
164#define DPI_AWARENESS_CONTEXT_UNAWARE ((DPI_AWARENESS_CONTEXT)-1)
165#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ((DPI_AWARENESS_CONTEXT)-2)
166#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ((DPI_AWARENESS_CONTEXT)-3)
167#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4)
168#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5)
169
170typedef enum DPI_HOSTING_BEHAVIOR {
171  DPI_HOSTING_BEHAVIOR_INVALID = -1,
172  DPI_HOSTING_BEHAVIOR_DEFAULT = 0,
173  DPI_HOSTING_BEHAVIOR_MIXED = 1
174} DPI_HOSTING_BEHAVIOR;
175
176#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
177
178#ifdef __cplusplus
179}
180#endif
181
182#endif /* _WINDEF_ */