Hex Artifact Content

Not logged in

Artifact 9189fd75dd1f34fce7eb9089239f57b17840c9bd:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 77 69 6e 64 65 66 3b 0d 0a 0d 0a 2f 2f 20  i.windef;....// 
0020: 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20  Translated from 
0030: 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f  Microsoft Platfo
0040: 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20 32 30  rm SDK August 20
0050: 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62  01 Edition..// b
0060: 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f  y Y.Tomino (demo
0070: 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a 70 29  onlit@inter7.jp)
0080: 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  ....alias void* 
0090: 76 61 5f 6c 69 73 74 3b 0d 0a 61 6c 69 61 73 20  va_list;..alias 
00a0: 6c 6f 6e 67 20 5f 5f 69 6e 74 36 34 3b 0d 0a 61  long __int64;..a
00b0: 6c 69 61 73 20 75 6c 6f 6e 67 20 44 57 4f 52 44  lias ulong DWORD
00c0: 36 34 3b 0d 0a 61 6c 69 61 73 20 75 69 6e 74 20  64;..alias uint 
00d0: 53 49 5a 45 5f 54 3b 0d 0a 61 6c 69 61 73 20 53  SIZE_T;..alias S
00e0: 49 5a 45 5f 54 2a 20 50 53 49 5a 45 5f 54 3b 0d  IZE_T* PSIZE_T;.
00f0: 0a 61 6c 69 61 73 20 69 6e 74 20 49 4e 54 5f 50  .alias int INT_P
0100: 54 52 3b 0d 0a 61 6c 69 61 73 20 75 69 6e 74 20  TR;..alias uint 
0110: 55 49 4e 54 5f 50 54 52 3b 0d 0a 61 6c 69 61 73  UINT_PTR;..alias
0120: 20 75 69 6e 74 20 4c 4f 4e 47 5f 50 54 52 3b 0d   uint LONG_PTR;.
0130: 0a 61 6c 69 61 73 20 75 69 6e 74 20 55 4c 4f 4e  .alias uint ULON
0140: 47 5f 50 54 52 3b 0d 0a 61 6c 69 61 73 20 75 69  G_PTR;..alias ui
0150: 6e 74 20 44 57 4f 52 44 5f 50 54 52 3b 0d 0a 61  nt DWORD_PTR;..a
0160: 6c 69 61 73 20 44 57 4f 52 44 5f 50 54 52 2a 20  lias DWORD_PTR* 
0170: 50 44 57 4f 52 44 5f 50 54 52 3b 0d 0a 61 6c 69  PDWORD_PTR;..ali
0180: 61 73 20 55 49 4e 54 5f 50 54 52 2a 20 50 55 49  as UINT_PTR* PUI
0190: 4e 54 5f 50 54 52 3b 0d 0a 61 6c 69 61 73 20 55  NT_PTR;..alias U
01a0: 4c 4f 4e 47 5f 50 54 52 2a 20 50 55 4c 4f 4e 47  LONG_PTR* PULONG
01b0: 5f 50 54 52 3b 0d 0a 65 6e 75 6d 20 3a 20 55 49  _PTR;..enum : UI
01c0: 4e 54 20 7b 20 55 49 4e 54 5f 4d 41 58 20 3d 20  NT { UINT_MAX = 
01d0: 55 49 4e 54 2e 6d 61 78 20 7d 0d 0a 0d 0a 2f 2f  UINT.max }....//
01e0: 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 44 45 46   #ifndef _WINDEF
01f0: 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 57  _..// #define _W
0200: 49 4e 44 45 46 5f 0d 0a 0d 0a 2f 2f 20 23 69 66  INDEF_....// #if
0210: 6e 64 65 66 20 4e 4f 5f 53 54 52 49 43 54 0d 0a  ndef NO_STRICT..
0220: 2f 2f 20 23 69 66 6e 64 65 66 20 53 54 52 49 43  // #ifndef STRIC
0230: 54 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  T..// #.....// #
0240: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
0250: 20 2f 2a 20 4e 4f 5f 53 54 52 49 43 54 20 2a 2f   /* NO_STRICT */
0260: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4d  ....// #ifdef _M
0270: 41 43 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  AC..// #ifndef _
0280: 57 49 4e 33 32 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  WIN32..// #.....
0290: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
02a0: 6e 64 69 66 20 2f 2f 5f 4d 41 43 0d 0a 0d 0a 2f  ndif //_MAC..../
02b0: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
02c0: 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65 72 6e 20  plus..// extern 
02d0: 22 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e 64 69 66  "C" {..// #endif
02e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 57  ....// #ifndef W
02f0: 49 4e 56 45 52 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  INVER..// #.....
0300: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
0310: 56 45 52 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  VER */....// #if
0320: 6e 64 65 66 20 42 41 53 45 54 59 50 45 53 0d 0a  ndef BASETYPES..
0330: 2f 2f 20 23 64 65 66 69 6e 65 20 42 41 53 45 54  // #define BASET
0340: 59 50 45 53 0d 0a 61 6c 69 61 73 20 75 69 6e 74  YPES..alias uint
0350: 20 55 4c 4f 4e 47 3b 0d 0a 61 6c 69 61 73 20 55   ULONG;..alias U
0360: 4c 4f 4e 47 2a 20 50 55 4c 4f 4e 47 3b 0d 0a 61  LONG* PULONG;..a
0370: 6c 69 61 73 20 75 73 68 6f 72 74 20 55 53 48 4f  lias ushort USHO
0380: 52 54 3b 0d 0a 61 6c 69 61 73 20 55 53 48 4f 52  RT;..alias USHOR
0390: 54 2a 20 50 55 53 48 4f 52 54 3b 0d 0a 61 6c 69  T* PUSHORT;..ali
03a0: 61 73 20 75 62 79 74 65 20 55 43 48 41 52 3b 0d  as ubyte UCHAR;.
03b0: 0a 61 6c 69 61 73 20 55 43 48 41 52 2a 20 50 55  .alias UCHAR* PU
03c0: 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20 63 68 61  CHAR;..alias cha
03d0: 72 2a 20 50 53 5a 3b 0d 0a 2f 2f 20 23 65 6e 64  r* PSZ;..// #end
03e0: 69 66 20 20 2f 2a 20 21 42 41 53 45 54 59 50 45  if  /* !BASETYPE
03f0: 53 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  S */....enum : u
0400: 69 6e 74 20 7b 20 4d 41 58 5f 50 41 54 48 20 3d  int { MAX_PATH =
0410: 20 32 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   260 }....// #if
0420: 6e 64 65 66 20 4e 55 4c 4c 0d 0a 2f 2f 20 23 69  ndef NULL..// #i
0430: 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
0440: 0d 0a 63 6f 6e 73 74 20 76 6f 69 64 2a 20 4e 55  ..const void* NU
0450: 4c 4c 20 3d 20 6e 75 6c 6c 3b 0d 0a 2f 2f 20 23  LL = null;..// #
0460: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
0470: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
0480: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
0490: 66 20 46 41 4c 53 45 0d 0a 65 6e 75 6d 20 3a 20  f FALSE..enum : 
04a0: 75 69 6e 74 20 7b 20 46 41 4c 53 45 20 3d 20 30  uint { FALSE = 0
04b0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
04c0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 54 52 55 45  .// #ifndef TRUE
04d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
04e0: 54 52 55 45 20 3d 20 31 20 7d 0d 0a 2f 2f 20 23  TRUE = 1 }..// #
04f0: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
0500: 64 65 66 20 49 4e 0d 0a 2f 2f 20 23 64 65 66 69  def IN..// #defi
0510: 6e 65 20 49 4e 0d 0a 2f 2f 20 23 65 6e 64 69 66  ne IN..// #endif
0520: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4f  ....// #ifndef O
0530: 55 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4f  UT..// #define O
0540: 55 54 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  UT..// #endif...
0550: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4f 50 54 49  .// #ifndef OPTI
0560: 4f 4e 41 4c 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  ONAL..// #define
0570: 20 4f 50 54 49 4f 4e 41 4c 0d 0a 2f 2f 20 23 65   OPTIONAL..// #e
0580: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 75 6e 64 65  ndif....// #unde
0590: 66 20 66 61 72 0d 0a 2f 2f 20 23 75 6e 64 65 66  f far..// #undef
05a0: 20 6e 65 61 72 0d 0a 2f 2f 20 23 75 6e 64 65 66   near..// #undef
05b0: 20 70 61 73 63 61 6c 0d 0a 0d 0a 2f 2f 20 23 64   pascal....// #d
05c0: 65 66 69 6e 65 20 66 61 72 0d 0a 2f 2f 20 23 64  efine far..// #d
05d0: 65 66 69 6e 65 20 6e 65 61 72 0d 0a 2f 2f 20 23  efine near..// #
05e0: 69 66 20 28 21 64 65 66 69 6e 65 64 28 5f 4d 41  if (!defined(_MA
05f0: 43 29 29 20 26 26 20 28 28 5f 4d 53 43 5f 56 45  C)) && ((_MSC_VE
0600: 52 20 3e 3d 20 38 30 30 29 20 7c 7c 20 64 65 66  R >= 800) || def
0610: 69 6e 65 64 28 5f 53 54 44 43 41 4c 4c 5f 53 55  ined(_STDCALL_SU
0620: 50 50 4f 52 54 45 44 29 29 0d 0a 2f 2f 20 23 64  PPORTED))..// #d
0630: 65 66 69 6e 65 20 70 61 73 63 61 6c 20 5f 5f 73  efine pascal __s
0640: 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23 65 6c 73 65  tdcall..// #else
0650: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0660: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64  ndif....// #if d
0670: 65 66 69 6e 65 64 28 44 4f 53 57 49 4e 33 32 29  efined(DOSWIN32)
0680: 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 41 43   || defined(_MAC
0690: 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
06a0: 69 66 6e 64 65 66 20 43 44 45 43 4c 0d 0a 2f 2f  ifndef CDECL..//
06b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
06c0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
06d0: 64 65 66 69 6e 65 20 63 64 65 63 6c 0d 0a 2f 2f  define cdecl..//
06e0: 20 23 69 66 6e 64 65 66 20 43 44 45 43 4c 0d 0a   #ifndef CDECL..
06f0: 2f 2f 20 23 64 65 66 69 6e 65 20 43 44 45 43 4c  // #define CDECL
0700: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
0710: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
0720: 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 2e 2e  def _MAC..// #..
0730: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
0740: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
0750: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66   #.....// #ifdef
0760: 20 5f 36 38 4b 5f 0d 0a 2f 2f 20 23 2e 2e 2e 0d   _68K_..// #....
0770: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
0780: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
0790: 2f 20 23 65 6c 69 66 20 28 5f 4d 53 43 5f 56 45  / #elif (_MSC_VE
07a0: 52 20 3e 3d 20 38 30 30 29 20 7c 7c 20 64 65 66  R >= 800) || def
07b0: 69 6e 65 64 28 5f 53 54 44 43 41 4c 4c 5f 53 55  ined(_STDCALL_SU
07c0: 50 50 4f 52 54 45 44 29 0d 0a 2f 2f 20 23 64 65  PPORTED)..// #de
07d0: 66 69 6e 65 20 43 41 4c 4c 42 41 43 4b 20 5f 5f  fine CALLBACK __
07e0: 73 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23 64 65 66  stdcall..// #def
07f0: 69 6e 65 20 57 49 4e 41 50 49 20 5f 5f 73 74 64  ine WINAPI __std
0800: 63 61 6c 6c 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  call..// #define
0810: 20 57 49 4e 41 50 49 56 20 5f 5f 63 64 65 63 6c   WINAPIV __cdecl
0820: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 41 50 49  ..// #define API
0830: 45 4e 54 52 59 20 57 49 4e 41 50 49 0d 0a 2f 2f  ENTRY WINAPI..//
0840: 20 23 64 65 66 69 6e 65 20 41 50 49 50 52 49 56   #define APIPRIV
0850: 41 54 45 20 5f 5f 73 74 64 63 61 6c 6c 0d 0a 2f  ATE __stdcall../
0860: 2f 20 23 64 65 66 69 6e 65 20 50 41 53 43 41 4c  / #define PASCAL
0870: 20 5f 5f 73 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23   __stdcall..// #
0880: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
0890: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
08a0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
08b0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
08c0: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 75 6e 64  endif....// #und
08d0: 65 66 20 46 41 52 0d 0a 2f 2f 20 23 75 6e 64 65  ef FAR..// #unde
08e0: 66 20 20 4e 45 41 52 0d 0a 2f 2f 20 23 64 65 66  f  NEAR..// #def
08f0: 69 6e 65 20 46 41 52 20 66 61 72 0d 0a 2f 2f 20  ine FAR far..// 
0900: 23 64 65 66 69 6e 65 20 4e 45 41 52 20 6e 65 61  #define NEAR nea
0910: 72 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 43 4f  r..// #ifndef CO
0920: 4e 53 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  NST..// #define 
0930: 43 4f 4e 53 54 20 63 6f 6e 73 74 0d 0a 2f 2f 20  CONST const..// 
0940: 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
0950: 75 69 6e 74 20 44 57 4f 52 44 3b 0d 0a 61 6c 69  uint DWORD;..ali
0960: 61 73 20 69 6e 74 20 42 4f 4f 4c 3b 0d 0a 61 6c  as int BOOL;..al
0970: 69 61 73 20 75 62 79 74 65 20 42 59 54 45 3b 0d  ias ubyte BYTE;.
0980: 0a 61 6c 69 61 73 20 75 73 68 6f 72 74 20 57 4f  .alias ushort WO
0990: 52 44 3b 0d 0a 61 6c 69 61 73 20 66 6c 6f 61 74  RD;..alias float
09a0: 20 46 4c 4f 41 54 3b 0d 0a 61 6c 69 61 73 20 46   FLOAT;..alias F
09b0: 4c 4f 41 54 2a 20 50 46 4c 4f 41 54 3b 0d 0a 61  LOAT* PFLOAT;..a
09c0: 6c 69 61 73 20 42 4f 4f 4c 2a 20 50 42 4f 4f 4c  lias BOOL* PBOOL
09d0: 3b 0d 0a 61 6c 69 61 73 20 42 4f 4f 4c 2a 20 4c  ;..alias BOOL* L
09e0: 50 42 4f 4f 4c 3b 0d 0a 61 6c 69 61 73 20 42 59  PBOOL;..alias BY
09f0: 54 45 2a 20 50 42 59 54 45 3b 0d 0a 61 6c 69 61  TE* PBYTE;..alia
0a00: 73 20 42 59 54 45 2a 20 4c 50 42 59 54 45 3b 0d  s BYTE* LPBYTE;.
0a10: 0a 61 6c 69 61 73 20 69 6e 74 2a 20 50 49 4e 54  .alias int* PINT
0a20: 3b 0d 0a 61 6c 69 61 73 20 69 6e 74 2a 20 4c 50  ;..alias int* LP
0a30: 49 4e 54 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44  INT;..alias WORD
0a40: 2a 20 50 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20  * PWORD;..alias 
0a50: 57 4f 52 44 2a 20 4c 50 57 4f 52 44 3b 0d 0a 61  WORD* LPWORD;..a
0a60: 6c 69 61 73 20 69 6e 74 2a 20 4c 50 4c 4f 4e 47  lias int* LPLONG
0a70: 3b 0d 0a 61 6c 69 61 73 20 44 57 4f 52 44 2a 20  ;..alias DWORD* 
0a80: 50 44 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20 44  PDWORD;..alias D
0a90: 57 4f 52 44 2a 20 4c 50 44 57 4f 52 44 3b 0d 0a  WORD* LPDWORD;..
0aa0: 61 6c 69 61 73 20 76 6f 69 64 2a 20 4c 50 56 4f  alias void* LPVO
0ab0: 49 44 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  ID;..alias void*
0ac0: 20 4c 50 43 56 4f 49 44 3b 0d 0a 0d 0a 61 6c 69   LPCVOID;....ali
0ad0: 61 73 20 69 6e 74 20 49 4e 54 3b 0d 0a 61 6c 69  as int INT;..ali
0ae0: 61 73 20 75 69 6e 74 20 55 49 4e 54 3b 0d 0a 61  as uint UINT;..a
0af0: 6c 69 61 73 20 75 69 6e 74 2a 20 50 55 49 4e 54  lias uint* PUINT
0b00: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  ;....// #ifndef 
0b10: 4e 54 5f 49 4e 43 4c 55 44 45 44 0d 0a 69 6d 70  NT_INCLUDED..imp
0b20: 6f 72 74 20 77 69 6e 33 32 2e 61 6e 73 69 2e 77  ort win32.ansi.w
0b30: 69 6e 6e 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  innt;..// #endif
0b40: 20 2f 2a 20 4e 54 5f 49 4e 43 4c 55 44 45 44 20   /* NT_INCLUDED 
0b50: 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 55 49 4e 54  */....alias UINT
0b60: 5f 50 54 52 20 57 50 41 52 41 4d 3b 0d 0a 61 6c  _PTR WPARAM;..al
0b70: 69 61 73 20 4c 4f 4e 47 5f 50 54 52 20 4c 50 41  ias LONG_PTR LPA
0b80: 52 41 4d 3b 0d 0a 61 6c 69 61 73 20 4c 4f 4e 47  RAM;..alias LONG
0b90: 5f 50 54 52 20 4c 52 45 53 55 4c 54 3b 0d 0a 0d  _PTR LRESULT;...
0ba0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 49  .// #ifndef NOMI
0bb0: 4e 4d 41 58 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  NMAX....// #ifnd
0bc0: 65 66 20 6d 61 78 0d 0a 69 6e 74 20 6d 61 78 28  ef max..int max(
0bd0: 69 6e 74 20 61 2c 20 69 6e 74 20 62 29 7b 20 72  int a, int b){ r
0be0: 65 74 75 72 6e 20 28 61 20 3e 20 62 29 3f 20 61  eturn (a > b)? a
0bf0: 20 3a 20 62 3b 20 7d 0d 0a 75 69 6e 74 20 6d 61   : b; }..uint ma
0c00: 78 28 75 69 6e 74 20 61 2c 20 75 69 6e 74 20 62  x(uint a, uint b
0c10: 29 7b 20 72 65 74 75 72 6e 20 28 61 20 3e 20 62  ){ return (a > b
0c20: 29 3f 20 61 20 3a 20 62 3b 20 7d 0d 0a 72 65 61  )? a : b; }..rea
0c30: 6c 20 6d 61 78 28 72 65 61 6c 20 61 2c 20 72 65  l max(real a, re
0c40: 61 6c 20 62 29 7b 20 72 65 74 75 72 6e 20 28 61  al b){ return (a
0c50: 20 3e 20 62 29 3f 20 61 20 3a 20 62 3b 20 7d 0d   > b)? a : b; }.
0c60: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
0c70: 20 23 69 66 6e 64 65 66 20 6d 69 6e 0d 0a 69 6e   #ifndef min..in
0c80: 74 20 6d 69 6e 28 69 6e 74 20 61 2c 20 69 6e 74  t min(int a, int
0c90: 20 62 29 7b 20 72 65 74 75 72 6e 20 28 61 20 3c   b){ return (a <
0ca0: 20 62 29 3f 20 61 20 3a 20 62 3b 20 7d 0d 0a 75   b)? a : b; }..u
0cb0: 69 6e 74 20 6d 69 6e 28 75 69 6e 74 20 61 2c 20  int min(uint a, 
0cc0: 75 69 6e 74 20 62 29 7b 20 72 65 74 75 72 6e 20  uint b){ return 
0cd0: 28 61 20 3c 20 62 29 3f 20 61 20 3a 20 62 3b 20  (a < b)? a : b; 
0ce0: 7d 0d 0a 72 65 61 6c 20 6d 69 6e 28 72 65 61 6c  }..real min(real
0cf0: 20 61 2c 20 72 65 61 6c 20 62 29 7b 20 72 65 74   a, real b){ ret
0d00: 75 72 6e 20 28 61 20 3c 20 62 29 3f 20 61 20 3a  urn (a < b)? a :
0d10: 20 62 3b 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66   b; }..// #endif
0d20: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  ....// #endif  /
0d30: 2a 20 4e 4f 4d 49 4e 4d 41 58 20 2a 2f 0d 0a 0d  * NOMINMAX */...
0d40: 0a 75 73 68 6f 72 74 20 4d 41 4b 45 57 4f 52 44  .ushort MAKEWORD
0d50: 28 62 79 74 65 20 61 2c 20 62 79 74 65 20 62 29  (byte a, byte b)
0d60: 7b 20 72 65 74 75 72 6e 20 28 61 20 26 20 30 78  { return (a & 0x
0d70: 66 66 29 20 7c 20 28 28 62 20 26 20 30 78 66 66  ff) | ((b & 0xff
0d80: 29 20 3c 3c 20 38 29 3b 20 7d 0d 0a 75 69 6e 74  ) << 8); }..uint
0d90: 20 4d 41 4b 45 4c 4f 4e 47 28 75 73 68 6f 72 74   MAKELONG(ushort
0da0: 20 61 2c 20 75 73 68 6f 72 74 20 62 29 7b 20 72   a, ushort b){ r
0db0: 65 74 75 72 6e 20 28 61 20 26 20 30 78 66 66 66  eturn (a & 0xfff
0dc0: 66 29 20 7c 20 28 28 62 20 26 20 30 78 66 66 66  f) | ((b & 0xfff
0dd0: 66 29 20 3c 3c 20 31 36 29 3b 20 7d 0d 0a 75 73  f) << 16); }..us
0de0: 68 6f 72 74 20 4c 4f 57 4f 52 44 28 75 69 6e 74  hort LOWORD(uint
0df0: 20 6c 29 7b 20 72 65 74 75 72 6e 20 6c 20 26 20   l){ return l & 
0e00: 30 78 66 66 66 66 3b 20 7d 0d 0a 75 73 68 6f 72  0xffff; }..ushor
0e10: 74 20 48 49 57 4f 52 44 28 75 69 6e 74 20 6c 29  t HIWORD(uint l)
0e20: 7b 20 72 65 74 75 72 6e 20 6c 20 3e 3e 3e 20 31  { return l >>> 1
0e30: 36 3b 20 7d 0d 0a 75 62 79 74 65 20 4c 4f 42 59  6; }..ubyte LOBY
0e40: 54 45 28 75 73 68 6f 72 74 20 6c 29 7b 20 72 65  TE(ushort l){ re
0e50: 74 75 72 6e 20 6c 20 26 20 30 78 66 66 3b 20 7d  turn l & 0xff; }
0e60: 0d 0a 75 62 79 74 65 20 48 49 42 59 54 45 28 75  ..ubyte HIBYTE(u
0e70: 73 68 6f 72 74 20 6c 29 7b 20 72 65 74 75 72 6e  short l){ return
0e80: 20 6c 20 3e 3e 3e 20 38 3b 20 7d 0d 0a 0d 0a 2f   l >>> 8; }..../
0e90: 2f 20 23 69 66 6e 64 65 66 20 57 49 4e 5f 49 4e  / #ifndef WIN_IN
0ea0: 54 45 52 4e 41 4c 0d 0a 61 6c 69 61 73 20 76 6f  TERNAL..alias vo
0eb0: 69 64 2a 20 48 57 4e 44 3b 0d 0a 61 6c 69 61 73  id* HWND;..alias
0ec0: 20 76 6f 69 64 2a 20 48 48 4f 4f 4b 3b 0d 0a 2f   void* HHOOK;../
0ed0: 2f 20 23 69 66 64 65 66 20 57 49 4e 41 42 4c 45  / #ifdef WINABLE
0ee0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
0ef0: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  dif..// #endif..
0f00: 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 41 54 4f  ..alias WORD ATO
0f10: 4d 3b 0d 0a 0d 0a 61 6c 69 61 73 20 48 41 4e 44  M;....alias HAND
0f20: 4c 45 2a 20 53 50 48 41 4e 44 4c 45 3b 0d 0a 61  LE* SPHANDLE;..a
0f30: 6c 69 61 73 20 48 41 4e 44 4c 45 2a 20 4c 50 48  lias HANDLE* LPH
0f40: 41 4e 44 4c 45 3b 0d 0a 61 6c 69 61 73 20 48 41  ANDLE;..alias HA
0f50: 4e 44 4c 45 20 48 47 4c 4f 42 41 4c 3b 0d 0a 61  NDLE HGLOBAL;..a
0f60: 6c 69 61 73 20 48 41 4e 44 4c 45 20 48 4c 4f 43  lias HANDLE HLOC
0f70: 41 4c 3b 0d 0a 61 6c 69 61 73 20 48 41 4e 44 4c  AL;..alias HANDL
0f80: 45 20 47 4c 4f 42 41 4c 48 41 4e 44 4c 45 3b 0d  E GLOBALHANDLE;.
0f90: 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20 4c 4f  .alias HANDLE LO
0fa0: 43 41 4c 48 41 4e 44 4c 45 3b 0d 0a 2f 2f 20 23  CALHANDLE;..// #
0fb0: 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20  ifndef _MAC..// 
0fc0: 23 69 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f  #ifdef _WIN64../
0fd0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
0fe0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
0ff0: 20 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74   alias int funct
1000: 69 6f 6e 28 29 20 46 41 52 50 52 4f 43 3b 0d 0a  ion() FARPROC;..
1010: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1020: 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69  alias int functi
1030: 6f 6e 28 29 20 4e 45 41 52 50 52 4f 43 3b 0d 0a  on() NEARPROC;..
1040: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1050: 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69  alias int functi
1060: 6f 6e 28 29 20 50 52 4f 43 3b 0d 0a 2f 2f 20 23  on() PROC;..// #
1070: 65 6e 64 69 66 20 20 2f 2f 20 5f 57 49 4e 36 34  endif  // _WIN64
1080: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
1090: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
10a0: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
10b0: 28 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66 69 6e  (_MAC) || !defin
10c0: 65 64 28 47 44 49 5f 49 4e 54 45 52 4e 41 4c 29  ed(GDI_INTERNAL)
10d0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49  ..// #ifdef STRI
10e0: 43 54 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  CT..alias void* 
10f0: 48 47 44 49 4f 42 4a 3b 0d 0a 2f 2f 20 23 65 6c  HGDIOBJ;..// #el
1100: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
1110: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
1120: 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  ....alias void* 
1130: 48 4b 45 59 3b 0d 0a 61 6c 69 61 73 20 48 4b 45  HKEY;..alias HKE
1140: 59 2a 20 50 48 4b 45 59 3b 0d 0a 0d 0a 2f 2f 20  Y* PHKEY;....// 
1150: 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 4d 41  #if !defined(_MA
1160: 43 29 20 7c 7c 20 21 64 65 66 69 6e 65 64 28 57  C) || !defined(W
1170: 49 4e 5f 49 4e 54 45 52 4e 41 4c 29 0d 0a 61 6c  IN_INTERNAL)..al
1180: 69 61 73 20 76 6f 69 64 2a 20 48 41 43 43 45 4c  ias void* HACCEL
1190: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  ;..// #endif..//
11a0: 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 4d   #if !defined(_M
11b0: 41 43 29 20 7c 7c 20 21 64 65 66 69 6e 65 64 28  AC) || !defined(
11c0: 47 44 49 5f 49 4e 54 45 52 4e 41 4c 29 0d 0a 61  GDI_INTERNAL)..a
11d0: 6c 69 61 73 20 76 6f 69 64 2a 20 48 42 49 54 4d  lias void* HBITM
11e0: 41 50 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  AP;..alias void*
11f0: 20 48 42 52 55 53 48 3b 0d 0a 2f 2f 20 23 65 6e   HBRUSH;..// #en
1200: 64 69 66 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  dif..// #if(WINV
1210: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61  ER >= 0x0400)..a
1220: 6c 69 61 73 20 76 6f 69 64 2a 20 48 43 4f 4c 4f  lias void* HCOLO
1230: 52 53 50 41 43 45 3b 0d 0a 2f 2f 20 23 65 6e 64  RSPACE;..// #end
1240: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
1250: 30 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69  0x0400 */..// #i
1260: 66 20 21 64 65 66 69 6e 65 64 28 5f 4d 41 43 29  f !defined(_MAC)
1270: 20 7c 7c 20 21 64 65 66 69 6e 65 64 28 47 44 49   || !defined(GDI
1280: 5f 49 4e 54 45 52 4e 41 4c 29 0d 0a 61 6c 69 61  _INTERNAL)..alia
1290: 73 20 76 6f 69 64 2a 20 48 44 43 3b 0d 0a 2f 2f  s void* HDC;..//
12a0: 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 76   #endif..alias v
12b0: 6f 69 64 2a 20 48 47 4c 52 43 3b 0d 0a 61 6c 69  oid* HGLRC;..ali
12c0: 61 73 20 76 6f 69 64 2a 20 48 44 45 53 4b 3b 0d  as void* HDESK;.
12d0: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 45 4e  .alias void* HEN
12e0: 48 4d 45 54 41 46 49 4c 45 3b 0d 0a 2f 2f 20 23  HMETAFILE;..// #
12f0: 69 66 20 21 64 65 66 69 6e 65 64 28 5f 4d 41 43  if !defined(_MAC
1300: 29 20 7c 7c 20 21 64 65 66 69 6e 65 64 28 47 44  ) || !defined(GD
1310: 49 5f 49 4e 54 45 52 4e 41 4c 29 0d 0a 61 6c 69  I_INTERNAL)..ali
1320: 61 73 20 76 6f 69 64 2a 20 48 46 4f 4e 54 3b 0d  as void* HFONT;.
1330: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61  .// #endif..alia
1340: 73 20 76 6f 69 64 2a 20 48 49 43 4f 4e 3b 0d 0a  s void* HICON;..
1350: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
1360: 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66 69 6e 65  _MAC) || !define
1370: 64 28 57 49 4e 5f 49 4e 54 45 52 4e 41 4c 29 0d  d(WIN_INTERNAL).
1380: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 45  .alias void* HME
1390: 4e 55 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  NU;..// #endif..
13a0: 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 45 54  alias void* HMET
13b0: 41 46 49 4c 45 3b 0d 0a 61 6c 69 61 73 20 76 6f  AFILE;..alias vo
13c0: 69 64 2a 20 48 49 4e 53 54 41 4e 43 45 3b 0d 0a  id* HINSTANCE;..
13d0: 61 6c 69 61 73 20 48 49 4e 53 54 41 4e 43 45 20  alias HINSTANCE 
13e0: 48 4d 4f 44 55 4c 45 3b 0d 0a 2f 2f 20 23 69 66  HMODULE;..// #if
13f0: 20 21 64 65 66 69 6e 65 64 28 5f 4d 41 43 29 20   !defined(_MAC) 
1400: 7c 7c 20 21 64 65 66 69 6e 65 64 28 47 44 49 5f  || !defined(GDI_
1410: 49 4e 54 45 52 4e 41 4c 29 0d 0a 61 6c 69 61 73  INTERNAL)..alias
1420: 20 76 6f 69 64 2a 20 48 50 41 4c 45 54 54 45 3b   void* HPALETTE;
1430: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 50  ..alias void* HP
1440: 45 4e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  EN;..// #endif..
1450: 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 52 47 4e  alias void* HRGN
1460: 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  ;..alias void* H
1470: 52 53 52 43 3b 0d 0a 61 6c 69 61 73 20 76 6f 69  RSRC;..alias voi
1480: 64 2a 20 48 53 54 52 3b 0d 0a 61 6c 69 61 73 20  d* HSTR;..alias 
1490: 76 6f 69 64 2a 20 48 54 41 53 4b 3b 0d 0a 61 6c  void* HTASK;..al
14a0: 69 61 73 20 76 6f 69 64 2a 20 48 57 49 4e 53 54  ias void* HWINST
14b0: 41 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  A;..alias void* 
14c0: 48 4b 4c 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  HKL;....// #if(W
14d0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
14e0: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41  ..// #ifndef _MA
14f0: 43 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  C..alias void* H
1500: 4d 4f 4e 49 54 4f 52 3b 0d 0a 61 6c 69 61 73 20  MONITOR;..alias 
1510: 76 6f 69 64 2a 20 48 57 49 4e 45 56 45 4e 54 48  void* HWINEVENTH
1520: 4f 4f 4b 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  OOK;..// #endif.
1530: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 55 4d  .alias void* HUM
1540: 50 44 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  PD;..// #endif /
1550: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
1560: 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  00 */....// #ifn
1570: 64 65 66 20 5f 4d 41 43 0d 0a 61 6c 69 61 73 20  def _MAC..alias 
1580: 69 6e 74 20 48 46 49 4c 45 3b 0d 0a 61 6c 69 61  int HFILE;..alia
1590: 73 20 48 49 43 4f 4e 20 48 43 55 52 53 4f 52 3b  s HICON HCURSOR;
15a0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
15b0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
15c0: 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 43 4f 4c  .alias DWORD COL
15d0: 4f 52 52 45 46 3b 0d 0a 61 6c 69 61 73 20 44 57  ORREF;..alias DW
15e0: 4f 52 44 2a 20 4c 50 43 4f 4c 4f 52 52 45 46 3b  ORD* LPCOLORREF;
15f0: 0d 0a 0d 0a 63 6f 6e 73 74 20 48 46 49 4c 45 20  ....const HFILE 
1600: 48 46 49 4c 45 5f 45 52 52 4f 52 20 3d 20 2d 31  HFILE_ERROR = -1
1610: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52  ;....struct tagR
1620: 45 43 54 20 7b 0d 0a 20 20 4c 4f 4e 47 20 6c 65  ECT {..  LONG le
1630: 66 74 3b 0d 0a 20 20 4c 4f 4e 47 20 74 6f 70 3b  ft;..  LONG top;
1640: 0d 0a 20 20 4c 4f 4e 47 20 72 69 67 68 74 3b 0d  ..  LONG right;.
1650: 0a 20 20 4c 4f 4e 47 20 62 6f 74 74 6f 6d 3b 0d  .  LONG bottom;.
1660: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 43  .}..alias tagREC
1670: 54 20 52 45 43 54 3b 0d 0a 61 6c 69 61 73 20 74  T RECT;..alias t
1680: 61 67 52 45 43 54 2a 20 50 52 45 43 54 3b 0d 0a  agRECT* PRECT;..
1690: 61 6c 69 61 73 20 74 61 67 52 45 43 54 2a 20 4e  alias tagRECT* N
16a0: 50 52 45 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61  PRECT;..alias ta
16b0: 67 52 45 43 54 2a 20 4c 50 52 45 43 54 3b 0d 0a  gRECT* LPRECT;..
16c0: 0d 0a 61 6c 69 61 73 20 52 45 43 54 2a 20 4c 50  ..alias RECT* LP
16d0: 43 52 45 43 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  CRECT;....struct
16e0: 20 5f 52 45 43 54 4c 20 7b 0d 0a 20 20 4c 4f 4e   _RECTL {..  LON
16f0: 47 20 6c 65 66 74 3b 0d 0a 20 20 4c 4f 4e 47 20  G left;..  LONG 
1700: 74 6f 70 3b 0d 0a 20 20 4c 4f 4e 47 20 72 69 67  top;..  LONG rig
1710: 68 74 3b 0d 0a 20 20 4c 4f 4e 47 20 62 6f 74 74  ht;..  LONG bott
1720: 6f 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52  om;..}..alias _R
1730: 45 43 54 4c 20 52 45 43 54 4c 3b 0d 0a 61 6c 69  ECTL RECTL;..ali
1740: 61 73 20 5f 52 45 43 54 4c 2a 20 50 52 45 43 54  as _RECTL* PRECT
1750: 4c 3b 0d 0a 61 6c 69 61 73 20 5f 52 45 43 54 4c  L;..alias _RECTL
1760: 2a 20 4c 50 52 45 43 54 4c 3b 0d 0a 0d 0a 61 6c  * LPRECTL;....al
1770: 69 61 73 20 52 45 43 54 4c 2a 20 4c 50 43 52 45  ias RECTL* LPCRE
1780: 43 54 4c 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  CTL;....struct t
1790: 61 67 50 4f 49 4e 54 20 7b 0d 0a 20 20 4c 4f 4e  agPOINT {..  LON
17a0: 47 20 78 3b 0d 0a 20 20 4c 4f 4e 47 20 79 3b 0d  G x;..  LONG y;.
17b0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 50 4f 49  .}..alias tagPOI
17c0: 4e 54 20 50 4f 49 4e 54 3b 0d 0a 61 6c 69 61 73  NT POINT;..alias
17d0: 20 74 61 67 50 4f 49 4e 54 2a 20 50 50 4f 49 4e   tagPOINT* PPOIN
17e0: 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 4f 49  T;..alias tagPOI
17f0: 4e 54 2a 20 4e 50 50 4f 49 4e 54 3b 0d 0a 61 6c  NT* NPPOINT;..al
1800: 69 61 73 20 74 61 67 50 4f 49 4e 54 2a 20 4c 50  ias tagPOINT* LP
1810: 50 4f 49 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  POINT;....struct
1820: 20 5f 50 4f 49 4e 54 4c 20 7b 0d 0a 20 20 4c 4f   _POINTL {..  LO
1830: 4e 47 20 78 3b 0d 0a 20 20 4c 4f 4e 47 20 79 3b  NG x;..  LONG y;
1840: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 4f 49 4e  ..}..alias _POIN
1850: 54 4c 20 50 4f 49 4e 54 4c 3b 0d 0a 61 6c 69 61  TL POINTL;..alia
1860: 73 20 5f 50 4f 49 4e 54 4c 2a 20 50 50 4f 49 4e  s _POINTL* PPOIN
1870: 54 4c 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  TL;....struct ta
1880: 67 53 49 5a 45 20 7b 0d 0a 20 20 4c 4f 4e 47 20  gSIZE {..  LONG 
1890: 63 78 3b 0d 0a 20 20 4c 4f 4e 47 20 63 79 3b 0d  cx;..  LONG cy;.
18a0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 49 5a  .}..alias tagSIZ
18b0: 45 20 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 20 74  E SIZE;..alias t
18c0: 61 67 53 49 5a 45 2a 20 50 53 49 5a 45 3b 0d 0a  agSIZE* PSIZE;..
18d0: 61 6c 69 61 73 20 74 61 67 53 49 5a 45 2a 20 4c  alias tagSIZE* L
18e0: 50 53 49 5a 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20  PSIZE;....alias 
18f0: 53 49 5a 45 20 53 49 5a 45 4c 3b 0d 0a 61 6c 69  SIZE SIZEL;..ali
1900: 61 73 20 53 49 5a 45 2a 20 50 53 49 5a 45 4c 3b  as SIZE* PSIZEL;
1910: 0d 0a 61 6c 69 61 73 20 53 49 5a 45 2a 20 4c 50  ..alias SIZE* LP
1920: 53 49 5a 45 4c 3b 0d 0a 0d 0a 73 74 72 75 63 74  SIZEL;....struct
1930: 20 74 61 67 50 4f 49 4e 54 53 20 7b 0d 0a 2f 2f   tagPOINTS {..//
1940: 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 20   #ifndef _MAC.. 
1950: 20 53 48 4f 52 54 20 78 3b 0d 0a 20 20 53 48 4f   SHORT x;..  SHO
1960: 52 54 20 79 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  RT y;..// #else.
1970: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
1980: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  if..}..alias tag
1990: 50 4f 49 4e 54 53 20 50 4f 49 4e 54 53 3b 0d 0a  POINTS POINTS;..
19a0: 61 6c 69 61 73 20 74 61 67 50 4f 49 4e 54 53 2a  alias tagPOINTS*
19b0: 20 50 50 4f 49 4e 54 53 3b 0d 0a 61 6c 69 61 73   PPOINTS;..alias
19c0: 20 74 61 67 50 4f 49 4e 54 53 2a 20 4c 50 50 4f   tagPOINTS* LPPO
19d0: 49 4e 54 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  INTS;....enum : 
19e0: 75 69 6e 74 20 7b 20 44 4d 5f 55 50 44 41 54 45  uint { DM_UPDATE
19f0: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
1a00: 69 6e 74 20 7b 20 44 4d 5f 43 4f 50 59 20 3d 20  int { DM_COPY = 
1a10: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1a20: 20 7b 20 44 4d 5f 50 52 4f 4d 50 54 20 3d 20 34   { DM_PROMPT = 4
1a30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a40: 7b 20 44 4d 5f 4d 4f 44 49 46 59 20 3d 20 38 20  { DM_MODIFY = 8 
1a50: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 44 4d 5f 4d 4f  }....alias DM_MO
1a60: 44 49 46 59 20 44 4d 5f 49 4e 5f 42 55 46 46 45  DIFY DM_IN_BUFFE
1a70: 52 3b 0d 0a 61 6c 69 61 73 20 44 4d 5f 50 52 4f  R;..alias DM_PRO
1a80: 4d 50 54 20 44 4d 5f 49 4e 5f 50 52 4f 4d 50 54  MPT DM_IN_PROMPT
1a90: 3b 0d 0a 61 6c 69 61 73 20 44 4d 5f 43 4f 50 59  ;..alias DM_COPY
1aa0: 20 44 4d 5f 4f 55 54 5f 42 55 46 46 45 52 3b 0d   DM_OUT_BUFFER;.
1ab0: 0a 61 6c 69 61 73 20 44 4d 5f 55 50 44 41 54 45  .alias DM_UPDATE
1ac0: 20 44 4d 5f 4f 55 54 5f 44 45 46 41 55 4c 54 3b   DM_OUT_DEFAULT;
1ad0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1ae0: 7b 20 44 43 5f 46 49 45 4c 44 53 20 3d 20 31 20  { DC_FIELDS = 1 
1af0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b00: 20 44 43 5f 50 41 50 45 52 53 20 3d 20 32 20 7d   DC_PAPERS = 2 }
1b10: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b20: 44 43 5f 50 41 50 45 52 53 49 5a 45 20 3d 20 33  DC_PAPERSIZE = 3
1b30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b40: 7b 20 44 43 5f 4d 49 4e 45 58 54 45 4e 54 20 3d  { DC_MINEXTENT =
1b50: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
1b60: 74 20 7b 20 44 43 5f 4d 41 58 45 58 54 45 4e 54  t { DC_MAXEXTENT
1b70: 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 5 }..enum : u
1b80: 69 6e 74 20 7b 20 44 43 5f 42 49 4e 53 20 3d 20  int { DC_BINS = 
1b90: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
1ba0: 20 7b 20 44 43 5f 44 55 50 4c 45 58 20 3d 20 37   { DC_DUPLEX = 7
1bb0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1bc0: 7b 20 44 43 5f 53 49 5a 45 20 3d 20 38 20 7d 0d  { DC_SIZE = 8 }.
1bd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1be0: 43 5f 45 58 54 52 41 20 3d 20 39 20 7d 0d 0a 65  C_EXTRA = 9 }..e
1bf0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f  num : uint { DC_
1c00: 56 45 52 53 49 4f 4e 20 3d 20 31 30 20 7d 0d 0a  VERSION = 10 }..
1c10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
1c20: 5f 44 52 49 56 45 52 20 3d 20 31 31 20 7d 0d 0a  _DRIVER = 11 }..
1c30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
1c40: 5f 42 49 4e 4e 41 4d 45 53 20 3d 20 31 32 20 7d  _BINNAMES = 12 }
1c50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c60: 44 43 5f 45 4e 55 4d 52 45 53 4f 4c 55 54 49 4f  DC_ENUMRESOLUTIO
1c70: 4e 53 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20  NS = 13 }..enum 
1c80: 3a 20 75 69 6e 74 20 7b 20 44 43 5f 46 49 4c 45  : uint { DC_FILE
1c90: 44 45 50 45 4e 44 45 4e 43 49 45 53 20 3d 20 31  DEPENDENCIES = 1
1ca0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1cb0: 20 7b 20 44 43 5f 54 52 55 45 54 59 50 45 20 3d   { DC_TRUETYPE =
1cc0: 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   15 }..enum : ui
1cd0: 6e 74 20 7b 20 44 43 5f 50 41 50 45 52 4e 41 4d  nt { DC_PAPERNAM
1ce0: 45 53 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20  ES = 16 }..enum 
1cf0: 3a 20 75 69 6e 74 20 7b 20 44 43 5f 4f 52 49 45  : uint { DC_ORIE
1d00: 4e 54 41 54 49 4f 4e 20 3d 20 31 37 20 7d 0d 0a  NTATION = 17 }..
1d10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
1d20: 5f 43 4f 50 49 45 53 20 3d 20 31 38 20 7d 0d 0a  _COPIES = 18 }..
1d30: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70  ..// #ifdef __cp
1d40: 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f  lusplus..// }../
1d50: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
1d60: 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 44 45 46  endif /* _WINDEF
1d70: 5f 20 2a 2f 0d 0a 0d 0a                          _ */....