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