Hex Artifact Content

Not logged in

Artifact ea907e90fcf49ce327325d6396273e6b07d5b5c9:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e  module win32.win
0010: 64 65 66 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73  def;....// Trans
0020: 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63 72 6f  lated from Micro
0030: 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20 53 44  soft Platform SD
0040: 4b 20 41 75 67 75 73 74 20 32 30 30 31 20 45 64  K August 2001 Ed
0050: 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59 2e 54  ition..// by Y.T
0060: 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c 69 74  omino (demoonlit
0070: 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d 0a 61  @inter7.jp)....a
0080: 6c 69 61 73 20 76 6f 69 64 2a 20 76 61 5f 6c 69  lias void* va_li
0090: 73 74 3b 0d 0a 61 6c 69 61 73 20 6c 6f 6e 67 20  st;..alias long 
00a0: 5f 5f 69 6e 74 36 34 3b 0d 0a 61 6c 69 61 73 20  __int64;..alias 
00b0: 75 6c 6f 6e 67 20 44 57 4f 52 44 36 34 3b 0d 0a  ulong DWORD64;..
00c0: 61 6c 69 61 73 20 75 69 6e 74 20 53 49 5a 45 5f  alias uint SIZE_
00d0: 54 3b 0d 0a 61 6c 69 61 73 20 53 49 5a 45 5f 54  T;..alias SIZE_T
00e0: 2a 20 50 53 49 5a 45 5f 54 3b 0d 0a 61 6c 69 61  * PSIZE_T;..alia
00f0: 73 20 69 6e 74 20 49 4e 54 5f 50 54 52 3b 0d 0a  s int INT_PTR;..
0100: 61 6c 69 61 73 20 75 69 6e 74 20 55 49 4e 54 5f  alias uint UINT_
0110: 50 54 52 3b 0d 0a 61 6c 69 61 73 20 75 69 6e 74  PTR;..alias uint
0120: 20 4c 4f 4e 47 5f 50 54 52 3b 0d 0a 61 6c 69 61   LONG_PTR;..alia
0130: 73 20 75 69 6e 74 20 55 4c 4f 4e 47 5f 50 54 52  s uint ULONG_PTR
0140: 3b 0d 0a 61 6c 69 61 73 20 75 69 6e 74 20 44 57  ;..alias uint DW
0150: 4f 52 44 5f 50 54 52 3b 0d 0a 61 6c 69 61 73 20  ORD_PTR;..alias 
0160: 44 57 4f 52 44 5f 50 54 52 2a 20 50 44 57 4f 52  DWORD_PTR* PDWOR
0170: 44 5f 50 54 52 3b 0d 0a 61 6c 69 61 73 20 55 49  D_PTR;..alias UI
0180: 4e 54 5f 50 54 52 2a 20 50 55 49 4e 54 5f 50 54  NT_PTR* PUINT_PT
0190: 52 3b 0d 0a 61 6c 69 61 73 20 55 4c 4f 4e 47 5f  R;..alias ULONG_
01a0: 50 54 52 2a 20 50 55 4c 4f 4e 47 5f 50 54 52 3b  PTR* PULONG_PTR;
01b0: 0d 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 20  ..enum : UINT { 
01c0: 55 49 4e 54 5f 4d 41 58 20 3d 20 55 49 4e 54 2e  UINT_MAX = UINT.
01d0: 6d 61 78 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  max }....// #ifn
01e0: 64 65 66 20 5f 57 49 4e 44 45 46 5f 0d 0a 2f 2f  def _WINDEF_..//
01f0: 20 23 64 65 66 69 6e 65 20 5f 57 49 4e 44 45 46   #define _WINDEF
0200: 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  _....// #ifndef 
0210: 4e 4f 5f 53 54 52 49 43 54 0d 0a 2f 2f 20 23 69  NO_STRICT..// #i
0220: 66 6e 64 65 66 20 53 54 52 49 43 54 0d 0a 2f 2f  fndef STRICT..//
0230: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
0240: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 4e  ..// #endif /* N
0250: 4f 5f 53 54 52 49 43 54 20 2a 2f 0d 0a 0d 0a 2f  O_STRICT */..../
0260: 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a 2f  / #ifdef _MAC../
0270: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32  / #ifndef _WIN32
0280: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0290: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ndif..// #endif 
02a0: 2f 2f 5f 4d 41 43 0d 0a 0d 0a 2f 2f 20 23 69 66  //_MAC....// #if
02b0: 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d  def __cplusplus.
02c0: 0a 2f 2f 20 65 78 74 65 72 6e 20 22 43 22 20 7b  .// extern "C" {
02d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
02e0: 2f 20 23 69 66 6e 64 65 66 20 57 49 4e 56 45 52  / #ifndef WINVER
02f0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0300: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 2a  ndif /* WINVER *
0310: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
0320: 42 41 53 45 54 59 50 45 53 0d 0a 2f 2f 20 23 64  BASETYPES..// #d
0330: 65 66 69 6e 65 20 42 41 53 45 54 59 50 45 53 0d  efine BASETYPES.
0340: 0a 61 6c 69 61 73 20 75 69 6e 74 20 55 4c 4f 4e  .alias uint ULON
0350: 47 3b 0d 0a 61 6c 69 61 73 20 55 4c 4f 4e 47 2a  G;..alias ULONG*
0360: 20 50 55 4c 4f 4e 47 3b 0d 0a 61 6c 69 61 73 20   PULONG;..alias 
0370: 75 73 68 6f 72 74 20 55 53 48 4f 52 54 3b 0d 0a  ushort USHORT;..
0380: 61 6c 69 61 73 20 55 53 48 4f 52 54 2a 20 50 55  alias USHORT* PU
0390: 53 48 4f 52 54 3b 0d 0a 61 6c 69 61 73 20 75 62  SHORT;..alias ub
03a0: 79 74 65 20 55 43 48 41 52 3b 0d 0a 61 6c 69 61  yte UCHAR;..alia
03b0: 73 20 55 43 48 41 52 2a 20 50 55 43 48 41 52 3b  s UCHAR* PUCHAR;
03c0: 0d 0a 61 6c 69 61 73 20 63 68 61 72 2a 20 50 53  ..alias char* PS
03d0: 5a 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  Z;..// #endif  /
03e0: 2a 20 21 42 41 53 45 54 59 50 45 53 20 2a 2f 0d  * !BASETYPES */.
03f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
0400: 20 4d 41 58 5f 50 41 54 48 20 3d 20 32 36 30 20   MAX_PATH = 260 
0410: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  }....// #ifndef 
0420: 4e 55 4c 4c 0d 0a 2f 2f 20 23 69 66 64 65 66 20  NULL..// #ifdef 
0430: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 63 6f 6e  __cplusplus..con
0440: 73 74 20 76 6f 69 64 2a 20 4e 55 4c 4c 20 3d 20  st void* NULL = 
0450: 6e 75 6c 6c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  null;..// #else.
0460: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
0470: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  dif..// #endif..
0480: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 46 41 4c  ..// #ifndef FAL
0490: 53 45 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  SE..enum : uint 
04a0: 7b 20 46 41 4c 53 45 20 3d 20 30 20 7d 0d 0a 2f  { FALSE = 0 }../
04b0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
04c0: 69 66 6e 64 65 66 20 54 52 55 45 0d 0a 65 6e 75  ifndef TRUE..enu
04d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 52 55 45 20  m : uint { TRUE 
04e0: 3d 20 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  = 1 }..// #endif
04f0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 49  ....// #ifndef I
0500: 4e 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 4e  N..// #define IN
0510: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0520: 2f 20 23 69 66 6e 64 65 66 20 4f 55 54 0d 0a 2f  / #ifndef OUT../
0530: 2f 20 23 64 65 66 69 6e 65 20 4f 55 54 0d 0a 2f  / #define OUT../
0540: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
0550: 69 66 6e 64 65 66 20 4f 50 54 49 4f 4e 41 4c 0d  ifndef OPTIONAL.
0560: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4f 50 54 49  .// #define OPTI
0570: 4f 4e 41 4c 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  ONAL..// #endif.
0580: 0a 0d 0a 2f 2f 20 23 75 6e 64 65 66 20 66 61 72  ...// #undef far
0590: 0d 0a 2f 2f 20 23 75 6e 64 65 66 20 6e 65 61 72  ..// #undef near
05a0: 0d 0a 2f 2f 20 23 75 6e 64 65 66 20 70 61 73 63  ..// #undef pasc
05b0: 61 6c 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  al....// #define
05c0: 20 66 61 72 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   far..// #define
05d0: 20 6e 65 61 72 0d 0a 2f 2f 20 23 69 66 20 28 21   near..// #if (!
05e0: 64 65 66 69 6e 65 64 28 5f 4d 41 43 29 29 20 26  defined(_MAC)) &
05f0: 26 20 28 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  & ((_MSC_VER >= 
0600: 38 30 30 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  800) || defined(
0610: 5f 53 54 44 43 41 4c 4c 5f 53 55 50 50 4f 52 54  _STDCALL_SUPPORT
0620: 45 44 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  ED))..// #define
0630: 20 70 61 73 63 61 6c 20 5f 5f 73 74 64 63 61 6c   pascal __stdcal
0640: 6c 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  l..// #else..// 
0650: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
0660: 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  ...// #if define
0670: 64 28 44 4f 53 57 49 4e 33 32 29 20 7c 7c 20 64  d(DOSWIN32) || d
0680: 65 66 69 6e 65 64 28 5f 4d 41 43 29 0d 0a 2f 2f  efined(_MAC)..//
0690: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 6e 64 65   #.....// #ifnde
06a0: 66 20 43 44 45 43 4c 0d 0a 2f 2f 20 23 2e 2e 2e  f CDECL..// #...
06b0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
06c0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e  #else..// #defin
06d0: 65 20 63 64 65 63 6c 0d 0a 2f 2f 20 23 69 66 6e  e cdecl..// #ifn
06e0: 64 65 66 20 43 44 45 43 4c 0d 0a 2f 2f 20 23 64  def CDECL..// #d
06f0: 65 66 69 6e 65 20 43 44 45 43 4c 0d 0a 2f 2f 20  efine CDECL..// 
0700: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69  #endif..// #endi
0710: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
0720: 4d 41 43 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  MAC..// #.....//
0730: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
0740: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
0750: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 36 38 4b  ..// #ifdef _68K
0760: 5f 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  _..// #.....// #
0770: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
0780: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c  / #endif..// #el
0790: 69 66 20 28 5f 4d 53 43 5f 56 45 52 20 3e 3d 20  if (_MSC_VER >= 
07a0: 38 30 30 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  800) || defined(
07b0: 5f 53 54 44 43 41 4c 4c 5f 53 55 50 50 4f 52 54  _STDCALL_SUPPORT
07c0: 45 44 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ED)..// #define 
07d0: 43 41 4c 4c 42 41 43 4b 20 5f 5f 73 74 64 63 61  CALLBACK __stdca
07e0: 6c 6c 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57  ll..// #define W
07f0: 49 4e 41 50 49 20 5f 5f 73 74 64 63 61 6c 6c 0d  INAPI __stdcall.
0800: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 49 4e 41  .// #define WINA
0810: 50 49 56 20 5f 5f 63 64 65 63 6c 0d 0a 2f 2f 20  PIV __cdecl..// 
0820: 23 64 65 66 69 6e 65 20 41 50 49 45 4e 54 52 59  #define APIENTRY
0830: 20 57 49 4e 41 50 49 0d 0a 2f 2f 20 23 64 65 66   WINAPI..// #def
0840: 69 6e 65 20 41 50 49 50 52 49 56 41 54 45 20 5f  ine APIPRIVATE _
0850: 5f 73 74 64 63 61 6c 6c 0d 0a 2f 2f 20 23 64 65  _stdcall..// #de
0860: 66 69 6e 65 20 50 41 53 43 41 4c 20 5f 5f 73 74  fine PASCAL __st
0870: 64 63 61 6c 6c 0d 0a 2f 2f 20 23 65 6c 73 65 0d  dcall..// #else.
0880: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
0890: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
08a0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
08b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
08c0: 0d 0a 0d 0a 2f 2f 20 23 75 6e 64 65 66 20 46 41  ....// #undef FA
08d0: 52 0d 0a 2f 2f 20 23 75 6e 64 65 66 20 20 4e 45  R..// #undef  NE
08e0: 41 52 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 46  AR..// #define F
08f0: 41 52 20 66 61 72 0d 0a 2f 2f 20 23 64 65 66 69  AR far..// #defi
0900: 6e 65 20 4e 45 41 52 20 6e 65 61 72 0d 0a 2f 2f  ne NEAR near..//
0910: 20 23 69 66 6e 64 65 66 20 43 4f 4e 53 54 0d 0a   #ifndef CONST..
0920: 2f 2f 20 23 64 65 66 69 6e 65 20 43 4f 4e 53 54  // #define CONST
0930: 20 63 6f 6e 73 74 0d 0a 2f 2f 20 23 65 6e 64 69   const..// #endi
0940: 66 0d 0a 0d 0a 61 6c 69 61 73 20 75 69 6e 74 20  f....alias uint 
0950: 44 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20 69 6e  DWORD;..alias in
0960: 74 20 42 4f 4f 4c 3b 0d 0a 61 6c 69 61 73 20 75  t BOOL;..alias u
0970: 62 79 74 65 20 42 59 54 45 3b 0d 0a 61 6c 69 61  byte BYTE;..alia
0980: 73 20 75 73 68 6f 72 74 20 57 4f 52 44 3b 0d 0a  s ushort WORD;..
0990: 61 6c 69 61 73 20 66 6c 6f 61 74 20 46 4c 4f 41  alias float FLOA
09a0: 54 3b 0d 0a 61 6c 69 61 73 20 46 4c 4f 41 54 2a  T;..alias FLOAT*
09b0: 20 50 46 4c 4f 41 54 3b 0d 0a 61 6c 69 61 73 20   PFLOAT;..alias 
09c0: 42 4f 4f 4c 2a 20 50 42 4f 4f 4c 3b 0d 0a 61 6c  BOOL* PBOOL;..al
09d0: 69 61 73 20 42 4f 4f 4c 2a 20 4c 50 42 4f 4f 4c  ias BOOL* LPBOOL
09e0: 3b 0d 0a 61 6c 69 61 73 20 42 59 54 45 2a 20 50  ;..alias BYTE* P
09f0: 42 59 54 45 3b 0d 0a 61 6c 69 61 73 20 42 59 54  BYTE;..alias BYT
0a00: 45 2a 20 4c 50 42 59 54 45 3b 0d 0a 61 6c 69 61  E* LPBYTE;..alia
0a10: 73 20 69 6e 74 2a 20 50 49 4e 54 3b 0d 0a 61 6c  s int* PINT;..al
0a20: 69 61 73 20 69 6e 74 2a 20 4c 50 49 4e 54 3b 0d  ias int* LPINT;.
0a30: 0a 61 6c 69 61 73 20 57 4f 52 44 2a 20 50 57 4f  .alias WORD* PWO
0a40: 52 44 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 2a  RD;..alias WORD*
0a50: 20 4c 50 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20   LPWORD;..alias 
0a60: 69 6e 74 2a 20 4c 50 4c 4f 4e 47 3b 0d 0a 61 6c  int* LPLONG;..al
0a70: 69 61 73 20 44 57 4f 52 44 2a 20 50 44 57 4f 52  ias DWORD* PDWOR
0a80: 44 3b 0d 0a 61 6c 69 61 73 20 44 57 4f 52 44 2a  D;..alias DWORD*
0a90: 20 4c 50 44 57 4f 52 44 3b 0d 0a 61 6c 69 61 73   LPDWORD;..alias
0aa0: 20 76 6f 69 64 2a 20 4c 50 56 4f 49 44 3b 0d 0a   void* LPVOID;..
0ab0: 61 6c 69 61 73 20 76 6f 69 64 2a 20 4c 50 43 56  alias void* LPCV
0ac0: 4f 49 44 3b 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e  OID;....alias in
0ad0: 74 20 49 4e 54 3b 0d 0a 61 6c 69 61 73 20 75 69  t INT;..alias ui
0ae0: 6e 74 20 55 49 4e 54 3b 0d 0a 61 6c 69 61 73 20  nt UINT;..alias 
0af0: 75 69 6e 74 2a 20 50 55 49 4e 54 3b 0d 0a 0d 0a  uint* PUINT;....
0b00: 2f 2f 20 23 69 66 6e 64 65 66 20 4e 54 5f 49 4e  // #ifndef NT_IN
0b10: 43 4c 55 44 45 44 0d 0a 69 6d 70 6f 72 74 20 77  CLUDED..import w
0b20: 69 6e 33 32 2e 77 69 6e 6e 74 3b 0d 0a 2f 2f 20  in32.winnt;..// 
0b30: 23 65 6e 64 69 66 20 2f 2a 20 4e 54 5f 49 4e 43  #endif /* NT_INC
0b40: 4c 55 44 45 44 20 2a 2f 0d 0a 0d 0a 61 6c 69 61  LUDED */....alia
0b50: 73 20 55 49 4e 54 5f 50 54 52 20 57 50 41 52 41  s UINT_PTR WPARA
0b60: 4d 3b 0d 0a 61 6c 69 61 73 20 4c 4f 4e 47 5f 50  M;..alias LONG_P
0b70: 54 52 20 4c 50 41 52 41 4d 3b 0d 0a 61 6c 69 61  TR LPARAM;..alia
0b80: 73 20 4c 4f 4e 47 5f 50 54 52 20 4c 52 45 53 55  s LONG_PTR LRESU
0b90: 4c 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  LT;....// #ifnde
0ba0: 66 20 4e 4f 4d 49 4e 4d 41 58 0d 0a 0d 0a 2f 2f  f NOMINMAX....//
0bb0: 20 23 69 66 6e 64 65 66 20 6d 61 78 0d 0a 69 6e   #ifndef max..in
0bc0: 74 20 6d 61 78 28 69 6e 74 20 61 2c 20 69 6e 74  t max(int a, int
0bd0: 20 62 29 7b 20 72 65 74 75 72 6e 20 28 61 20 3e   b){ return (a >
0be0: 20 62 29 3f 20 61 20 3a 20 62 3b 20 7d 0d 0a 75   b)? a : b; }..u
0bf0: 69 6e 74 20 6d 61 78 28 75 69 6e 74 20 61 2c 20  int max(uint a, 
0c00: 75 69 6e 74 20 62 29 7b 20 72 65 74 75 72 6e 20  uint b){ return 
0c10: 28 61 20 3e 20 62 29 3f 20 61 20 3a 20 62 3b 20  (a > b)? a : b; 
0c20: 7d 0d 0a 72 65 61 6c 20 6d 61 78 28 72 65 61 6c  }..real max(real
0c30: 20 61 2c 20 72 65 61 6c 20 62 29 7b 20 72 65 74   a, real b){ ret
0c40: 75 72 6e 20 28 61 20 3e 20 62 29 3f 20 61 20 3a  urn (a > b)? a :
0c50: 20 62 3b 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66   b; }..// #endif
0c60: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 6d  ....// #ifndef m
0c70: 69 6e 0d 0a 69 6e 74 20 6d 69 6e 28 69 6e 74 20  in..int min(int 
0c80: 61 2c 20 69 6e 74 20 62 29 7b 20 72 65 74 75 72  a, int b){ retur
0c90: 6e 20 28 61 20 3c 20 62 29 3f 20 61 20 3a 20 62  n (a < b)? a : b
0ca0: 3b 20 7d 0d 0a 75 69 6e 74 20 6d 69 6e 28 75 69  ; }..uint min(ui
0cb0: 6e 74 20 61 2c 20 75 69 6e 74 20 62 29 7b 20 72  nt a, uint b){ r
0cc0: 65 74 75 72 6e 20 28 61 20 3c 20 62 29 3f 20 61  eturn (a < b)? a
0cd0: 20 3a 20 62 3b 20 7d 0d 0a 72 65 61 6c 20 6d 69   : b; }..real mi
0ce0: 6e 28 72 65 61 6c 20 61 2c 20 72 65 61 6c 20 62  n(real a, real b
0cf0: 29 7b 20 72 65 74 75 72 6e 20 28 61 20 3c 20 62  ){ return (a < b
0d00: 29 3f 20 61 20 3a 20 62 3b 20 7d 0d 0a 2f 2f 20  )? a : b; }..// 
0d10: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
0d20: 64 69 66 20 20 2f 2a 20 4e 4f 4d 49 4e 4d 41 58  dif  /* NOMINMAX
0d30: 20 2a 2f 0d 0a 0d 0a 75 73 68 6f 72 74 20 4d 41   */....ushort MA
0d40: 4b 45 57 4f 52 44 28 62 79 74 65 20 61 2c 20 62  KEWORD(byte a, b
0d50: 79 74 65 20 62 29 7b 20 72 65 74 75 72 6e 20 28  yte b){ return (
0d60: 61 20 26 20 30 78 66 66 29 20 7c 20 28 28 62 20  a & 0xff) | ((b 
0d70: 26 20 30 78 66 66 29 20 3c 3c 20 38 29 3b 20 7d  & 0xff) << 8); }
0d80: 0d 0a 75 69 6e 74 20 4d 41 4b 45 4c 4f 4e 47 28  ..uint MAKELONG(
0d90: 75 73 68 6f 72 74 20 61 2c 20 75 73 68 6f 72 74  ushort a, ushort
0da0: 20 62 29 7b 20 72 65 74 75 72 6e 20 28 61 20 26   b){ return (a &
0db0: 20 30 78 66 66 66 66 29 20 7c 20 28 28 62 20 26   0xffff) | ((b &
0dc0: 20 30 78 66 66 66 66 29 20 3c 3c 20 31 36 29 3b   0xffff) << 16);
0dd0: 20 7d 0d 0a 75 73 68 6f 72 74 20 4c 4f 57 4f 52   }..ushort LOWOR
0de0: 44 28 75 69 6e 74 20 6c 29 7b 20 72 65 74 75 72  D(uint l){ retur
0df0: 6e 20 6c 20 26 20 30 78 66 66 66 66 3b 20 7d 0d  n l & 0xffff; }.
0e00: 0a 75 73 68 6f 72 74 20 48 49 57 4f 52 44 28 75  .ushort HIWORD(u
0e10: 69 6e 74 20 6c 29 7b 20 72 65 74 75 72 6e 20 6c  int l){ return l
0e20: 20 3e 3e 3e 20 31 36 3b 20 7d 0d 0a 75 62 79 74   >>> 16; }..ubyt
0e30: 65 20 4c 4f 42 59 54 45 28 75 73 68 6f 72 74 20  e LOBYTE(ushort 
0e40: 6c 29 7b 20 72 65 74 75 72 6e 20 6c 20 26 20 30  l){ return l & 0
0e50: 78 66 66 3b 20 7d 0d 0a 75 62 79 74 65 20 48 49  xff; }..ubyte HI
0e60: 42 59 54 45 28 75 73 68 6f 72 74 20 6c 29 7b 20  BYTE(ushort l){ 
0e70: 72 65 74 75 72 6e 20 6c 20 3e 3e 3e 20 38 3b 20  return l >>> 8; 
0e80: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  }....// #ifndef 
0e90: 57 49 4e 5f 49 4e 54 45 52 4e 41 4c 0d 0a 61 6c  WIN_INTERNAL..al
0ea0: 69 61 73 20 76 6f 69 64 2a 20 48 57 4e 44 3b 0d  ias void* HWND;.
0eb0: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 48 4f  .alias void* HHO
0ec0: 4f 4b 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 57  OK;..// #ifdef W
0ed0: 49 4e 41 42 4c 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  INABLE..// .....
0ee0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
0ef0: 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 57 4f  ndif....alias WO
0f00: 52 44 20 41 54 4f 4d 3b 0d 0a 0d 0a 61 6c 69 61  RD ATOM;....alia
0f10: 73 20 48 41 4e 44 4c 45 2a 20 53 50 48 41 4e 44  s HANDLE* SPHAND
0f20: 4c 45 3b 0d 0a 61 6c 69 61 73 20 48 41 4e 44 4c  LE;..alias HANDL
0f30: 45 2a 20 4c 50 48 41 4e 44 4c 45 3b 0d 0a 61 6c  E* LPHANDLE;..al
0f40: 69 61 73 20 48 41 4e 44 4c 45 20 48 47 4c 4f 42  ias HANDLE HGLOB
0f50: 41 4c 3b 0d 0a 61 6c 69 61 73 20 48 41 4e 44 4c  AL;..alias HANDL
0f60: 45 20 48 4c 4f 43 41 4c 3b 0d 0a 61 6c 69 61 73  E HLOCAL;..alias
0f70: 20 48 41 4e 44 4c 45 20 47 4c 4f 42 41 4c 48 41   HANDLE GLOBALHA
0f80: 4e 44 4c 45 3b 0d 0a 61 6c 69 61 73 20 48 41 4e  NDLE;..alias HAN
0f90: 44 4c 45 20 4c 4f 43 41 4c 48 41 4e 44 4c 45 3b  DLE LOCALHANDLE;
0fa0: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41  ..// #ifndef _MA
0fb0: 43 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  C..// #ifdef _WI
0fc0: 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  N64..// .....// 
0fd0: 23 65 6c 73 65 0d 0a 65 78 74 65 72 6e 28 57 69  #else..extern(Wi
0fe0: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 69 6e 74  ndows) alias int
0ff0: 20 66 75 6e 63 74 69 6f 6e 28 29 20 46 41 52 50   function() FARP
1000: 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ROC;..extern(Win
1010: 64 6f 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20  dows) alias int 
1020: 66 75 6e 63 74 69 6f 6e 28 29 20 4e 45 41 52 50  function() NEARP
1030: 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ROC;..extern(Win
1040: 64 6f 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20  dows) alias int 
1050: 66 75 6e 63 74 69 6f 6e 28 29 20 50 52 4f 43 3b  function() PROC;
1060: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20  ..// #endif  // 
1070: 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23 65 6c 73 65  _WIN64..// #else
1080: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
1090: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64  dif....// #if !d
10a0: 65 66 69 6e 65 64 28 5f 4d 41 43 29 20 7c 7c 20  efined(_MAC) || 
10b0: 21 64 65 66 69 6e 65 64 28 47 44 49 5f 49 4e 54  !defined(GDI_INT
10c0: 45 52 4e 41 4c 29 0d 0a 2f 2f 20 23 69 66 64 65  ERNAL)..// #ifde
10d0: 66 20 53 54 52 49 43 54 0d 0a 61 6c 69 61 73 20  f STRICT..alias 
10e0: 76 6f 69 64 2a 20 48 47 44 49 4f 42 4a 3b 0d 0a  void* HGDIOBJ;..
10f0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
1100: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
1110: 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
1120: 76 6f 69 64 2a 20 48 4b 45 59 3b 0d 0a 61 6c 69  void* HKEY;..ali
1130: 61 73 20 48 4b 45 59 2a 20 50 48 4b 45 59 3b 0d  as HKEY* PHKEY;.
1140: 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e  ...// #if !defin
1150: 65 64 28 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66  ed(_MAC) || !def
1160: 69 6e 65 64 28 57 49 4e 5f 49 4e 54 45 52 4e 41  ined(WIN_INTERNA
1170: 4c 29 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  L)..alias void* 
1180: 48 41 43 43 45 4c 3b 0d 0a 2f 2f 20 23 65 6e 64  HACCEL;..// #end
1190: 69 66 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  if..// #if !defi
11a0: 6e 65 64 28 5f 4d 41 43 29 20 7c 7c 20 21 64 65  ned(_MAC) || !de
11b0: 66 69 6e 65 64 28 47 44 49 5f 49 4e 54 45 52 4e  fined(GDI_INTERN
11c0: 41 4c 29 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  AL)..alias void*
11d0: 20 48 42 49 54 4d 41 50 3b 0d 0a 61 6c 69 61 73   HBITMAP;..alias
11e0: 20 76 6f 69 64 2a 20 48 42 52 55 53 48 3b 0d 0a   void* HBRUSH;..
11f0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69  // #endif..// #i
1200: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
1210: 30 30 29 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  00)..alias void*
1220: 20 48 43 4f 4c 4f 52 53 50 41 43 45 3b 0d 0a 2f   HCOLORSPACE;../
1230: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1240: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
1250: 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64  .// #if !defined
1260: 28 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66 69 6e  (_MAC) || !defin
1270: 65 64 28 47 44 49 5f 49 4e 54 45 52 4e 41 4c 29  ed(GDI_INTERNAL)
1280: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 44  ..alias void* HD
1290: 43 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61  C;..// #endif..a
12a0: 6c 69 61 73 20 76 6f 69 64 2a 20 48 47 4c 52 43  lias void* HGLRC
12b0: 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  ;..alias void* H
12c0: 44 45 53 4b 3b 0d 0a 61 6c 69 61 73 20 76 6f 69  DESK;..alias voi
12d0: 64 2a 20 48 45 4e 48 4d 45 54 41 46 49 4c 45 3b  d* HENHMETAFILE;
12e0: 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65  ..// #if !define
12f0: 64 28 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66 69  d(_MAC) || !defi
1300: 6e 65 64 28 47 44 49 5f 49 4e 54 45 52 4e 41 4c  ned(GDI_INTERNAL
1310: 29 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  )..alias void* H
1320: 46 4f 4e 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FONT;..// #endif
1330: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 49  ..alias void* HI
1340: 43 4f 4e 3b 0d 0a 2f 2f 20 23 69 66 20 21 64 65  CON;..// #if !de
1350: 66 69 6e 65 64 28 5f 4d 41 43 29 20 7c 7c 20 21  fined(_MAC) || !
1360: 64 65 66 69 6e 65 64 28 57 49 4e 5f 49 4e 54 45  defined(WIN_INTE
1370: 52 4e 41 4c 29 0d 0a 61 6c 69 61 73 20 76 6f 69  RNAL)..alias voi
1380: 64 2a 20 48 4d 45 4e 55 3b 0d 0a 2f 2f 20 23 65  d* HMENU;..// #e
1390: 6e 64 69 66 0d 0a 61 6c 69 61 73 20 76 6f 69 64  ndif..alias void
13a0: 2a 20 48 4d 45 54 41 46 49 4c 45 3b 0d 0a 61 6c  * HMETAFILE;..al
13b0: 69 61 73 20 76 6f 69 64 2a 20 48 49 4e 53 54 41  ias void* HINSTA
13c0: 4e 43 45 3b 0d 0a 61 6c 69 61 73 20 48 49 4e 53  NCE;..alias HINS
13d0: 54 41 4e 43 45 20 48 4d 4f 44 55 4c 45 3b 0d 0a  TANCE HMODULE;..
13e0: 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
13f0: 5f 4d 41 43 29 20 7c 7c 20 21 64 65 66 69 6e 65  _MAC) || !define
1400: 64 28 47 44 49 5f 49 4e 54 45 52 4e 41 4c 29 0d  d(GDI_INTERNAL).
1410: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 50 41  .alias void* HPA
1420: 4c 45 54 54 45 3b 0d 0a 61 6c 69 61 73 20 76 6f  LETTE;..alias vo
1430: 69 64 2a 20 48 50 45 4e 3b 0d 0a 2f 2f 20 23 65  id* HPEN;..// #e
1440: 6e 64 69 66 0d 0a 61 6c 69 61 73 20 76 6f 69 64  ndif..alias void
1450: 2a 20 48 52 47 4e 3b 0d 0a 61 6c 69 61 73 20 76  * HRGN;..alias v
1460: 6f 69 64 2a 20 48 52 53 52 43 3b 0d 0a 61 6c 69  oid* HRSRC;..ali
1470: 61 73 20 76 6f 69 64 2a 20 48 53 54 52 3b 0d 0a  as void* HSTR;..
1480: 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 54 41 53  alias void* HTAS
1490: 4b 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20  K;..alias void* 
14a0: 48 57 49 4e 53 54 41 3b 0d 0a 61 6c 69 61 73 20  HWINSTA;..alias 
14b0: 76 6f 69 64 2a 20 48 4b 4c 3b 0d 0a 0d 0a 2f 2f  void* HKL;....//
14c0: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
14d0: 78 30 35 30 30 29 0d 0a 2f 2f 20 23 69 66 6e 64  x0500)..// #ifnd
14e0: 65 66 20 5f 4d 41 43 0d 0a 61 6c 69 61 73 20 76  ef _MAC..alias v
14f0: 6f 69 64 2a 20 48 4d 4f 4e 49 54 4f 52 3b 0d 0a  oid* HMONITOR;..
1500: 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 57 49 4e  alias void* HWIN
1510: 45 56 45 4e 54 48 4f 4f 4b 3b 0d 0a 2f 2f 20 23  EVENTHOOK;..// #
1520: 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 76 6f 69  endif..alias voi
1530: 64 2a 20 48 55 4d 50 44 3b 0d 0a 2f 2f 20 23 65  d* HUMPD;..// #e
1540: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
1550: 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
1560: 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a  / #ifndef _MAC..
1570: 61 6c 69 61 73 20 69 6e 74 20 48 46 49 4c 45 3b  alias int HFILE;
1580: 0d 0a 61 6c 69 61 73 20 48 49 43 4f 4e 20 48 43  ..alias HICON HC
1590: 55 52 53 4f 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65  URSOR;..// #else
15a0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
15b0: 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 44 57 4f  dif....alias DWO
15c0: 52 44 20 43 4f 4c 4f 52 52 45 46 3b 0d 0a 61 6c  RD COLORREF;..al
15d0: 69 61 73 20 44 57 4f 52 44 2a 20 4c 50 43 4f 4c  ias DWORD* LPCOL
15e0: 4f 52 52 45 46 3b 0d 0a 0d 0a 63 6f 6e 73 74 20  ORREF;....const 
15f0: 48 46 49 4c 45 20 48 46 49 4c 45 5f 45 52 52 4f  HFILE HFILE_ERRO
1600: 52 20 3d 20 2d 31 3b 0d 0a 0d 0a 73 74 72 75 63  R = -1;....struc
1610: 74 20 74 61 67 52 45 43 54 20 7b 0d 0a 20 20 4c  t tagRECT {..  L
1620: 4f 4e 47 20 6c 65 66 74 3b 0d 0a 20 20 4c 4f 4e  ONG left;..  LON
1630: 47 20 74 6f 70 3b 0d 0a 20 20 4c 4f 4e 47 20 72  G top;..  LONG r
1640: 69 67 68 74 3b 0d 0a 20 20 4c 4f 4e 47 20 62 6f  ight;..  LONG bo
1650: 74 74 6f 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ttom;..}..alias 
1660: 74 61 67 52 45 43 54 20 52 45 43 54 3b 0d 0a 61  tagRECT RECT;..a
1670: 6c 69 61 73 20 74 61 67 52 45 43 54 2a 20 50 52  lias tagRECT* PR
1680: 45 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  ECT;..alias tagR
1690: 45 43 54 2a 20 4e 50 52 45 43 54 3b 0d 0a 61 6c  ECT* NPRECT;..al
16a0: 69 61 73 20 74 61 67 52 45 43 54 2a 20 4c 50 52  ias tagRECT* LPR
16b0: 45 43 54 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52 45  ECT;....alias RE
16c0: 43 54 2a 20 4c 50 43 52 45 43 54 3b 0d 0a 0d 0a  CT* LPCRECT;....
16d0: 73 74 72 75 63 74 20 5f 52 45 43 54 4c 20 7b 0d  struct _RECTL {.
16e0: 0a 20 20 4c 4f 4e 47 20 6c 65 66 74 3b 0d 0a 20  .  LONG left;.. 
16f0: 20 4c 4f 4e 47 20 74 6f 70 3b 0d 0a 20 20 4c 4f   LONG top;..  LO
1700: 4e 47 20 72 69 67 68 74 3b 0d 0a 20 20 4c 4f 4e  NG right;..  LON
1710: 47 20 62 6f 74 74 6f 6d 3b 0d 0a 7d 0d 0a 61 6c  G bottom;..}..al
1720: 69 61 73 20 5f 52 45 43 54 4c 20 52 45 43 54 4c  ias _RECTL RECTL
1730: 3b 0d 0a 61 6c 69 61 73 20 5f 52 45 43 54 4c 2a  ;..alias _RECTL*
1740: 20 50 52 45 43 54 4c 3b 0d 0a 61 6c 69 61 73 20   PRECTL;..alias 
1750: 5f 52 45 43 54 4c 2a 20 4c 50 52 45 43 54 4c 3b  _RECTL* LPRECTL;
1760: 0d 0a 0d 0a 61 6c 69 61 73 20 52 45 43 54 4c 2a  ....alias RECTL*
1770: 20 4c 50 43 52 45 43 54 4c 3b 0d 0a 0d 0a 73 74   LPCRECTL;....st
1780: 72 75 63 74 20 74 61 67 50 4f 49 4e 54 20 7b 0d  ruct tagPOINT {.
1790: 0a 20 20 4c 4f 4e 47 20 78 3b 0d 0a 20 20 4c 4f  .  LONG x;..  LO
17a0: 4e 47 20 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  NG y;..}..alias 
17b0: 74 61 67 50 4f 49 4e 54 20 50 4f 49 4e 54 3b 0d  tagPOINT POINT;.
17c0: 0a 61 6c 69 61 73 20 74 61 67 50 4f 49 4e 54 2a  .alias tagPOINT*
17d0: 20 50 50 4f 49 4e 54 3b 0d 0a 61 6c 69 61 73 20   PPOINT;..alias 
17e0: 74 61 67 50 4f 49 4e 54 2a 20 4e 50 50 4f 49 4e  tagPOINT* NPPOIN
17f0: 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 4f 49  T;..alias tagPOI
1800: 4e 54 2a 20 4c 50 50 4f 49 4e 54 3b 0d 0a 0d 0a  NT* LPPOINT;....
1810: 73 74 72 75 63 74 20 5f 50 4f 49 4e 54 4c 20 7b  struct _POINTL {
1820: 0d 0a 20 20 4c 4f 4e 47 20 78 3b 0d 0a 20 20 4c  ..  LONG x;..  L
1830: 4f 4e 47 20 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ONG y;..}..alias
1840: 20 5f 50 4f 49 4e 54 4c 20 50 4f 49 4e 54 4c 3b   _POINTL POINTL;
1850: 0d 0a 61 6c 69 61 73 20 5f 50 4f 49 4e 54 4c 2a  ..alias _POINTL*
1860: 20 50 50 4f 49 4e 54 4c 3b 0d 0a 0d 0a 73 74 72   PPOINTL;....str
1870: 75 63 74 20 74 61 67 53 49 5a 45 20 7b 0d 0a 20  uct tagSIZE {.. 
1880: 20 4c 4f 4e 47 20 63 78 3b 0d 0a 20 20 4c 4f 4e   LONG cx;..  LON
1890: 47 20 63 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  G cy;..}..alias 
18a0: 74 61 67 53 49 5a 45 20 53 49 5a 45 3b 0d 0a 61  tagSIZE SIZE;..a
18b0: 6c 69 61 73 20 74 61 67 53 49 5a 45 2a 20 50 53  lias tagSIZE* PS
18c0: 49 5a 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53  IZE;..alias tagS
18d0: 49 5a 45 2a 20 4c 50 53 49 5a 45 3b 0d 0a 0d 0a  IZE* LPSIZE;....
18e0: 61 6c 69 61 73 20 53 49 5a 45 20 53 49 5a 45 4c  alias SIZE SIZEL
18f0: 3b 0d 0a 61 6c 69 61 73 20 53 49 5a 45 2a 20 50  ;..alias SIZE* P
1900: 53 49 5a 45 4c 3b 0d 0a 61 6c 69 61 73 20 53 49  SIZEL;..alias SI
1910: 5a 45 2a 20 4c 50 53 49 5a 45 4c 3b 0d 0a 0d 0a  ZE* LPSIZEL;....
1920: 73 74 72 75 63 74 20 74 61 67 50 4f 49 4e 54 53  struct tagPOINTS
1930: 20 7b 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f   {..// #ifndef _
1940: 4d 41 43 0d 0a 20 20 53 48 4f 52 54 20 78 3b 0d  MAC..  SHORT x;.
1950: 0a 20 20 53 48 4f 52 54 20 79 3b 0d 0a 2f 2f 20  .  SHORT y;..// 
1960: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
1970: 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
1980: 61 73 20 74 61 67 50 4f 49 4e 54 53 20 50 4f 49  as tagPOINTS POI
1990: 4e 54 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50  NTS;..alias tagP
19a0: 4f 49 4e 54 53 2a 20 50 50 4f 49 4e 54 53 3b 0d  OINTS* PPOINTS;.
19b0: 0a 61 6c 69 61 73 20 74 61 67 50 4f 49 4e 54 53  .alias tagPOINTS
19c0: 2a 20 4c 50 50 4f 49 4e 54 53 3b 0d 0a 0d 0a 65  * LPPOINTS;....e
19d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 5f  num : uint { DM_
19e0: 55 50 44 41 54 45 20 3d 20 31 20 7d 0d 0a 65 6e  UPDATE = 1 }..en
19f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 5f 43  um : uint { DM_C
1a00: 4f 50 59 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  OPY = 2 }..enum 
1a10: 3a 20 75 69 6e 74 20 7b 20 44 4d 5f 50 52 4f 4d  : uint { DM_PROM
1a20: 50 54 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  PT = 4 }..enum :
1a30: 20 75 69 6e 74 20 7b 20 44 4d 5f 4d 4f 44 49 46   uint { DM_MODIF
1a40: 59 20 3d 20 38 20 7d 0d 0a 0d 0a 61 6c 69 61 73  Y = 8 }....alias
1a50: 20 44 4d 5f 4d 4f 44 49 46 59 20 44 4d 5f 49 4e   DM_MODIFY DM_IN
1a60: 5f 42 55 46 46 45 52 3b 0d 0a 61 6c 69 61 73 20  _BUFFER;..alias 
1a70: 44 4d 5f 50 52 4f 4d 50 54 20 44 4d 5f 49 4e 5f  DM_PROMPT DM_IN_
1a80: 50 52 4f 4d 50 54 3b 0d 0a 61 6c 69 61 73 20 44  PROMPT;..alias D
1a90: 4d 5f 43 4f 50 59 20 44 4d 5f 4f 55 54 5f 42 55  M_COPY DM_OUT_BU
1aa0: 46 46 45 52 3b 0d 0a 61 6c 69 61 73 20 44 4d 5f  FFER;..alias DM_
1ab0: 55 50 44 41 54 45 20 44 4d 5f 4f 55 54 5f 44 45  UPDATE DM_OUT_DE
1ac0: 46 41 55 4c 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  FAULT;....enum :
1ad0: 20 75 69 6e 74 20 7b 20 44 43 5f 46 49 45 4c 44   uint { DC_FIELD
1ae0: 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  S = 1 }..enum : 
1af0: 75 69 6e 74 20 7b 20 44 43 5f 50 41 50 45 52 53  uint { DC_PAPERS
1b00: 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
1b10: 69 6e 74 20 7b 20 44 43 5f 50 41 50 45 52 53 49  int { DC_PAPERSI
1b20: 5a 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ZE = 3 }..enum :
1b30: 20 75 69 6e 74 20 7b 20 44 43 5f 4d 49 4e 45 58   uint { DC_MINEX
1b40: 54 45 4e 54 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d  TENT = 4 }..enum
1b50: 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f 4d 41 58   : uint { DC_MAX
1b60: 45 58 54 45 4e 54 20 3d 20 35 20 7d 0d 0a 65 6e  EXTENT = 5 }..en
1b70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f 42  um : uint { DC_B
1b80: 49 4e 53 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  INS = 6 }..enum 
1b90: 3a 20 75 69 6e 74 20 7b 20 44 43 5f 44 55 50 4c  : uint { DC_DUPL
1ba0: 45 58 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a  EX = 7 }..enum :
1bb0: 20 75 69 6e 74 20 7b 20 44 43 5f 53 49 5a 45 20   uint { DC_SIZE 
1bc0: 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 8 }..enum : ui
1bd0: 6e 74 20 7b 20 44 43 5f 45 58 54 52 41 20 3d 20  nt { DC_EXTRA = 
1be0: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
1bf0: 20 7b 20 44 43 5f 56 45 52 53 49 4f 4e 20 3d 20   { DC_VERSION = 
1c00: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
1c10: 74 20 7b 20 44 43 5f 44 52 49 56 45 52 20 3d 20  t { DC_DRIVER = 
1c20: 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
1c30: 74 20 7b 20 44 43 5f 42 49 4e 4e 41 4d 45 53 20  t { DC_BINNAMES 
1c40: 3d 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 12 }..enum : u
1c50: 69 6e 74 20 7b 20 44 43 5f 45 4e 55 4d 52 45 53  int { DC_ENUMRES
1c60: 4f 4c 55 54 49 4f 4e 53 20 3d 20 31 33 20 7d 0d  OLUTIONS = 13 }.
1c70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1c80: 43 5f 46 49 4c 45 44 45 50 45 4e 44 45 4e 43 49  C_FILEDEPENDENCI
1c90: 45 53 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20  ES = 14 }..enum 
1ca0: 3a 20 75 69 6e 74 20 7b 20 44 43 5f 54 52 55 45  : uint { DC_TRUE
1cb0: 54 59 50 45 20 3d 20 31 35 20 7d 0d 0a 65 6e 75  TYPE = 15 }..enu
1cc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f 50 41  m : uint { DC_PA
1cd0: 50 45 52 4e 41 4d 45 53 20 3d 20 31 36 20 7d 0d  PERNAMES = 16 }.
1ce0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1cf0: 43 5f 4f 52 49 45 4e 54 41 54 49 4f 4e 20 3d 20  C_ORIENTATION = 
1d00: 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  17 }..enum : uin
1d10: 74 20 7b 20 44 43 5f 43 4f 50 49 45 53 20 3d 20  t { DC_COPIES = 
1d20: 31 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  18 }....// #ifde
1d30: 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f  f __cplusplus../
1d40: 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  / }..// #endif..
1d50: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
1d60: 57 49 4e 44 45 46 5f 20 2a 2f 0d 0a 0d 0a        WINDEF_ */....