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 DECLARE_HANDLE(HWINEVENTHOOK); 57 58 typedef HICON HCURSOR; 59 typedef DWORD COLORREF; 60 #endif 61 62 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 63 DECLARE_HANDLE(HUMPD); 64 65 typedef DWORD *LPCOLORREF; 66 67 #define HFILE_ERROR ((HFILE)-1) 68 #endif 69 70 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) 71 typedef struct tagRECT { 72 LONG left; 73 LONG top; 74 LONG right; 75 LONG bottom; 76 } RECT,*PRECT,*NPRECT,*LPRECT; 77 78 typedef const RECT *LPCRECT; 79 80 typedef struct _RECTL { 81 LONG left; 82 LONG top; 83 LONG right; 84 LONG bottom; 85 } RECTL,*PRECTL,*LPRECTL; 86 87 typedef const RECTL *LPCRECTL; 88 89 typedef struct tagPOINT { 90 LONG x; 91 LONG y; 92 } POINT,*PPOINT,*NPPOINT,*LPPOINT; 93 94 typedef struct _POINTL { 95 LONG x; 96 LONG y; 97 } POINTL,*PPOINTL; 98 99 typedef struct tagSIZE { 100 LONG cx; 101 LONG cy; 102 } SIZE,*PSIZE,*LPSIZE; 103 104 typedef SIZE SIZEL; 105 typedef SIZE *PSIZEL,*LPSIZEL; 106 107 typedef struct tagPOINTS { 108 SHORT x; 109 SHORT y; 110 } POINTS,*PPOINTS,*LPPOINTS; 111 #endif 112 113 #define DM_UPDATE 1 114 #define DM_COPY 2 115 #define DM_PROMPT 4 116 #define DM_MODIFY 8 117 118 #define DM_IN_BUFFER DM_MODIFY 119 #define DM_IN_PROMPT DM_PROMPT 120 #define DM_OUT_BUFFER DM_COPY 121 #define DM_OUT_DEFAULT DM_UPDATE 122 123 #define DC_FIELDS 1 124 #define DC_PAPERS 2 125 #define DC_PAPERSIZE 3 126 #define DC_MINEXTENT 4 127 #define DC_MAXEXTENT 5 128 #define DC_BINS 6 129 #define DC_DUPLEX 7 130 #define DC_SIZE 8 131 #define DC_EXTRA 9 132 #define DC_VERSION 10 133 #define DC_DRIVER 11 134 #define DC_BINNAMES 12 135 #define DC_ENUMRESOLUTIONS 13 136 #define DC_FILEDEPENDENCIES 14 137 #define DC_TRUETYPE 15 138 #define DC_PAPERNAMES 16 139 #define DC_ORIENTATION 17 140 #define DC_COPIES 18 141 142 #ifdef __cplusplus 143 } 144 #endif 145 146 #endif /* _WINDEF_ */ 147 148