windef.h 3.7 KB

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