Hex Artifact Content

Not logged in

Artifact 831d9d5a2951cb9906436813269617551c78642b:


0000: 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ./**************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20  *********\.*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 20 77 69 6e 67              wing
0070: 64 69 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  di.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20     *.*          
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a               *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41         Windows A
0100: 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65  PI header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20         *.*      
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20   *.*            
0180: 20 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20       Translated 
0190: 66 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f  from MinGW Windo
01a0: 77 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20  ws headers      
01b0: 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20             *.*  
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20       *.*        
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50                 P
0220: 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69  laced into publi
0230: 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20  c domain        
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
0250: 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .\**************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c  *********/.modul
02a0: 65 20 77 69 6e 33 32 2e 77 69 6e 67 64 69 3b 0a  e win32.wingdi;.
02b0: 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 67 64 69  pragma(lib, "gdi
02c0: 33 32 2e 6c 69 62 22 29 3b 0a 0a 2f 2f 20 46 49  32.lib");..// FI
02d0: 58 4d 45 3a 20 63 6c 65 61 6e 20 75 70 20 57 69  XME: clean up Wi
02e0: 6e 64 6f 77 73 20 76 65 72 73 69 6f 6e 20 73 75  ndows version su
02f0: 70 70 6f 72 74 0a 0a 70 72 69 76 61 74 65 20 69  pport..private i
0300: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 33 32 61  mport win32.w32a
0310: 70 69 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66  pi, win32.windef
0320: 2c 20 77 69 6e 33 32 2e 77 69 6e 76 65 72 3b 0a  , win32.winver;.
0330: 0a 2f 2f 20 42 49 54 4d 41 50 49 4e 46 4f 48 45  .// BITMAPINFOHE
0340: 41 44 45 52 2e 62 69 43 6f 6d 70 72 65 73 73 69  ADER.biCompressi
0350: 6f 6e 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20  on.enum : DWORD 
0360: 7b 0a 20 20 20 20 42 49 5f 52 47 42 20 3d 20 30  {.    BI_RGB = 0
0370: 2c 0a 20 20 20 20 42 49 5f 52 4c 45 38 2c 0a 20  ,.    BI_RLE8,. 
0380: 20 20 20 42 49 5f 52 4c 45 34 2c 0a 20 20 20 20     BI_RLE4,.    
0390: 42 49 5f 42 49 54 46 49 45 4c 44 53 2c 0a 20 20  BI_BITFIELDS,.  
03a0: 20 20 42 49 5f 4a 50 45 47 2c 0a 20 20 20 20 42    BI_JPEG,.    B
03b0: 49 5f 50 4e 47 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 0a  I_PNG.}..// ---.
03c0: 2f 2f 20 43 4f 4c 4f 52 41 44 4a 55 53 54 4d 45  // COLORADJUSTME
03d0: 4e 54 20 2d 2d 20 6f 6e 6c 79 20 66 6f 72 20 4e  NT -- only for N
03e0: 54 20 33 2e 31 2b 2c 20 57 69 6e 32 30 30 30 2b  T 3.1+, Win2000+
03f0: 0a 63 6f 6e 73 74 20 57 4f 52 44 0a 43 41 5f 4e  .const WORD.CA_N
0400: 45 47 41 54 49 56 45 20 20 20 3d 20 31 2c 0a 43  EGATIVE   = 1,.C
0410: 41 5f 4c 4f 47 5f 46 49 4c 54 45 52 20 3d 20 32  A_LOG_FILTER = 2
0420: 3b 0a 0a 2f 2f 20 43 4f 4c 4f 52 41 44 4a 55 53  ;..// COLORADJUS
0430: 54 4d 45 4e 54 0a 65 6e 75 6d 20 3a 20 57 4f 52  TMENT.enum : WOR
0440: 44 20 20 7b 0a 20 20 20 20 49 4c 4c 55 4d 49 4e  D  {.    ILLUMIN
0450: 41 4e 54 5f 44 45 56 49 43 45 5f 44 45 46 41 55  ANT_DEVICE_DEFAU
0460: 4c 54 20 3d 20 30 2c 0a 20 20 20 20 49 4c 4c 55  LT = 0,.    ILLU
0470: 4d 49 4e 41 4e 54 5f 41 2c 0a 20 20 20 20 49 4c  MINANT_A,.    IL
0480: 4c 55 4d 49 4e 41 4e 54 5f 42 2c 0a 20 20 20 20  LUMINANT_B,.    
0490: 49 4c 4c 55 4d 49 4e 41 4e 54 5f 43 2c 0a 20 20  ILLUMINANT_C,.  
04a0: 20 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f 44 35 30    ILLUMINANT_D50
04b0: 2c 0a 20 20 20 20 49 4c 4c 55 4d 49 4e 41 4e 54  ,.    ILLUMINANT
04c0: 5f 44 35 35 2c 0a 20 20 20 20 49 4c 4c 55 4d 49  _D55,.    ILLUMI
04d0: 4e 41 4e 54 5f 44 36 35 2c 0a 20 20 20 20 49 4c  NANT_D65,.    IL
04e0: 4c 55 4d 49 4e 41 4e 54 5f 44 37 35 2c 0a 20 20  LUMINANT_D75,.  
04f0: 20 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f 46 32 2c    ILLUMINANT_F2,
0500: 0a 20 20 20 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f  .    ILLUMINANT_
0510: 4d 41 58 5f 49 4e 44 45 58 20 20 20 3d 20 49 4c  MAX_INDEX   = IL
0520: 4c 55 4d 49 4e 41 4e 54 5f 46 32 2c 0a 20 20 20  LUMINANT_F2,.   
0530: 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f 54 55 4e 47   ILLUMINANT_TUNG
0540: 53 54 45 4e 20 20 20 20 3d 20 49 4c 4c 55 4d 49  STEN    = ILLUMI
0550: 4e 41 4e 54 5f 41 2c 0a 20 20 20 20 49 4c 4c 55  NANT_A,.    ILLU
0560: 4d 49 4e 41 4e 54 5f 44 41 59 4c 49 47 48 54 20  MINANT_DAYLIGHT 
0570: 20 20 20 3d 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f     = ILLUMINANT_
0580: 43 2c 0a 20 20 20 20 49 4c 4c 55 4d 49 4e 41 4e  C,.    ILLUMINAN
0590: 54 5f 46 4c 55 4f 52 45 53 43 45 4e 54 20 3d 20  T_FLUORESCENT = 
05a0: 49 4c 4c 55 4d 49 4e 41 4e 54 5f 46 32 2c 0a 20  ILLUMINANT_F2,. 
05b0: 20 20 20 49 4c 4c 55 4d 49 4e 41 4e 54 5f 4e 54     ILLUMINANT_NT
05c0: 53 43 20 20 20 20 20 20 20 20 3d 20 49 4c 4c 55  SC        = ILLU
05d0: 4d 49 4e 41 4e 54 5f 43 0a 7d 0a 0a 65 6e 75 6d  MINANT_C.}..enum
05e0: 20 7b 0a 20 20 20 20 52 47 42 5f 47 41 4d 4d 41   {.    RGB_GAMMA
05f0: 5f 4d 49 4e 20 20 20 20 20 20 20 3d 20 32 35 30  _MIN       = 250
0600: 30 2c 0a 20 20 20 20 52 47 42 5f 47 41 4d 4d 41  0,.    RGB_GAMMA
0610: 5f 4d 41 58 20 20 20 20 20 20 20 3d 20 36 35 30  _MAX       = 650
0620: 30 30 2c 0a 20 20 20 20 52 45 46 45 52 45 4e 43  00,.    REFERENC
0630: 45 5f 57 48 49 54 45 5f 4d 49 4e 20 3d 20 36 30  E_WHITE_MIN = 60
0640: 30 30 2c 0a 20 20 20 20 52 45 46 45 52 45 4e 43  00,.    REFERENC
0650: 45 5f 57 48 49 54 45 5f 4d 41 58 20 3d 20 31 30  E_WHITE_MAX = 10
0660: 30 30 30 2c 0a 20 20 20 20 52 45 46 45 52 45 4e  000,.    REFEREN
0670: 43 45 5f 42 4c 41 43 4b 5f 4d 49 4e 20 3d 20 30  CE_BLACK_MIN = 0
0680: 2c 0a 20 20 20 20 52 45 46 45 52 45 4e 43 45 5f  ,.    REFERENCE_
0690: 42 4c 41 43 4b 5f 4d 41 58 20 3d 20 34 30 30 30  BLACK_MAX = 4000
06a0: 2c 0a 20 20 20 20 43 4f 4c 4f 52 5f 41 44 4a 5f  ,.    COLOR_ADJ_
06b0: 4d 49 4e 20 20 20 20 20 20 20 3d 20 2d 31 30 30  MIN       = -100
06c0: 2c 0a 20 20 20 20 43 4f 4c 4f 52 5f 41 44 4a 5f  ,.    COLOR_ADJ_
06d0: 4d 41 58 20 20 20 20 20 20 20 3d 20 31 30 30 2c  MAX       = 100,
06e0: 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 0a 0a 2f 2a 20 46  .}..// ---../* F
06f0: 49 58 4d 45 3a 20 6d 6f 76 65 20 74 6f 20 77 69  IXME: move to wi
0700: 6e 33 32 2e 77 69 6e 75 73 65 72 20 3f 20 2a 2f  n32.winuser ? */
0710: 0a 0a 2f 2f 20 44 72 61 77 49 63 6f 6e 45 78 28  ..// DrawIconEx(
0720: 29 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a  ).enum : UINT {.
0730: 20 20 20 20 44 49 5f 4d 41 53 4b 20 20 20 20 20      DI_MASK     
0740: 20 20 20 3d 20 31 2c 0a 20 20 20 20 44 49 5f 49     = 1,.    DI_I
0750: 4d 41 47 45 20 20 20 20 20 20 20 3d 20 32 2c 0a  MAGE       = 2,.
0760: 20 20 20 20 44 49 5f 4e 4f 52 4d 41 4c 20 20 20      DI_NORMAL   
0770: 20 20 20 3d 20 33 2c 0a 20 20 20 20 44 49 5f 43     = 3,.    DI_C
0780: 4f 4d 50 41 54 20 20 20 20 20 20 3d 20 34 2c 0a  OMPAT      = 4,.
0790: 20 20 20 20 44 49 5f 44 45 46 41 55 4c 54 53 49      DI_DEFAULTSI
07a0: 5a 45 20 3d 20 38 0a 7d 0a 0a 2f 2f 20 44 4f 43  ZE = 8.}..// DOC
07b0: 49 4e 46 4f 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  INFO.enum : DWOR
07c0: 44 20 7b 0a 20 20 20 20 44 49 5f 41 50 50 42 41  D {.    DI_APPBA
07d0: 4e 44 49 4e 47 20 3d 20 31 2c 0a 20 20 20 20 44  NDING = 1,.    D
07e0: 49 5f 52 4f 50 53 5f 52 45 41 44 5f 44 45 53 54  I_ROPS_READ_DEST
07f0: 49 4e 41 54 49 4f 4e 20 3d 20 32 2c 0a 7d 0a 0a  INATION = 2,.}..
0800: 2f 2f 20 45 4e 48 4d 45 54 41 48 45 41 44 45 52  // ENHMETAHEADER
0810: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
0820: 20 20 20 20 45 4d 52 5f 48 45 41 44 45 52 20 3d      EMR_HEADER =
0830: 20 31 2c 0a 20 20 20 20 45 4d 52 5f 50 4f 4c 59   1,.    EMR_POLY
0840: 42 45 5a 49 45 52 2c 0a 20 20 20 20 45 4d 52 5f  BEZIER,.    EMR_
0850: 50 4f 4c 59 47 4f 4e 2c 0a 20 20 20 20 45 4d 52  POLYGON,.    EMR
0860: 5f 50 4f 4c 59 4c 49 4e 45 2c 0a 20 20 20 20 45  _POLYLINE,.    E
0870: 4d 52 5f 50 4f 4c 59 42 45 5a 49 45 52 54 4f 2c  MR_POLYBEZIERTO,
0880: 0a 20 20 20 20 45 4d 52 5f 50 4f 4c 59 4c 49 4e  .    EMR_POLYLIN
0890: 45 54 4f 2c 0a 20 20 20 20 45 4d 52 5f 50 4f 4c  ETO,.    EMR_POL
08a0: 59 50 4f 4c 59 4c 49 4e 45 2c 0a 20 20 20 20 45  YPOLYLINE,.    E
08b0: 4d 52 5f 50 4f 4c 59 50 4f 4c 59 47 4f 4e 2c 0a  MR_POLYPOLYGON,.
08c0: 20 20 20 20 45 4d 52 5f 53 45 54 57 49 4e 44 4f      EMR_SETWINDO
08d0: 57 45 58 54 45 58 2c 0a 20 20 20 20 45 4d 52 5f  WEXTEX,.    EMR_
08e0: 53 45 54 57 49 4e 44 4f 57 4f 52 47 45 58 2c 0a  SETWINDOWORGEX,.
08f0: 20 20 20 20 45 4d 52 5f 53 45 54 56 49 45 57 50      EMR_SETVIEWP
0900: 4f 52 54 45 58 54 45 58 2c 0a 20 20 20 20 45 4d  ORTEXTEX,.    EM
0910: 52 5f 53 45 54 56 49 45 57 50 4f 52 54 4f 52 47  R_SETVIEWPORTORG
0920: 45 58 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 42  EX,.    EMR_SETB
0930: 52 55 53 48 4f 52 47 45 58 2c 0a 20 20 20 20 45  RUSHORGEX,.    E
0940: 4d 52 5f 45 4f 46 2c 0a 20 20 20 20 45 4d 52 5f  MR_EOF,.    EMR_
0950: 53 45 54 50 49 58 45 4c 56 2c 0a 20 20 20 20 45  SETPIXELV,.    E
0960: 4d 52 5f 53 45 54 4d 41 50 50 45 52 46 4c 41 47  MR_SETMAPPERFLAG
0970: 53 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 4d 41  S,.    EMR_SETMA
0980: 50 4d 4f 44 45 2c 0a 20 20 20 20 45 4d 52 5f 53  PMODE,.    EMR_S
0990: 45 54 42 4b 4d 4f 44 45 2c 0a 20 20 20 20 45 4d  ETBKMODE,.    EM
09a0: 52 5f 53 45 54 50 4f 4c 59 46 49 4c 4c 4d 4f 44  R_SETPOLYFILLMOD
09b0: 45 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 52 4f  E,.    EMR_SETRO
09c0: 50 32 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 53  P2,.    EMR_SETS
09d0: 54 52 45 54 43 48 42 4c 54 4d 4f 44 45 2c 0a 20  TRETCHBLTMODE,. 
09e0: 20 20 20 45 4d 52 5f 53 45 54 54 45 58 54 41 4c     EMR_SETTEXTAL
09f0: 49 47 4e 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54  IGN,.    EMR_SET
0a00: 43 4f 4c 4f 52 41 44 4a 55 53 54 4d 45 4e 54 2c  COLORADJUSTMENT,
0a10: 0a 20 20 20 20 45 4d 52 5f 53 45 54 54 45 58 54  .    EMR_SETTEXT
0a20: 43 4f 4c 4f 52 2c 0a 20 20 20 20 45 4d 52 5f 53  COLOR,.    EMR_S
0a30: 45 54 42 4b 43 4f 4c 4f 52 2c 0a 20 20 20 20 45  ETBKCOLOR,.    E
0a40: 4d 52 5f 4f 46 46 53 45 54 43 4c 49 50 52 47 4e  MR_OFFSETCLIPRGN
0a50: 2c 0a 20 20 20 20 45 4d 52 5f 4d 4f 56 45 54 4f  ,.    EMR_MOVETO
0a60: 45 58 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 4d  EX,.    EMR_SETM
0a70: 45 54 41 52 47 4e 2c 0a 20 20 20 20 45 4d 52 5f  ETARGN,.    EMR_
0a80: 45 58 43 4c 55 44 45 43 4c 49 50 52 45 43 54 2c  EXCLUDECLIPRECT,
0a90: 0a 20 20 20 20 45 4d 52 5f 49 4e 54 45 52 53 45  .    EMR_INTERSE
0aa0: 43 54 43 4c 49 50 52 45 43 54 2c 0a 20 20 20 20  CTCLIPRECT,.    
0ab0: 45 4d 52 5f 53 43 41 4c 45 56 49 45 57 50 4f 52  EMR_SCALEVIEWPOR
0ac0: 54 45 58 54 45 58 2c 0a 20 20 20 20 45 4d 52 5f  TEXTEX,.    EMR_
0ad0: 53 43 41 4c 45 57 49 4e 44 4f 57 45 58 54 45 58  SCALEWINDOWEXTEX
0ae0: 2c 0a 20 20 20 20 45 4d 52 5f 53 41 56 45 44 43  ,.    EMR_SAVEDC
0af0: 2c 0a 20 20 20 20 45 4d 52 5f 52 45 53 54 4f 52  ,.    EMR_RESTOR
0b00: 45 44 43 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54  EDC,.    EMR_SET
0b10: 57 4f 52 4c 44 54 52 41 4e 53 46 4f 52 4d 2c 0a  WORLDTRANSFORM,.
0b20: 20 20 20 20 45 4d 52 5f 4d 4f 44 49 46 59 57 4f      EMR_MODIFYWO
0b30: 52 4c 44 54 52 41 4e 53 46 4f 52 4d 2c 0a 20 20  RLDTRANSFORM,.  
0b40: 20 20 45 4d 52 5f 53 45 4c 45 43 54 4f 42 4a 45    EMR_SELECTOBJE
0b50: 43 54 2c 0a 20 20 20 20 45 4d 52 5f 43 52 45 41  CT,.    EMR_CREA
0b60: 54 45 50 45 4e 2c 0a 20 20 20 20 45 4d 52 5f 43  TEPEN,.    EMR_C
0b70: 52 45 41 54 45 42 52 55 53 48 49 4e 44 49 52 45  REATEBRUSHINDIRE
0b80: 43 54 2c 0a 20 20 20 20 45 4d 52 5f 44 45 4c 45  CT,.    EMR_DELE
0b90: 54 45 4f 42 4a 45 43 54 2c 0a 20 20 20 20 45 4d  TEOBJECT,.    EM
0ba0: 52 5f 41 4e 47 4c 45 41 52 43 2c 0a 20 20 20 20  R_ANGLEARC,.    
0bb0: 45 4d 52 5f 45 4c 4c 49 50 53 45 2c 0a 20 20 20  EMR_ELLIPSE,.   
0bc0: 20 45 4d 52 5f 52 45 43 54 41 4e 47 4c 45 2c 0a   EMR_RECTANGLE,.
0bd0: 20 20 20 20 45 4d 52 5f 52 4f 55 4e 44 52 45 43      EMR_ROUNDREC
0be0: 54 2c 0a 20 20 20 20 45 4d 52 5f 41 52 43 2c 0a  T,.    EMR_ARC,.
0bf0: 20 20 20 20 45 4d 52 5f 43 48 4f 52 44 2c 0a 20      EMR_CHORD,. 
0c00: 20 20 20 45 4d 52 5f 50 49 45 2c 0a 20 20 20 20     EMR_PIE,.    
0c10: 45 4d 52 5f 53 45 4c 45 43 54 50 41 4c 45 54 54  EMR_SELECTPALETT
0c20: 45 2c 0a 20 20 20 20 45 4d 52 5f 43 52 45 41 54  E,.    EMR_CREAT
0c30: 45 50 41 4c 45 54 54 45 2c 0a 20 20 20 20 45 4d  EPALETTE,.    EM
0c40: 52 5f 53 45 54 50 41 4c 45 54 54 45 45 4e 54 52  R_SETPALETTEENTR
0c50: 49 45 53 2c 0a 20 20 20 20 45 4d 52 5f 52 45 53  IES,.    EMR_RES
0c60: 49 5a 45 50 41 4c 45 54 54 45 2c 0a 20 20 20 20  IZEPALETTE,.    
0c70: 45 4d 52 5f 52 45 41 4c 49 5a 45 50 41 4c 45 54  EMR_REALIZEPALET
0c80: 54 45 2c 0a 20 20 20 20 45 4d 52 5f 45 58 54 46  TE,.    EMR_EXTF
0c90: 4c 4f 4f 44 46 49 4c 4c 2c 0a 20 20 20 20 45 4d  LOODFILL,.    EM
0ca0: 52 5f 4c 49 4e 45 54 4f 2c 0a 20 20 20 20 45 4d  R_LINETO,.    EM
0cb0: 52 5f 41 52 43 54 4f 2c 0a 20 20 20 20 45 4d 52  R_ARCTO,.    EMR
0cc0: 5f 50 4f 4c 59 44 52 41 57 2c 0a 20 20 20 20 45  _POLYDRAW,.    E
0cd0: 4d 52 5f 53 45 54 41 52 43 44 49 52 45 43 54 49  MR_SETARCDIRECTI
0ce0: 4f 4e 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 4d  ON,.    EMR_SETM
0cf0: 49 54 45 52 4c 49 4d 49 54 2c 0a 20 20 20 20 45  ITERLIMIT,.    E
0d00: 4d 52 5f 42 45 47 49 4e 50 41 54 48 2c 0a 20 20  MR_BEGINPATH,.  
0d10: 20 20 45 4d 52 5f 45 4e 44 50 41 54 48 2c 0a 20    EMR_ENDPATH,. 
0d20: 20 20 20 45 4d 52 5f 43 4c 4f 53 45 46 49 47 55     EMR_CLOSEFIGU
0d30: 52 45 2c 0a 20 20 20 20 45 4d 52 5f 46 49 4c 4c  RE,.    EMR_FILL
0d40: 50 41 54 48 2c 0a 20 20 20 20 45 4d 52 5f 53 54  PATH,.    EMR_ST
0d50: 52 4f 4b 45 41 4e 44 46 49 4c 4c 50 41 54 48 2c  ROKEANDFILLPATH,
0d60: 0a 20 20 20 20 45 4d 52 5f 53 54 52 4f 4b 45 50  .    EMR_STROKEP
0d70: 41 54 48 2c 0a 20 20 20 20 45 4d 52 5f 46 4c 41  ATH,.    EMR_FLA
0d80: 54 54 45 4e 50 41 54 48 2c 0a 20 20 20 20 45 4d  TTENPATH,.    EM
0d90: 52 5f 57 49 44 45 4e 50 41 54 48 2c 0a 20 20 20  R_WIDENPATH,.   
0da0: 20 45 4d 52 5f 53 45 4c 45 43 54 43 4c 49 50 50   EMR_SELECTCLIPP
0db0: 41 54 48 2c 0a 20 20 20 20 45 4d 52 5f 41 42 4f  ATH,.    EMR_ABO
0dc0: 52 54 50 41 54 48 2c 20 20 20 20 20 2f 2f 20 36  RTPATH,     // 6
0dd0: 38 0a 20 20 20 20 2f 2f 20 72 65 73 65 72 76 65  8.    // reserve
0de0: 64 20 36 39 0a 20 20 20 20 45 4d 52 5f 47 44 49  d 69.    EMR_GDI
0df0: 43 4f 4d 4d 45 4e 54 20 3d 20 37 30 2c 0a 20 20  COMMENT = 70,.  
0e00: 20 20 45 4d 52 5f 46 49 4c 4c 52 47 4e 2c 0a 20    EMR_FILLRGN,. 
0e10: 20 20 20 45 4d 52 5f 46 52 41 4d 45 52 47 4e 2c     EMR_FRAMERGN,
0e20: 0a 20 20 20 20 45 4d 52 5f 49 4e 56 45 52 54 52  .    EMR_INVERTR
0e30: 47 4e 2c 0a 20 20 20 20 45 4d 52 5f 50 41 49 4e  GN,.    EMR_PAIN
0e40: 54 52 47 4e 2c 0a 20 20 20 20 45 4d 52 5f 45 58  TRGN,.    EMR_EX
0e50: 54 53 45 4c 45 43 54 43 4c 49 50 52 47 4e 2c 0a  TSELECTCLIPRGN,.
0e60: 20 20 20 20 45 4d 52 5f 42 49 54 42 4c 54 2c 0a      EMR_BITBLT,.
0e70: 20 20 20 20 45 4d 52 5f 53 54 52 45 54 43 48 42      EMR_STRETCHB
0e80: 4c 54 2c 0a 20 20 20 20 45 4d 52 5f 4d 41 53 4b  LT,.    EMR_MASK
0e90: 42 4c 54 2c 0a 20 20 20 20 45 4d 52 5f 50 4c 47  BLT,.    EMR_PLG
0ea0: 42 4c 54 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54  BLT,.    EMR_SET
0eb0: 44 49 42 49 54 53 54 4f 44 45 56 49 43 45 2c 0a  DIBITSTODEVICE,.
0ec0: 20 20 20 20 45 4d 52 5f 53 54 52 45 54 43 48 44      EMR_STRETCHD
0ed0: 49 42 49 54 53 2c 0a 20 20 20 20 45 4d 52 5f 45  IBITS,.    EMR_E
0ee0: 58 54 43 52 45 41 54 45 46 4f 4e 54 49 4e 44 49  XTCREATEFONTINDI
0ef0: 52 45 43 54 57 2c 0a 20 20 20 20 45 4d 52 5f 45  RECTW,.    EMR_E
0f00: 58 54 54 45 58 54 4f 55 54 41 2c 0a 20 20 20 20  XTTEXTOUTA,.    
0f10: 45 4d 52 5f 45 58 54 54 45 58 54 4f 55 54 57 2c  EMR_EXTTEXTOUTW,
0f20: 0a 20 20 20 20 45 4d 52 5f 50 4f 4c 59 42 45 5a  .    EMR_POLYBEZ
0f30: 49 45 52 31 36 2c 0a 20 20 20 20 45 4d 52 5f 50  IER16,.    EMR_P
0f40: 4f 4c 59 47 4f 4e 31 36 2c 0a 20 20 20 20 45 4d  OLYGON16,.    EM
0f50: 52 5f 50 4f 4c 59 4c 49 4e 45 31 36 2c 0a 20 20  R_POLYLINE16,.  
0f60: 20 20 45 4d 52 5f 50 4f 4c 59 42 45 5a 49 45 52    EMR_POLYBEZIER
0f70: 54 4f 31 36 2c 0a 20 20 20 20 45 4d 52 5f 50 4f  TO16,.    EMR_PO
0f80: 4c 59 4c 49 4e 45 54 4f 31 36 2c 0a 20 20 20 20  LYLINETO16,.    
0f90: 45 4d 52 5f 50 4f 4c 59 50 4f 4c 59 4c 49 4e 45  EMR_POLYPOLYLINE
0fa0: 31 36 2c 0a 20 20 20 20 45 4d 52 5f 50 4f 4c 59  16,.    EMR_POLY
0fb0: 50 4f 4c 59 47 4f 4e 31 36 2c 0a 20 20 20 20 45  POLYGON16,.    E
0fc0: 4d 52 5f 50 4f 4c 59 44 52 41 57 31 36 2c 0a 20  MR_POLYDRAW16,. 
0fd0: 20 20 20 45 4d 52 5f 43 52 45 41 54 45 4d 4f 4e     EMR_CREATEMON
0fe0: 4f 42 52 55 53 48 2c 0a 20 20 20 20 45 4d 52 5f  OBRUSH,.    EMR_
0ff0: 43 52 45 41 54 45 44 49 42 50 41 54 54 45 52 4e  CREATEDIBPATTERN
1000: 42 52 55 53 48 50 54 2c 0a 20 20 20 20 45 4d 52  BRUSHPT,.    EMR
1010: 5f 45 58 54 43 52 45 41 54 45 50 45 4e 2c 0a 20  _EXTCREATEPEN,. 
1020: 20 20 20 45 4d 52 5f 50 4f 4c 59 54 45 58 54 4f     EMR_POLYTEXTO
1030: 55 54 41 2c 0a 20 20 20 20 45 4d 52 5f 50 4f 4c  UTA,.    EMR_POL
1040: 59 54 45 58 54 4f 55 54 57 2c 20 20 20 20 20 2f  YTEXTOUTW,     /
1050: 2f 20 39 37 0a 20 20 20 20 45 4d 52 5f 53 45 54  / 97.    EMR_SET
1060: 49 43 4d 4d 4f 44 45 2c 0a 20 20 20 20 45 4d 52  ICMMODE,.    EMR
1070: 5f 43 52 45 41 54 45 43 4f 4c 4f 52 53 50 41 43  _CREATECOLORSPAC
1080: 45 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 43 4f  E,.    EMR_SETCO
1090: 4c 4f 52 53 50 41 43 45 2c 0a 20 20 20 20 45 4d  LORSPACE,.    EM
10a0: 52 5f 44 45 4c 45 54 45 43 4f 4c 4f 52 53 50 41  R_DELETECOLORSPA
10b0: 43 45 2c 0a 20 20 20 20 45 4d 52 5f 47 4c 53 52  CE,.    EMR_GLSR
10c0: 45 43 4f 52 44 2c 0a 20 20 20 20 45 4d 52 5f 47  ECORD,.    EMR_G
10d0: 4c 53 42 4f 55 4e 44 45 44 52 45 43 4f 52 44 2c  LSBOUNDEDRECORD,
10e0: 0a 20 20 20 20 45 4d 52 5f 50 49 58 45 4c 46 4f  .    EMR_PIXELFO
10f0: 52 4d 41 54 2c 20 20 20 20 20 2f 2f 20 3d 20 31  RMAT,     // = 1
1100: 30 34 0a 20 20 20 20 2f 2f 20 72 65 73 65 72 76  04.    // reserv
1110: 65 64 20 31 30 35 20 2d 20 31 31 30 0a 20 20 20  ed 105 - 110.   
1120: 20 45 4d 52 5f 43 4f 4c 4f 52 43 4f 52 52 45 43   EMR_COLORCORREC
1130: 54 50 41 4c 45 54 54 45 20 3d 20 31 31 31 2c 0a  TPALETTE = 111,.
1140: 20 20 20 20 45 4d 52 5f 53 45 54 49 43 4d 50 52      EMR_SETICMPR
1150: 4f 46 49 4c 45 41 2c 0a 20 20 20 20 45 4d 52 5f  OFILEA,.    EMR_
1160: 53 45 54 49 43 4d 50 52 4f 46 49 4c 45 57 2c 0a  SETICMPROFILEW,.
1170: 20 20 20 20 45 4d 52 5f 41 4c 50 48 41 42 4c 45      EMR_ALPHABLE
1180: 4e 44 2c 0a 20 20 20 20 45 4d 52 5f 53 45 54 4c  ND,.    EMR_SETL
1190: 41 59 4f 55 54 2c 0a 20 20 20 20 45 4d 52 5f 54  AYOUT,.    EMR_T
11a0: 52 41 4e 53 50 41 52 45 4e 54 42 4c 54 2c 20 20  RANSPARENTBLT,  
11b0: 20 20 20 2f 2f 20 31 31 36 0a 20 20 20 20 2f 2f     // 116.    //
11c0: 20 72 65 73 65 72 76 65 64 20 31 31 37 0a 20 20   reserved 117.  
11d0: 20 20 45 4d 52 5f 47 52 41 44 49 45 4e 54 46 49    EMR_GRADIENTFI
11e0: 4c 4c 20 3d 20 31 31 38 2c 0a 0a 20 20 20 20 2f  LL = 118,..    /
11f0: 2f 20 72 65 73 65 72 76 65 64 20 31 31 39 2c 20  / reserved 119, 
1200: 31 32 30 0a 20 20 20 20 45 4d 52 5f 43 4f 4c 4f  120.    EMR_COLO
1210: 52 4d 41 54 43 48 54 4f 54 41 52 47 45 54 57 20  RMATCHTOTARGETW 
1220: 3d 20 31 32 31 2c 0a 20 20 20 20 45 4d 52 5f 43  = 121,.    EMR_C
1230: 52 45 41 54 45 43 4f 4c 4f 52 53 50 41 43 45 57  REATECOLORSPACEW
1240: 20 20 20 20 20 2f 2f 20 31 32 32 0a 7d 0a 0a 63       // 122.}..c
1250: 6f 6e 73 74 20 45 4d 52 5f 4d 49 4e 20 3d 20 45  onst EMR_MIN = E
1260: 4d 52 5f 48 45 41 44 45 52 3b 0a 0a 73 74 61 74  MR_HEADER;..stat
1270: 69 63 0a 0a 69 66 20 28 57 49 4e 56 45 52 20 3e  ic..if (WINVER >
1280: 3d 20 30 78 30 35 30 30 29 0a 20 20 20 20 63 6f  = 0x0500).    co
1290: 6e 73 74 20 45 4d 52 5f 4d 41 58 20 3d 20 45 4d  nst EMR_MAX = EM
12a0: 52 5f 43 52 45 41 54 45 43 4f 4c 4f 52 53 50 41  R_CREATECOLORSPA
12b0: 43 45 57 3b 0a 65 6c 73 65 20 73 74 61 74 69 63  CEW;.else static
12c0: 0a 0a 20 20 20 20 69 66 20 28 57 49 4e 56 45 52  ..    if (WINVER
12d0: 20 3e 3d 20 30 78 30 34 30 30 29 0a 20 20 20 20   >= 0x0400).    
12e0: 20 20 20 20 63 6f 6e 73 74 20 45 4d 52 5f 4d 41      const EMR_MA
12f0: 58 20 3d 20 45 4d 52 5f 50 49 58 45 4c 46 4f 52  X = EMR_PIXELFOR
1300: 4d 41 54 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20  MAT;.    else.  
1310: 20 20 20 20 20 20 63 6f 6e 73 74 20 45 4d 52 5f        const EMR_
1320: 4d 41 58 20 3d 20 45 4d 52 5f 50 4f 4c 59 54 45  MAX = EMR_POLYTE
1330: 58 54 4f 55 54 57 3b 0a 0a 2f 2f 20 45 4e 48 4d  XTOUTW;..// ENHM
1340: 45 54 41 48 45 41 44 45 52 2e 64 53 69 67 6e 61  ETAHEADER.dSigna
1350: 74 75 72 65 2c 20 45 4e 48 4d 45 54 41 48 45 41  ture, ENHMETAHEA
1360: 44 45 52 33 2e 64 53 69 67 6e 61 74 75 72 65 2c  DER3.dSignature,
1370: 0a 2f 2f 20 45 4d 52 46 4f 52 4d 41 54 2e 64 53  .// EMRFORMAT.dS
1380: 69 67 6e 61 74 75 72 65 0a 65 6e 75 6d 20 3a 20  ignature.enum : 
1390: 44 57 4f 52 44 20 7b 0a 20 20 20 20 45 4e 48 4d  DWORD {.    ENHM
13a0: 45 54 41 5f 53 49 47 4e 41 54 55 52 45 20 3d 20  ETA_SIGNATURE = 
13b0: 31 31 37 39 34 36 39 30 38 38 2c 0a 20 20 20 20  1179469088,.    
13c0: 45 50 53 5f 53 49 47 4e 41 54 55 52 45 20 20 20  EPS_SIGNATURE   
13d0: 20 20 3d 20 30 78 34 36 35 33 35 30 34 35 0a 7d    = 0x46535045.}
13e0: 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 5f 57  ..static..if (_W
13f0: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
1400: 30 35 30 30 29 0a 7b 0a 20 20 20 20 2f 2f 20 41  0500).{.    // A
1410: 64 64 46 6f 6e 74 52 65 73 6f 75 72 63 65 45 78  ddFontResourceEx
1420: 28 29 0a 20 20 20 20 65 6e 75 6d 20 3a 20 44 57  ().    enum : DW
1430: 4f 52 44 20 7b 0a 20 20 20 20 20 20 20 20 46 52  ORD {.        FR
1440: 5f 50 52 49 56 41 54 45 20 20 3d 20 30 78 31 30  _PRIVATE  = 0x10
1450: 2c 0a 20 20 20 20 20 20 20 20 46 52 5f 4e 4f 54  ,.        FR_NOT
1460: 5f 45 4e 55 4d 20 3d 20 30 78 32 30 0a 20 20 20  _ENUM = 0x20.   
1470: 20 7d 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a 20 20 20   }.}..enum {.   
1480: 20 4d 45 54 41 5f 53 41 56 45 44 43 20 3d 20 30   META_SAVEDC = 0
1490: 78 31 45 2c 0a 20 20 20 20 4d 45 54 41 5f 52 45  x1E,.    META_RE
14a0: 41 4c 49 5a 45 50 41 4c 45 54 54 45 20 20 20 20  ALIZEPALETTE    
14b0: 20 20 20 20 3d 20 30 78 33 35 2c 0a 20 20 20 20      = 0x35,.    
14c0: 4d 45 54 41 5f 53 45 54 50 41 4c 45 4e 54 52 49  META_SETPALENTRI
14d0: 45 53 20 20 20 20 20 20 20 20 20 3d 20 30 78 33  ES         = 0x3
14e0: 37 2c 0a 20 20 20 20 4d 45 54 41 5f 43 52 45 41  7,.    META_CREA
14f0: 54 45 50 41 4c 45 54 54 45 20 20 20 20 20 20 20  TEPALETTE       
1500: 20 20 3d 20 30 78 66 37 2c 0a 20 20 20 20 4d 45    = 0xf7,.    ME
1510: 54 41 5f 53 45 54 42 4b 4d 4f 44 45 20 20 20 20  TA_SETBKMODE    
1520: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 32           = 0x102
1530: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 4d 41  ,.    META_SETMA
1540: 50 4d 4f 44 45 20 20 20 20 20 20 20 20 20 20 20  PMODE           
1550: 20 3d 20 30 78 31 30 33 2c 0a 20 20 20 20 4d 45   = 0x103,.    ME
1560: 54 41 5f 53 45 54 52 4f 50 32 20 20 20 20 20 20  TA_SETROP2      
1570: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 34           = 0x104
1580: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 52 45  ,.    META_SETRE
1590: 4c 41 42 53 20 20 20 20 20 20 20 20 20 20 20 20  LABS            
15a0: 20 3d 20 30 78 31 30 35 2c 0a 20 20 20 20 4d 45   = 0x105,.    ME
15b0: 54 41 5f 53 45 54 50 4f 4c 59 46 49 4c 4c 4d 4f  TA_SETPOLYFILLMO
15c0: 44 45 20 20 20 20 20 20 20 3d 20 30 78 31 30 36  DE       = 0x106
15d0: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 53 54  ,.    META_SETST
15e0: 52 45 54 43 48 42 4c 54 4d 4f 44 45 20 20 20 20  RETCHBLTMODE    
15f0: 20 3d 20 30 78 31 30 37 2c 0a 20 20 20 20 4d 45   = 0x107,.    ME
1600: 54 41 5f 53 45 54 54 45 58 54 43 48 41 52 45 58  TA_SETTEXTCHAREX
1610: 54 52 41 20 20 20 20 20 20 3d 20 30 78 31 30 38  TRA      = 0x108
1620: 2c 0a 20 20 20 20 4d 45 54 41 5f 52 45 53 54 4f  ,.    META_RESTO
1630: 52 45 44 43 20 20 20 20 20 20 20 20 20 20 20 20  REDC            
1640: 20 3d 20 30 78 31 32 37 2c 0a 20 20 20 20 4d 45   = 0x127,.    ME
1650: 54 41 5f 49 4e 56 45 52 54 52 45 47 49 4f 4e 20  TA_INVERTREGION 
1660: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 32 41           = 0x12A
1670: 2c 0a 20 20 20 20 4d 45 54 41 5f 50 41 49 4e 54  ,.    META_PAINT
1680: 52 45 47 49 4f 4e 20 20 20 20 20 20 20 20 20 20  REGION          
1690: 20 3d 20 30 78 31 32 42 2c 0a 20 20 20 20 4d 45   = 0x12B,.    ME
16a0: 54 41 5f 53 45 4c 45 43 54 43 4c 49 50 52 45 47  TA_SELECTCLIPREG
16b0: 49 4f 4e 20 20 20 20 20 20 3d 20 30 78 31 32 43  ION      = 0x12C
16c0: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 4c 45 43  ,.    META_SELEC
16d0: 54 4f 42 4a 45 43 54 20 20 20 20 20 20 20 20 20  TOBJECT         
16e0: 20 3d 20 30 78 31 32 44 2c 0a 20 20 20 20 4d 45   = 0x12D,.    ME
16f0: 54 41 5f 53 45 54 54 45 58 54 41 4c 49 47 4e 20  TA_SETTEXTALIGN 
1700: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 32 45           = 0x12E
1710: 2c 0a 20 20 20 20 4d 45 54 41 5f 52 45 53 49 5a  ,.    META_RESIZ
1720: 45 50 41 4c 45 54 54 45 20 20 20 20 20 20 20 20  EPALETTE        
1730: 20 3d 20 30 78 31 33 39 2c 0a 20 20 20 20 4d 45   = 0x139,.    ME
1740: 54 41 5f 44 49 42 43 52 45 41 54 45 50 41 54 54  TA_DIBCREATEPATT
1750: 45 52 4e 42 52 55 53 48 20 3d 20 30 78 31 34 32  ERNBRUSH = 0x142
1760: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 4c 41  ,.    META_SETLA
1770: 59 4f 55 54 20 20 20 20 20 20 20 20 20 20 20 20  YOUT            
1780: 20 3d 20 30 78 31 34 39 2c 0a 20 20 20 20 4d 45   = 0x149,.    ME
1790: 54 41 5f 44 45 4c 45 54 45 4f 42 4a 45 43 54 20  TA_DELETEOBJECT 
17a0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 46 30           = 0x1F0
17b0: 2c 0a 20 20 20 20 4d 45 54 41 5f 43 52 45 41 54  ,.    META_CREAT
17c0: 45 50 41 54 54 45 52 4e 42 52 55 53 48 20 20 20  EPATTERNBRUSH   
17d0: 20 3d 20 30 78 31 46 39 2c 0a 20 20 20 20 4d 45   = 0x1F9,.    ME
17e0: 54 41 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 20 20  TA_SETBKCOLOR   
17f0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 31           = 0x201
1800: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 54 45  ,.    META_SETTE
1810: 58 54 43 4f 4c 4f 52 20 20 20 20 20 20 20 20 20  XTCOLOR         
1820: 20 3d 20 30 78 32 30 39 2c 0a 20 20 20 20 4d 45   = 0x209,.    ME
1830: 54 41 5f 53 45 54 54 45 58 54 4a 55 53 54 49 46  TA_SETTEXTJUSTIF
1840: 49 43 41 54 49 4f 4e 20 20 3d 20 30 78 32 30 41  ICATION  = 0x20A
1850: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 57 49  ,.    META_SETWI
1860: 4e 44 4f 57 4f 52 47 20 20 20 20 20 20 20 20 20  NDOWORG         
1870: 20 3d 20 30 78 32 30 42 2c 0a 20 20 20 20 4d 45   = 0x20B,.    ME
1880: 54 41 5f 53 45 54 57 49 4e 44 4f 57 45 58 54 20  TA_SETWINDOWEXT 
1890: 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 43           = 0x20C
18a0: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 56 49  ,.    META_SETVI
18b0: 45 57 50 4f 52 54 4f 52 47 20 20 20 20 20 20 20  EWPORTORG       
18c0: 20 3d 20 30 78 32 30 44 2c 0a 20 20 20 20 4d 45   = 0x20D,.    ME
18d0: 54 41 5f 53 45 54 56 49 45 57 50 4f 52 54 45 58  TA_SETVIEWPORTEX
18e0: 54 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 45  T        = 0x20E
18f0: 2c 0a 20 20 20 20 4d 45 54 41 5f 4f 46 46 53 45  ,.    META_OFFSE
1900: 54 57 49 4e 44 4f 57 4f 52 47 20 20 20 20 20 20  TWINDOWORG      
1910: 20 3d 20 30 78 32 30 46 2c 0a 20 20 20 20 4d 45   = 0x20F,.    ME
1920: 54 41 5f 4f 46 46 53 45 54 56 49 45 57 50 4f 52  TA_OFFSETVIEWPOR
1930: 54 4f 52 47 20 20 20 20 20 3d 20 30 78 32 31 31  TORG     = 0x211
1940: 2c 0a 20 20 20 20 4d 45 54 41 5f 4c 49 4e 45 54  ,.    META_LINET
1950: 4f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  O               
1960: 20 3d 20 30 78 32 31 33 2c 0a 20 20 20 20 4d 45   = 0x213,.    ME
1970: 54 41 5f 4d 4f 56 45 54 4f 20 20 20 20 20 20 20  TA_MOVETO       
1980: 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 31 34           = 0x214
1990: 2c 0a 20 20 20 20 4d 45 54 41 5f 4f 46 46 53 45  ,.    META_OFFSE
19a0: 54 43 4c 49 50 52 47 4e 20 20 20 20 20 20 20 20  TCLIPRGN        
19b0: 20 3d 20 30 78 32 32 30 2c 0a 20 20 20 20 4d 45   = 0x220,.    ME
19c0: 54 41 5f 46 49 4c 4c 52 45 47 49 4f 4e 20 20 20  TA_FILLREGION   
19d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 32 38           = 0x228
19e0: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 4d 41  ,.    META_SETMA
19f0: 50 50 45 52 46 4c 41 47 53 20 20 20 20 20 20 20  PPERFLAGS       
1a00: 20 3d 20 30 78 32 33 31 2c 0a 20 20 20 20 4d 45   = 0x231,.    ME
1a10: 54 41 5f 53 45 4c 45 43 54 50 41 4c 45 54 54 45  TA_SELECTPALETTE
1a20: 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 33 34           = 0x234
1a30: 2c 0a 20 20 20 20 4d 45 54 41 5f 43 52 45 41 54  ,.    META_CREAT
1a40: 45 50 45 4e 49 4e 44 49 52 45 43 54 20 20 20 20  EPENINDIRECT    
1a50: 20 3d 20 30 78 32 46 41 2c 0a 20 20 20 20 4d 45   = 0x2FA,.    ME
1a60: 54 41 5f 43 52 45 41 54 45 46 4f 4e 54 49 4e 44  TA_CREATEFONTIND
1a70: 49 52 45 43 54 20 20 20 20 3d 20 30 78 32 46 42  IRECT    = 0x2FB
1a80: 2c 0a 20 20 20 20 4d 45 54 41 5f 43 52 45 41 54  ,.    META_CREAT
1a90: 45 42 52 55 53 48 49 4e 44 49 52 45 43 54 20 20  EBRUSHINDIRECT  
1aa0: 20 3d 20 30 78 32 46 43 2c 0a 20 20 20 20 4d 45   = 0x2FC,.    ME
1ab0: 54 41 5f 50 4f 4c 59 47 4f 4e 20 20 20 20 20 20  TA_POLYGON      
1ac0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 33 32 34           = 0x324
1ad0: 2c 0a 20 20 20 20 4d 45 54 41 5f 50 4f 4c 59 4c  ,.    META_POLYL
1ae0: 49 4e 45 20 20 20 20 20 20 20 20 20 20 20 20 20  INE             
1af0: 20 3d 20 30 78 33 32 35 2c 0a 20 20 20 20 4d 45   = 0x325,.    ME
1b00: 54 41 5f 53 43 41 4c 45 57 49 4e 44 4f 57 45 58  TA_SCALEWINDOWEX
1b10: 54 20 20 20 20 20 20 20 20 3d 20 30 78 34 31 30  T        = 0x410
1b20: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 43 41 4c 45  ,.    META_SCALE
1b30: 56 49 45 57 50 4f 52 54 45 58 54 20 20 20 20 20  VIEWPORTEXT     
1b40: 20 3d 20 30 78 34 31 32 2c 0a 20 20 20 20 4d 45   = 0x412,.    ME
1b50: 54 41 5f 45 58 43 4c 55 44 45 43 4c 49 50 52 45  TA_EXCLUDECLIPRE
1b60: 43 54 20 20 20 20 20 20 20 3d 20 30 78 34 31 35  CT       = 0x415
1b70: 2c 0a 20 20 20 20 4d 45 54 41 5f 49 4e 54 45 52  ,.    META_INTER
1b80: 53 45 43 54 43 4c 49 50 52 45 43 54 20 20 20 20  SECTCLIPRECT    
1b90: 20 3d 20 30 78 34 31 36 2c 0a 20 20 20 20 4d 45   = 0x416,.    ME
1ba0: 54 41 5f 45 4c 4c 49 50 53 45 20 20 20 20 20 20  TA_ELLIPSE      
1bb0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 31 38           = 0x418
1bc0: 2c 0a 20 20 20 20 4d 45 54 41 5f 46 4c 4f 4f 44  ,.    META_FLOOD
1bd0: 46 49 4c 4c 20 20 20 20 20 20 20 20 20 20 20 20  FILL            
1be0: 20 3d 20 30 78 34 31 39 2c 0a 20 20 20 20 4d 45   = 0x419,.    ME
1bf0: 54 41 5f 52 45 43 54 41 4e 47 4c 45 20 20 20 20  TA_RECTANGLE    
1c00: 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 31 42           = 0x41B
1c10: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 50 49  ,.    META_SETPI
1c20: 58 45 4c 20 20 20 20 20 20 20 20 20 20 20 20 20  XEL             
1c30: 20 3d 20 30 78 34 31 46 2c 0a 20 20 20 20 4d 45   = 0x41F,.    ME
1c40: 54 41 5f 46 52 41 4d 45 52 45 47 49 4f 4e 20 20  TA_FRAMEREGION  
1c50: 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 32 39           = 0x429
1c60: 2c 0a 20 20 20 20 4d 45 54 41 5f 41 4e 49 4d 41  ,.    META_ANIMA
1c70: 54 45 50 41 4c 45 54 54 45 20 20 20 20 20 20 20  TEPALETTE       
1c80: 20 3d 20 30 78 34 33 36 2c 0a 20 20 20 20 4d 45   = 0x436,.    ME
1c90: 54 41 5f 54 45 58 54 4f 55 54 20 20 20 20 20 20  TA_TEXTOUT      
1ca0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 35 32 31           = 0x521
1cb0: 2c 0a 20 20 20 20 4d 45 54 41 5f 50 4f 4c 59 50  ,.    META_POLYP
1cc0: 4f 4c 59 47 4f 4e 20 20 20 20 20 20 20 20 20 20  OLYGON          
1cd0: 20 3d 20 30 78 35 33 38 2c 0a 20 20 20 20 4d 45   = 0x538,.    ME
1ce0: 54 41 5f 45 58 54 46 4c 4f 4f 44 46 49 4c 4c 20  TA_EXTFLOODFILL 
1cf0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 35 34 38           = 0x548
1d00: 2c 0a 20 20 20 20 4d 45 54 41 5f 52 4f 55 4e 44  ,.    META_ROUND
1d10: 52 45 43 54 20 20 20 20 20 20 20 20 20 20 20 20  RECT            
1d20: 20 3d 20 30 78 36 31 43 2c 0a 20 20 20 20 4d 45   = 0x61C,.    ME
1d30: 54 41 5f 50 41 54 42 4c 54 20 20 20 20 20 20 20  TA_PATBLT       
1d40: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 31 44           = 0x61D
1d50: 2c 0a 20 20 20 20 4d 45 54 41 5f 45 53 43 41 50  ,.    META_ESCAP
1d60: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
1d70: 20 3d 20 30 78 36 32 36 2c 0a 20 20 20 20 4d 45   = 0x626,.    ME
1d80: 54 41 5f 43 52 45 41 54 45 52 45 47 49 4f 4e 20  TA_CREATEREGION 
1d90: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 46 46           = 0x6FF
1da0: 2c 0a 20 20 20 20 4d 45 54 41 5f 41 52 43 20 20  ,.    META_ARC  
1db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc0: 20 3d 20 30 78 38 31 37 2c 0a 20 20 20 20 4d 45   = 0x817,.    ME
1dd0: 54 41 5f 50 49 45 20 20 20 20 20 20 20 20 20 20  TA_PIE          
1de0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 38 31 41           = 0x81A
1df0: 2c 0a 20 20 20 20 4d 45 54 41 5f 43 48 4f 52 44  ,.    META_CHORD
1e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e10: 20 3d 20 30 78 38 33 30 2c 0a 20 20 20 20 4d 45   = 0x830,.    ME
1e20: 54 41 5f 42 49 54 42 4c 54 20 20 20 20 20 20 20  TA_BITBLT       
1e30: 20 20 20 20 20 20 20 20 20 3d 20 30 78 39 32 32           = 0x922
1e40: 2c 0a 20 20 20 20 4d 45 54 41 5f 44 49 42 42 49  ,.    META_DIBBI
1e50: 54 42 4c 54 20 20 20 20 20 20 20 20 20 20 20 20  TBLT            
1e60: 20 3d 20 30 78 39 34 30 2c 0a 20 20 20 20 4d 45   = 0x940,.    ME
1e70: 54 41 5f 45 58 54 54 45 58 54 4f 55 54 20 20 20  TA_EXTTEXTOUT   
1e80: 20 20 20 20 20 20 20 20 20 3d 20 30 78 41 33 32           = 0xA32
1e90: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 54 52 45 54  ,.    META_STRET
1ea0: 43 48 42 4c 54 20 20 20 20 20 20 20 20 20 20 20  CHBLT           
1eb0: 20 3d 20 30 78 42 32 33 2c 0a 20 20 20 20 4d 45   = 0xB23,.    ME
1ec0: 54 41 5f 44 49 42 53 54 52 45 54 43 48 42 4c 54  TA_DIBSTRETCHBLT
1ed0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 42 34 31           = 0xB41
1ee0: 2c 0a 20 20 20 20 4d 45 54 41 5f 53 45 54 44 49  ,.    META_SETDI
1ef0: 42 54 4f 44 45 56 20 20 20 20 20 20 20 20 20 20  BTODEV          
1f00: 20 3d 20 30 78 44 33 33 2c 0a 20 20 20 20 4d 45   = 0xD33,.    ME
1f10: 54 41 5f 53 54 52 45 54 43 48 44 49 42 20 20 20  TA_STRETCHDIB   
1f20: 20 20 20 20 20 20 20 20 20 3d 20 30 78 46 34 33           = 0xF43
1f30: 0a 7d 0a 0a 2f 2f 20 45 4d 52 50 4f 4c 59 44 52  .}..// EMRPOLYDR
1f40: 41 57 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b  AW.enum : BYTE {
1f50: 0a 20 20 20 20 50 54 5f 43 4c 4f 53 45 46 49 47  .    PT_CLOSEFIG
1f60: 55 52 45 20 3d 20 31 2c 0a 20 20 20 20 50 54 5f  URE = 1,.    PT_
1f70: 4c 49 4e 45 54 4f 20 20 20 20 20 20 3d 20 32 2c  LINETO      = 2,
1f80: 0a 20 20 20 20 50 54 5f 42 45 5a 49 45 52 54 4f  .    PT_BEZIERTO
1f90: 20 20 20 20 3d 20 34 2c 0a 20 20 20 20 50 54 5f      = 4,.    PT_
1fa0: 4d 4f 56 45 54 4f 20 20 20 20 20 20 3d 20 36 0a  MOVETO      = 6.
1fb0: 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 0a 2f 2f 20 50 49  }..// ----.// PI
1fc0: 58 45 4c 46 4f 52 4d 41 54 44 45 53 43 52 49 50  XELFORMATDESCRIP
1fd0: 54 4f 52 2e 69 50 69 78 65 6c 54 79 70 65 0a 65  TOR.iPixelType.e
1fe0: 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20 20  num : BYTE {.   
1ff0: 20 50 46 44 5f 54 59 50 45 5f 52 47 42 41 20 20   PFD_TYPE_RGBA  
2000: 20 20 20 20 20 3d 20 30 2c 0a 20 20 20 20 50 46       = 0,.    PF
2010: 44 5f 54 59 50 45 5f 43 4f 4c 4f 52 49 4e 44 45  D_TYPE_COLORINDE
2020: 58 20 3d 20 31 0a 7d 0a 0a 64 65 70 72 65 63 61  X = 1.}..depreca
2030: 74 65 64 20 7b 0a 20 20 20 20 2f 2f 20 50 49 58  ted {.    // PIX
2040: 45 4c 46 4f 52 4d 41 54 44 45 53 43 52 49 50 54  ELFORMATDESCRIPT
2050: 4f 52 2e 0a 20 20 20 20 63 6f 6e 73 74 20 62 79  OR..    const by
2060: 74 65 0a 20 20 20 20 50 46 44 5f 4d 41 49 4e 5f  te.    PFD_MAIN_
2070: 50 4c 41 4e 45 20 20 20 20 20 3d 20 30 2c 0a 20  PLANE     = 0,. 
2080: 20 20 20 50 46 44 5f 4f 56 45 52 4c 41 59 5f 50     PFD_OVERLAY_P
2090: 4c 41 4e 45 20 20 3d 20 31 2c 0a 20 20 20 20 50  LANE  = 1,.    P
20a0: 46 44 5f 55 4e 44 45 52 4c 41 59 5f 50 4c 41 4e  FD_UNDERLAY_PLAN
20b0: 45 20 3d 20 2d 31 3b 0a 7d 0a 0a 2f 2f 20 50 49  E = -1;.}..// PI
20c0: 58 45 4c 46 4f 52 4d 41 54 44 45 53 43 52 49 50  XELFORMATDESCRIP
20d0: 54 4f 52 2e 64 77 46 6c 61 67 73 0a 63 6f 6e 73  TOR.dwFlags.cons
20e0: 74 20 44 57 4f 52 44 0a 50 46 44 5f 44 4f 55 42  t DWORD.PFD_DOUB
20f0: 4c 45 42 55 46 46 45 52 20 3d 20 30 78 30 30 30  LEBUFFER = 0x000
2100: 30 30 30 30 31 2c 0a 50 46 44 5f 53 54 45 52 45  00001,.PFD_STERE
2110: 4f 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a  O = 0x00000002,.
2120: 50 46 44 5f 44 52 41 57 5f 54 4f 5f 57 49 4e 44  PFD_DRAW_TO_WIND
2130: 4f 57 20 20 20 20 20 20 3d 20 30 78 30 30 30 30  OW      = 0x0000
2140: 30 30 30 34 2c 0a 50 46 44 5f 44 52 41 57 5f 54  0004,.PFD_DRAW_T
2150: 4f 5f 42 49 54 4d 41 50 20 20 20 20 20 20 3d 20  O_BITMAP      = 
2160: 30 78 30 30 30 30 30 30 30 38 2c 0a 50 46 44 5f  0x00000008,.PFD_
2170: 53 55 50 50 4f 52 54 5f 47 44 49 20 20 20 20 20  SUPPORT_GDI     
2180: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30      = 0x00000010
2190: 2c 0a 50 46 44 5f 53 55 50 50 4f 52 54 5f 4f 50  ,.PFD_SUPPORT_OP
21a0: 45 4e 47 4c 20 20 20 20 20 20 3d 20 30 78 30 30  ENGL      = 0x00
21b0: 30 30 30 30 32 30 2c 0a 50 46 44 5f 47 45 4e 45  000020,.PFD_GENE
21c0: 52 49 43 5f 46 4f 52 4d 41 54 20 20 20 20 20 20  RIC_FORMAT      
21d0: 3d 20 30 78 30 30 30 30 30 30 34 30 2c 0a 50 46  = 0x00000040,.PF
21e0: 44 5f 4e 45 45 44 5f 50 41 4c 45 54 54 45 20 20  D_NEED_PALETTE  
21f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
2200: 38 30 2c 0a 50 46 44 5f 4e 45 45 44 5f 53 59 53  80,.PFD_NEED_SYS
2210: 54 45 4d 5f 50 41 4c 45 54 54 45 20 3d 20 30 78  TEM_PALETTE = 0x
2220: 30 30 30 30 30 31 30 30 2c 0a 50 46 44 5f 53 57  00000100,.PFD_SW
2230: 41 50 5f 45 58 43 48 41 4e 47 45 20 20 20 20 20  AP_EXCHANGE     
2240: 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c 0a    = 0x00000200,.
2250: 50 46 44 5f 53 57 41 50 5f 43 4f 50 59 20 20 20  PFD_SWAP_COPY   
2260: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
2270: 30 34 30 30 2c 0a 50 46 44 5f 53 57 41 50 5f 4c  0400,.PFD_SWAP_L
2280: 41 59 45 52 5f 42 55 46 46 45 52 53 20 20 3d 20  AYER_BUFFERS  = 
2290: 30 78 30 30 30 30 30 38 30 30 2c 0a 50 46 44 5f  0x00000800,.PFD_
22a0: 47 45 4e 45 52 49 43 5f 41 43 43 45 4c 45 52 41  GENERIC_ACCELERA
22b0: 54 45 44 20 3d 20 30 78 30 30 30 30 31 30 30 30  TED = 0x00001000
22c0: 2c 0a 50 46 44 5f 53 55 50 50 4f 52 54 5f 44 49  ,.PFD_SUPPORT_DI
22d0: 52 45 43 54 44 52 41 57 20 20 3d 20 30 78 30 30  RECTDRAW  = 0x00
22e0: 30 30 32 30 30 30 2c 0a 0a 2f 2a 20 50 49 58 45  002000,../* PIXE
22f0: 4c 46 4f 52 4d 41 54 44 45 53 43 52 49 50 54 4f  LFORMATDESCRIPTO
2300: 52 20 66 6c 61 67 73 20 66 6f 72 20 75 73 65 20  R flags for use 
2310: 69 6e 20 43 68 6f 6f 73 65 50 69 78 65 6c 46 6f  in ChoosePixelFo
2320: 72 6d 61 74 20 6f 6e 6c 79 20 2a 2f 0a 50 46 44  rmat only */.PFD
2330: 5f 44 45 50 54 48 5f 44 4f 4e 54 43 41 52 45 20  _DEPTH_DONTCARE 
2340: 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30         = 0x20000
2350: 30 30 30 2c 0a 50 46 44 5f 44 4f 55 42 4c 45 42  000,.PFD_DOUBLEB
2360: 55 46 46 45 52 5f 44 4f 4e 54 43 41 52 45 20 3d  UFFER_DONTCARE =
2370: 20 30 78 34 30 30 30 30 30 30 30 2c 0a 50 46 44   0x40000000,.PFD
2380: 5f 53 54 45 52 45 4f 5f 44 4f 4e 54 43 41 52 45  _STEREO_DONTCARE
2390: 20 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30         = 0x80000
23a0: 30 30 30 3b 0a 0a 2f 2f 20 2d 2d 2d 2d 0a 0a 63  000;..// ----..c
23b0: 6f 6e 73 74 20 44 57 4f 52 44 0a 42 4c 41 43 4b  onst DWORD.BLACK
23c0: 4e 45 53 53 20 20 20 3d 20 30 78 30 30 30 30 34  NESS   = 0x00004
23d0: 32 2c 0a 4e 4f 54 53 52 43 45 52 41 53 45 20 3d  2,.NOTSRCERASE =
23e0: 20 30 78 31 31 30 30 41 36 2c 0a 4e 4f 54 53 52   0x1100A6,.NOTSR
23f0: 43 43 4f 50 59 20 20 3d 20 30 78 33 33 30 30 30  CCOPY  = 0x33000
2400: 38 2c 0a 53 52 43 45 52 41 53 45 20 20 20 20 3d  8,.SRCERASE    =
2410: 20 30 78 34 34 30 33 32 38 2c 0a 44 53 54 49 4e   0x440328,.DSTIN
2420: 56 45 52 54 20 20 20 3d 20 30 78 35 35 30 30 30  VERT   = 0x55000
2430: 39 2c 0a 50 41 54 49 4e 56 45 52 54 20 20 20 3d  9,.PATINVERT   =
2440: 20 30 78 35 41 30 30 34 39 2c 0a 53 52 43 49 4e   0x5A0049,.SRCIN
2450: 56 45 52 54 20 20 20 3d 20 30 78 36 36 30 30 34  VERT   = 0x66004
2460: 36 2c 0a 53 52 43 41 4e 44 20 20 20 20 20 20 3d  6,.SRCAND      =
2470: 20 30 78 38 38 30 30 43 36 2c 0a 4d 45 52 47 45   0x8800C6,.MERGE
2480: 50 41 49 4e 54 20 20 3d 20 30 78 42 42 30 32 32  PAINT  = 0xBB022
2490: 36 2c 0a 4d 45 52 47 45 43 4f 50 59 20 20 20 3d  6,.MERGECOPY   =
24a0: 20 30 78 43 30 30 30 43 41 2c 0a 53 52 43 43 4f   0xC000CA,.SRCCO
24b0: 50 59 20 20 20 20 20 3d 20 30 78 43 43 30 30 32  PY     = 0xCC002
24c0: 30 2c 0a 53 52 43 50 41 49 4e 54 20 20 20 20 3d  0,.SRCPAINT    =
24d0: 20 30 78 45 45 30 30 38 36 2c 0a 50 41 54 43 4f   0xEE0086,.PATCO
24e0: 50 59 20 20 20 20 20 3d 20 30 78 46 30 30 30 32  PY     = 0xF0002
24f0: 31 2c 0a 50 41 54 50 41 49 4e 54 20 20 20 20 3d  1,.PATPAINT    =
2500: 20 30 78 46 42 30 41 30 39 2c 0a 57 48 49 54 45   0xFB0A09,.WHITE
2510: 4e 45 53 53 20 20 20 3d 20 30 78 46 46 30 30 36  NESS   = 0xFF006
2520: 32 3b 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57  2;.static..if (W
2530: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
2540: 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 44 57 4f  .{.    const DWO
2550: 52 44 0a 20 20 20 20 4e 4f 4d 49 52 52 4f 52 42  RD.    NOMIRRORB
2560: 49 54 4d 41 50 20 3d 20 30 78 38 30 30 30 30 30  ITMAP = 0x800000
2570: 30 30 2c 0a 20 20 20 20 43 41 50 54 55 52 45 42  00,.    CAPTUREB
2580: 4c 54 20 20 20 20 20 3d 20 30 78 34 30 30 30 30  LT     = 0x40000
2590: 30 30 30 3b 0a 7d 0a 0a 2f 2f 20 47 65 74 52 4f  000;.}..// GetRO
25a0: 50 32 28 29 2c 20 53 65 74 52 4f 50 32 28 29 0a  P2(), SetROP2().
25b0: 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20  enum : int {.   
25c0: 20 52 32 5f 42 4c 41 43 4b 20 20 20 20 20 20 20   R2_BLACK       
25d0: 3d 20 31 2c 0a 20 20 20 20 52 32 5f 4e 4f 54 4d  = 1,.    R2_NOTM
25e0: 45 52 47 45 50 45 4e 20 3d 20 32 2c 0a 20 20 20  ERGEPEN = 2,.   
25f0: 20 52 32 5f 4d 41 53 4b 4e 4f 54 50 45 4e 20 20   R2_MASKNOTPEN  
2600: 3d 20 33 2c 0a 20 20 20 20 52 32 5f 4e 4f 54 43  = 3,.    R2_NOTC
2610: 4f 50 59 50 45 4e 20 20 3d 20 34 2c 0a 20 20 20  OPYPEN  = 4,.   
2620: 20 52 32 5f 4d 41 53 4b 50 45 4e 4e 4f 54 20 20   R2_MASKPENNOT  
2630: 3d 20 35 2c 0a 20 20 20 20 52 32 5f 4e 4f 54 20  = 5,.    R2_NOT 
2640: 20 20 20 20 20 20 20 20 3d 20 36 2c 0a 20 20 20          = 6,.   
2650: 20 52 32 5f 58 4f 52 50 45 4e 20 20 20 20 20 20   R2_XORPEN      
2660: 3d 20 37 2c 0a 20 20 20 20 52 32 5f 4e 4f 54 4d  = 7,.    R2_NOTM
2670: 41 53 4b 50 45 4e 20 20 3d 20 38 2c 0a 20 20 20  ASKPEN  = 8,.   
2680: 20 52 32 5f 4d 41 53 4b 50 45 4e 20 20 20 20 20   R2_MASKPEN     
2690: 3d 20 39 2c 0a 20 20 20 20 52 32 5f 4e 4f 54 58  = 9,.    R2_NOTX
26a0: 4f 52 50 45 4e 20 20 20 3d 20 31 30 2c 0a 20 20  ORPEN   = 10,.  
26b0: 20 20 52 32 5f 4e 4f 50 20 20 20 20 20 20 20 20    R2_NOP        
26c0: 20 3d 20 31 31 2c 0a 20 20 20 20 52 32 5f 4d 45   = 11,.    R2_ME
26d0: 52 47 45 4e 4f 54 50 45 4e 20 3d 20 31 32 2c 0a  RGENOTPEN = 12,.
26e0: 20 20 20 20 52 32 5f 43 4f 50 59 50 45 4e 20 20      R2_COPYPEN  
26f0: 20 20 20 3d 20 31 33 2c 0a 20 20 20 20 52 32 5f     = 13,.    R2_
2700: 4d 45 52 47 45 50 45 4e 4e 4f 54 20 3d 20 31 34  MERGEPENNOT = 14
2710: 2c 0a 20 20 20 20 52 32 5f 4d 45 52 47 45 50 45  ,.    R2_MERGEPE
2720: 4e 20 20 20 20 3d 20 31 35 2c 0a 20 20 20 20 52  N    = 15,.    R
2730: 32 5f 57 48 49 54 45 20 20 20 20 20 20 20 3d 20  2_WHITE       = 
2740: 31 36 0a 7d 0a 0a 63 6f 6e 73 74 20 52 32 5f 4c  16.}..const R2_L
2750: 41 53 54 20 3d 20 52 32 5f 57 48 49 54 45 3b 0a  AST = R2_WHITE;.
2760: 0a 2f 2f 20 43 68 65 63 6b 43 6f 6c 6f 72 73 49  .// CheckColorsI
2770: 6e 47 61 6d 75 74 28 29 0a 63 6f 6e 73 74 20 75  nGamut().const u
2780: 62 79 74 65 0a 43 4d 5f 49 4e 5f 47 41 4d 55 54  byte.CM_IN_GAMUT
2790: 20 20 20 20 20 3d 20 30 2c 0a 43 4d 5f 4f 55 54       = 0,.CM_OUT
27a0: 5f 4f 46 5f 47 41 4d 55 54 20 3d 20 32 35 35 3b  _OF_GAMUT = 255;
27b0: 0a 0a 2f 2a 20 55 70 64 61 74 65 49 43 4d 52 65  ../* UpdateICMRe
27c0: 67 4b 65 79 20 43 6f 6e 73 74 61 6e 74 73 20 20  gKey Constants  
27d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2f 0a               */.
27e0: 63 6f 6e 73 74 20 69 6e 74 0a 49 43 4d 5f 41 44  const int.ICM_AD
27f0: 44 50 52 4f 46 49 4c 45 20 20 20 20 20 20 20 20  DPROFILE        
2800: 20 20 3d 20 31 2c 0a 49 43 4d 5f 44 45 4c 45 54    = 1,.ICM_DELET
2810: 45 50 52 4f 46 49 4c 45 20 20 20 20 20 20 20 3d  EPROFILE       =
2820: 20 32 2c 0a 49 43 4d 5f 51 55 45 52 59 50 52 4f   2,.ICM_QUERYPRO
2830: 46 49 4c 45 20 20 20 20 20 20 20 20 3d 20 33 2c  FILE        = 3,
2840: 0a 49 43 4d 5f 53 45 54 44 45 46 41 55 4c 54 50  .ICM_SETDEFAULTP
2850: 52 4f 46 49 4c 45 20 20 20 3d 20 34 2c 0a 49 43  ROFILE   = 4,.IC
2860: 4d 5f 52 45 47 49 53 54 45 52 49 43 4d 41 54 43  M_REGISTERICMATC
2870: 48 45 52 20 20 20 3d 20 35 2c 0a 49 43 4d 5f 55  HER   = 5,.ICM_U
2880: 4e 52 45 47 49 53 54 45 52 49 43 4d 41 54 43 48  NREGISTERICMATCH
2890: 45 52 20 3d 20 36 2c 0a 49 43 4d 5f 51 55 45 52  ER = 6,.ICM_QUER
28a0: 59 4d 41 54 43 48 20 20 20 20 20 20 20 20 20 20  YMATCH          
28b0: 3d 20 37 3b 0a 0a 65 6e 75 6d 20 3a 20 69 6e 74  = 7;..enum : int
28c0: 20 7b 0a 20 20 20 20 52 47 4e 5f 41 4e 44 20 20   {.    RGN_AND  
28d0: 3d 20 31 2c 0a 20 20 20 20 52 47 4e 5f 4f 52 20  = 1,.    RGN_OR 
28e0: 20 20 3d 20 32 2c 0a 20 20 20 20 52 47 4e 5f 58    = 2,.    RGN_X
28f0: 4f 52 20 20 3d 20 33 2c 0a 20 20 20 20 52 47 4e  OR  = 3,.    RGN
2900: 5f 44 49 46 46 20 3d 20 34 2c 0a 20 20 20 20 52  _DIFF = 4,.    R
2910: 47 4e 5f 43 4f 50 59 20 3d 20 35 0a 7d 0a 0a 63  GN_COPY = 5.}..c
2920: 6f 6e 73 74 20 52 47 4e 5f 4d 49 4e 20 3d 20 52  onst RGN_MIN = R
2930: 47 4e 5f 41 4e 44 3b 0a 63 6f 6e 73 74 20 52 47  GN_AND;.const RG
2940: 4e 5f 4d 41 58 20 3d 20 52 47 4e 5f 43 4f 50 59  N_MAX = RGN_COPY
2950: 3b 0a 0a 2f 2f 20 52 65 74 75 72 6e 20 76 61 6c  ;..// Return val
2960: 75 65 73 20 66 6f 72 20 43 6f 6d 62 69 6e 65 52  ues for CombineR
2970: 67 6e 28 29 0a 65 6e 75 6d 20 7b 0a 20 20 20 20  gn().enum {.    
2980: 4e 55 4c 4c 52 45 47 49 4f 4e 20 20 20 20 3d 20  NULLREGION    = 
2990: 31 2c 0a 20 20 20 20 53 49 4d 50 4c 45 52 45 47  1,.    SIMPLEREG
29a0: 49 4f 4e 20 20 3d 20 32 2c 0a 20 20 20 20 43 4f  ION  = 2,.    CO
29b0: 4d 50 4c 45 58 52 45 47 49 4f 4e 20 3d 20 33 0a  MPLEXREGION = 3.
29c0: 7d 0a 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d  }..const ERROR =
29d0: 20 30 3b 0a 61 6c 69 61 73 20 45 52 52 4f 52 20   0;.alias ERROR 
29e0: 52 47 4e 5f 45 52 52 4f 52 3b 0a 0a 2f 2f 20 43  RGN_ERROR;..// C
29f0: 72 65 61 74 65 44 49 42 69 74 6d 61 70 28 29 0a  reateDIBitmap().
2a00: 63 6f 6e 73 74 20 44 57 4f 52 44 20 43 42 4d 5f  const DWORD CBM_
2a10: 49 4e 49 54 20 3d 20 34 3b 0a 0a 2f 2f 20 43 72  INIT = 4;..// Cr
2a20: 65 61 74 65 44 49 42 69 74 6d 61 70 28 29 0a 65  eateDIBitmap().e
2a30: 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 20 20 20  num : UINT {.   
2a40: 20 44 49 42 5f 52 47 42 5f 43 4f 4c 4f 52 53 20   DIB_RGB_COLORS 
2a50: 3d 20 30 2c 0a 20 20 20 20 44 49 42 5f 50 41 4c  = 0,.    DIB_PAL
2a60: 5f 43 4f 4c 4f 52 53 20 3d 20 31 0a 7d 0a 0a 2f  _COLORS = 1.}../
2a70: 2f 20 2d 2d 2d 0a 2f 2f 20 20 56 61 6c 75 65 73  / ---.//  Values
2a80: 20 66 6f 72 20 4c 4f 47 46 4f 4e 54 20 61 6e 64   for LOGFONT and
2a90: 20 43 72 65 61 74 65 46 6f 6e 74 28 29 0a 0a 2f   CreateFont()../
2aa0: 2f 20 46 49 58 4d 45 3a 20 46 6f 72 20 44 2c 20  / FIXME: For D, 
2ab0: 72 65 70 6c 61 63 65 20 77 69 74 68 20 6c 66 46  replace with lfF
2ac0: 61 63 65 4e 61 6d 65 2e 6c 65 6e 67 74 68 28 29  aceName.length()
2ad0: 0a 63 6f 6e 73 74 20 4c 46 5f 46 41 43 45 53 49  .const LF_FACESI
2ae0: 5a 45 20 20 20 20 20 3d 20 33 32 3b 0a 63 6f 6e  ZE     = 32;.con
2af0: 73 74 20 4c 46 5f 46 55 4c 4c 46 41 43 45 53 49  st LF_FULLFACESI
2b00: 5a 45 20 3d 20 36 34 3b 0a 0a 2f 2f 20 46 49 58  ZE = 64;..// FIX
2b10: 4d 45 3a 20 4e 6f 74 20 6e 65 65 64 65 64 20 66  ME: Not needed f
2b20: 6f 72 20 44 2c 20 6f 6e 6c 79 20 45 58 54 4c 4f  or D, only EXTLO
2b30: 47 46 4f 4e 54 0a 63 6f 6e 73 74 20 45 4c 46 5f  GFONT.const ELF_
2b40: 56 45 4e 44 4f 52 5f 53 49 5a 45 20 3d 20 34 3b  VENDOR_SIZE = 4;
2b50: 0a 0a 2f 2f 20 3f 3f 3f 0a 63 6f 6e 73 74 20 45  ..// ???.const E
2b60: 4c 46 5f 56 45 52 53 49 4f 4e 20 20 20 20 20 20  LF_VERSION      
2b70: 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 45 4c 46 5f   = 0;.const ELF_
2b80: 43 55 4c 54 55 52 45 5f 4c 41 54 49 4e 20 3d 20  CULTURE_LATIN = 
2b90: 30 3b 0a 0a 2f 2f 20 4c 4f 47 46 4f 4e 54 2e 6c  0;..// LOGFONT.l
2ba0: 66 57 65 69 67 68 74 0a 63 6f 6e 73 74 20 4c 4f  fWeight.const LO
2bb0: 4e 47 0a 46 57 5f 44 4f 4e 54 43 41 52 45 20 20  NG.FW_DONTCARE  
2bc0: 20 3d 20 30 2c 0a 46 57 5f 54 48 49 4e 20 20 20   = 0,.FW_THIN   
2bd0: 20 20 20 20 3d 20 31 30 30 2c 0a 46 57 5f 45 58      = 100,.FW_EX
2be0: 54 52 41 4c 49 47 48 54 20 3d 20 32 30 30 2c 0a  TRALIGHT = 200,.
2bf0: 46 57 5f 55 4c 54 52 41 4c 49 47 48 54 20 3d 20  FW_ULTRALIGHT = 
2c00: 46 57 5f 45 58 54 52 41 4c 49 47 48 54 2c 0a 46  FW_EXTRALIGHT,.F
2c10: 57 5f 4c 49 47 48 54 20 20 20 20 20 20 3d 20 33  W_LIGHT      = 3
2c20: 30 30 2c 0a 46 57 5f 4e 4f 52 4d 41 4c 20 20 20  00,.FW_NORMAL   
2c30: 20 20 3d 20 34 30 30 2c 0a 46 57 5f 52 45 47 55    = 400,.FW_REGU
2c40: 4c 41 52 20 20 20 20 3d 20 46 57 5f 4e 4f 52 4d  LAR    = FW_NORM
2c50: 41 4c 2c 0a 46 57 5f 4d 45 44 49 55 4d 20 20 20  AL,.FW_MEDIUM   
2c60: 20 20 3d 20 35 30 30 2c 0a 46 57 5f 53 45 4d 49    = 500,.FW_SEMI
2c70: 42 4f 4c 44 20 20 20 3d 20 36 30 30 2c 0a 46 57  BOLD   = 600,.FW
2c80: 5f 44 45 4d 49 42 4f 4c 44 20 20 20 3d 20 46 57  _DEMIBOLD   = FW
2c90: 5f 53 45 4d 49 42 4f 4c 44 2c 0a 46 57 5f 42 4f  _SEMIBOLD,.FW_BO
2ca0: 4c 44 20 20 20 20 20 20 20 3d 20 37 30 30 2c 0a  LD       = 700,.
2cb0: 46 57 5f 45 58 54 52 41 42 4f 4c 44 20 20 3d 20  FW_EXTRABOLD  = 
2cc0: 38 30 30 2c 0a 46 57 5f 55 4c 54 52 41 42 4f 4c  800,.FW_ULTRABOL
2cd0: 44 20 20 3d 20 46 57 5f 45 58 54 52 41 42 4f 4c  D  = FW_EXTRABOL
2ce0: 44 2c 0a 46 57 5f 48 45 41 56 59 20 20 20 20 20  D,.FW_HEAVY     
2cf0: 20 3d 20 39 30 30 2c 0a 46 57 5f 42 4c 41 43 4b   = 900,.FW_BLACK
2d00: 20 20 20 20 20 20 3d 20 46 57 5f 48 45 41 56 59        = FW_HEAVY
2d10: 3b 0a 0a 2f 2f 20 4c 4f 47 46 4f 4e 54 2e 6c 66  ;..// LOGFONT.lf
2d20: 43 68 61 72 53 65 74 0a 65 6e 75 6d 20 3a 20 44  CharSet.enum : D
2d30: 57 4f 52 44 20 7b 0a 20 20 20 20 41 4e 53 49 5f  WORD {.    ANSI_
2d40: 43 48 41 52 53 45 54 20 20 20 20 20 20 20 20 3d  CHARSET        =
2d50: 20 30 2c 0a 20 20 20 20 44 45 46 41 55 4c 54 5f   0,.    DEFAULT_
2d60: 43 48 41 52 53 45 54 20 20 20 20 20 3d 20 31 2c  CHARSET     = 1,
2d70: 0a 20 20 20 20 53 59 4d 42 4f 4c 5f 43 48 41 52  .    SYMBOL_CHAR
2d80: 53 45 54 20 20 20 20 20 20 3d 20 32 2c 0a 20 20  SET      = 2,.  
2d90: 20 20 4d 41 43 5f 43 48 41 52 53 45 54 20 20 20    MAC_CHARSET   
2da0: 20 20 20 20 20 20 3d 20 37 37 2c 0a 20 20 20 20        = 77,.    
2db0: 53 48 49 46 54 4a 49 53 5f 43 48 41 52 53 45 54  SHIFTJIS_CHARSET
2dc0: 20 20 20 20 3d 20 31 32 38 2c 0a 20 20 20 20 48      = 128,.    H
2dd0: 41 4e 47 45 55 4c 5f 43 48 41 52 53 45 54 20 20  ANGEUL_CHARSET  
2de0: 20 20 20 3d 20 31 32 39 2c 0a 20 20 20 20 48 41     = 129,.    HA
2df0: 4e 47 55 4c 5f 43 48 41 52 53 45 54 20 20 20 20  NGUL_CHARSET    
2e00: 20 20 3d 20 31 32 39 2c 0a 20 20 20 20 4a 4f 48    = 129,.    JOH
2e10: 41 42 5f 43 48 41 52 53 45 54 20 20 20 20 20 20  AB_CHARSET      
2e20: 20 3d 20 31 33 30 2c 0a 20 20 20 20 47 42 32 33   = 130,.    GB23
2e30: 31 32 5f 43 48 41 52 53 45 54 20 20 20 20 20 20  12_CHARSET      
2e40: 3d 20 31 33 34 2c 0a 20 20 20 20 43 48 49 4e 45  = 134,.    CHINE
2e50: 53 45 42 49 47 35 5f 43 48 41 52 53 45 54 20 3d  SEBIG5_CHARSET =
2e60: 20 31 33 36 2c 0a 20 20 20 20 47 52 45 45 4b 5f   136,.    GREEK_
2e70: 43 48 41 52 53 45 54 20 20 20 20 20 20 20 3d 20  CHARSET       = 
2e80: 31 36 31 2c 0a 20 20 20 20 54 55 52 4b 49 53 48  161,.    TURKISH
2e90: 5f 43 48 41 52 53 45 54 20 20 20 20 20 3d 20 31  _CHARSET     = 1
2ea0: 36 32 2c 0a 20 20 20 20 56 49 45 54 4e 41 4d 45  62,.    VIETNAME
2eb0: 53 45 5f 43 48 41 52 53 45 54 20 20 3d 20 31 36  SE_CHARSET  = 16
2ec0: 33 2c 0a 20 20 20 20 48 45 42 52 45 57 5f 43 48  3,.    HEBREW_CH
2ed0: 41 52 53 45 54 20 20 20 20 20 20 3d 20 31 37 37  ARSET      = 177
2ee0: 2c 0a 20 20 20 20 41 52 41 42 49 43 5f 43 48 41  ,.    ARABIC_CHA
2ef0: 52 53 45 54 20 20 20 20 20 20 3d 20 31 37 38 2c  RSET      = 178,
2f00: 0a 20 20 20 20 42 41 4c 54 49 43 5f 43 48 41 52  .    BALTIC_CHAR
2f10: 53 45 54 20 20 20 20 20 20 3d 20 31 38 36 2c 0a  SET      = 186,.
2f20: 20 20 20 20 52 55 53 53 49 41 4e 5f 43 48 41 52      RUSSIAN_CHAR
2f30: 53 45 54 20 20 20 20 20 3d 20 32 30 34 2c 0a 20  SET     = 204,. 
2f40: 20 20 20 54 48 41 49 5f 43 48 41 52 53 45 54 20     THAI_CHARSET 
2f50: 20 20 20 20 20 20 20 3d 20 32 32 32 2c 0a 20 20         = 222,.  
2f60: 20 20 45 41 53 54 45 55 52 4f 50 45 5f 43 48 41    EASTEUROPE_CHA
2f70: 52 53 45 54 20 20 3d 20 32 33 38 2c 0a 20 20 20  RSET  = 238,.   
2f80: 20 4f 45 4d 5f 43 48 41 52 53 45 54 20 20 20 20   OEM_CHARSET    
2f90: 20 20 20 20 20 3d 20 32 35 35 0a 7d 0a 0a 2f 2f       = 255.}..//
2fa0: 20 4c 4f 47 46 4f 4e 54 2e 6c 66 4f 75 74 50 72   LOGFONT.lfOutPr
2fb0: 65 63 69 73 69 6f 6e 0a 65 6e 75 6d 20 3a 20 42  ecision.enum : B
2fc0: 59 54 45 20 7b 0a 20 20 20 20 4f 55 54 5f 44 45  YTE {.    OUT_DE
2fd0: 46 41 55 4c 54 5f 50 52 45 43 49 53 20 3d 20 30  FAULT_PRECIS = 0
2fe0: 2c 0a 20 20 20 20 4f 55 54 5f 53 54 52 49 4e 47  ,.    OUT_STRING
2ff0: 5f 50 52 45 43 49 53 2c 0a 20 20 20 20 4f 55 54  _PRECIS,.    OUT
3000: 5f 43 48 41 52 41 43 54 45 52 5f 50 52 45 43 49  _CHARACTER_PRECI
3010: 53 2c 0a 20 20 20 20 4f 55 54 5f 53 54 52 4f 4b  S,.    OUT_STROK
3020: 45 5f 50 52 45 43 49 53 2c 0a 20 20 20 20 4f 55  E_PRECIS,.    OU
3030: 54 5f 54 54 5f 50 52 45 43 49 53 2c 0a 20 20 20  T_TT_PRECIS,.   
3040: 20 4f 55 54 5f 44 45 56 49 43 45 5f 50 52 45 43   OUT_DEVICE_PREC
3050: 49 53 2c 0a 20 20 20 20 4f 55 54 5f 52 41 53 54  IS,.    OUT_RAST
3060: 45 52 5f 50 52 45 43 49 53 2c 0a 20 20 20 20 4f  ER_PRECIS,.    O
3070: 55 54 5f 54 54 5f 4f 4e 4c 59 5f 50 52 45 43 49  UT_TT_ONLY_PRECI
3080: 53 2c 0a 20 20 20 20 4f 55 54 5f 4f 55 54 4c 49  S,.    OUT_OUTLI
3090: 4e 45 5f 50 52 45 43 49 53 2c 0a 20 20 20 20 4f  NE_PRECIS,.    O
30a0: 55 54 5f 53 43 52 45 45 4e 5f 4f 55 54 4c 49 4e  UT_SCREEN_OUTLIN
30b0: 45 5f 50 52 45 43 49 53 2c 0a 20 20 20 20 4f 55  E_PRECIS,.    OU
30c0: 54 5f 50 53 5f 4f 4e 4c 59 5f 50 52 45 43 49 53  T_PS_ONLY_PRECIS
30d0: 2c 20 20 20 20 20 2f 2f 20 31 30 0a 7d 0a 0a 2f  ,     // 10.}../
30e0: 2f 20 4c 4f 47 46 4f 4e 54 2e 6c 66 43 6c 69 70  / LOGFONT.lfClip
30f0: 50 72 65 63 69 73 69 6f 6e 0a 65 6e 75 6d 20 3a  Precision.enum :
3100: 20 42 59 54 45 20 20 7b 0a 20 20 20 20 43 4c 49   BYTE  {.    CLI
3110: 50 5f 44 45 46 41 55 4c 54 5f 50 52 45 43 49 53  P_DEFAULT_PRECIS
3120: 20 20 20 3d 20 30 2c 0a 20 20 20 20 43 4c 49 50     = 0,.    CLIP
3130: 5f 43 48 41 52 41 43 54 45 52 5f 50 52 45 43 49  _CHARACTER_PRECI
3140: 53 20 3d 20 31 2c 0a 20 20 20 20 43 4c 49 50 5f  S = 1,.    CLIP_
3150: 53 54 52 4f 4b 45 5f 50 52 45 43 49 53 20 20 20  STROKE_PRECIS   
3160: 20 3d 20 32 2c 0a 20 20 20 20 43 4c 49 50 5f 4d   = 2,.    CLIP_M
3170: 41 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20  ASK             
3180: 3d 20 31 35 2c 0a 20 20 20 20 43 4c 49 50 5f 4c  = 15,.    CLIP_L
3190: 48 5f 41 4e 47 4c 45 53 20 20 20 20 20 20 20 20  H_ANGLES        
31a0: 3d 20 31 36 2c 0a 20 20 20 20 43 4c 49 50 5f 54  = 16,.    CLIP_T
31b0: 54 5f 41 4c 57 41 59 53 20 20 20 20 20 20 20 20  T_ALWAYS        
31c0: 3d 20 33 32 2c 0a 20 20 20 20 43 4c 49 50 5f 44  = 32,.    CLIP_D
31d0: 46 41 5f 44 49 53 41 42 4c 45 20 20 20 20 20 20  FA_DISABLE      
31e0: 3d 20 36 34 2c 0a 20 20 20 20 43 4c 49 50 5f 45  = 64,.    CLIP_E
31f0: 4d 42 45 44 44 45 44 20 20 20 20 20 20 20 20 20  MBEDDED         
3200: 3d 20 31 32 38 0a 7d 0a 0a 2f 2f 20 4c 4f 47 46  = 128.}..// LOGF
3210: 4f 4e 54 2e 6c 66 51 75 61 6c 69 74 79 0a 65 6e  ONT.lfQuality.en
3220: 75 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20 20 20  um : BYTE {.    
3230: 44 45 46 41 55 4c 54 5f 51 55 41 4c 49 54 59 20  DEFAULT_QUALITY 
3240: 3d 20 30 2c 0a 20 20 20 20 44 52 41 46 54 5f 51  = 0,.    DRAFT_Q
3250: 55 41 4c 49 54 59 2c 0a 20 20 20 20 50 52 4f 4f  UALITY,.    PROO
3260: 46 5f 51 55 41 4c 49 54 59 2c 0a 20 20 20 20 4e  F_QUALITY,.    N
3270: 4f 4e 41 4e 54 49 41 4c 49 41 53 45 44 5f 51 55  ONANTIALIASED_QU
3280: 41 4c 49 54 59 2c 0a 20 20 20 20 41 4e 54 49 41  ALITY,.    ANTIA
3290: 4c 49 41 53 45 44 5f 51 55 41 4c 49 54 59 0a 7d  LIASED_QUALITY.}
32a0: 0a 0a 2f 2f 20 4c 4f 47 46 4f 4e 54 2e 6c 66 50  ..// LOGFONT.lfP
32b0: 69 74 63 68 41 6e 64 46 61 6d 69 6c 79 0a 0a 63  itchAndFamily..c
32c0: 6f 6e 73 74 20 42 59 54 45 0a 44 45 46 41 55 4c  onst BYTE.DEFAUL
32d0: 54 5f 50 49 54 43 48 20 20 3d 20 30 2c 0a 46 49  T_PITCH  = 0,.FI
32e0: 58 45 44 5f 50 49 54 43 48 20 20 20 20 3d 20 31  XED_PITCH    = 1
32f0: 2c 0a 56 41 52 49 41 42 4c 45 5f 50 49 54 43 48  ,.VARIABLE_PITCH
3300: 20 3d 20 32 2c 0a 4d 4f 4e 4f 5f 46 4f 4e 54 20   = 2,.MONO_FONT 
3310: 20 20 20 20 20 3d 20 38 2c 0a 46 46 5f 44 4f 4e       = 8,.FF_DON
3320: 54 43 41 52 45 20 20 20 20 3d 20 30 2c 0a 46 46  TCARE    = 0,.FF
3330: 5f 52 4f 4d 41 4e 20 20 20 20 20 20 20 3d 20 31  _ROMAN       = 1
3340: 36 2c 0a 46 46 5f 53 57 49 53 53 20 20 20 20 20  6,.FF_SWISS     
3350: 20 20 3d 20 33 32 2c 0a 46 46 5f 53 43 52 49 50    = 32,.FF_SCRIP
3360: 54 20 20 20 20 20 20 3d 20 36 34 2c 0a 46 46 5f  T      = 64,.FF_
3370: 4d 4f 44 45 52 4e 20 20 20 20 20 20 3d 20 34 38  MODERN      = 48
3380: 2c 0a 46 46 5f 44 45 43 4f 52 41 54 49 56 45 20  ,.FF_DECORATIVE 
3390: 20 3d 20 38 30 3b 0a 0a 2f 2f 20 2d 2d 2d 2d 0a   = 80;..// ----.
33a0: 2f 2f 20 45 6e 75 6d 73 20 66 6f 72 20 74 68 65  // Enums for the
33b0: 20 50 41 4e 4f 53 45 20 73 74 72 75 63 74 0a 0a   PANOSE struct..
33c0: 63 6f 6e 73 74 20 50 41 4e 4f 53 45 5f 43 4f 55  const PANOSE_COU
33d0: 4e 54 3d 31 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 20  NT=10;..enum {. 
33e0: 20 20 20 50 41 4e 5f 46 41 4d 49 4c 59 54 59 50     PAN_FAMILYTYP
33f0: 45 5f 49 4e 44 45 58 20 3d 20 30 2c 0a 20 20 20  E_INDEX = 0,.   
3400: 20 50 41 4e 5f 53 45 52 49 46 53 54 59 4c 45 5f   PAN_SERIFSTYLE_
3410: 49 4e 44 45 58 2c 0a 20 20 20 20 50 41 4e 5f 57  INDEX,.    PAN_W
3420: 45 49 47 48 54 5f 49 4e 44 45 58 2c 0a 20 20 20  EIGHT_INDEX,.   
3430: 20 50 41 4e 5f 50 52 4f 50 4f 52 54 49 4f 4e 5f   PAN_PROPORTION_
3440: 49 4e 44 45 58 2c 0a 20 20 20 20 50 41 4e 5f 43  INDEX,.    PAN_C
3450: 4f 4e 54 52 41 53 54 5f 49 4e 44 45 58 2c 0a 20  ONTRAST_INDEX,. 
3460: 20 20 20 50 41 4e 5f 53 54 52 4f 4b 45 56 41 52     PAN_STROKEVAR
3470: 49 41 54 49 4f 4e 5f 49 4e 44 45 58 2c 0a 20 20  IATION_INDEX,.  
3480: 20 20 50 41 4e 5f 41 52 4d 53 54 59 4c 45 5f 49    PAN_ARMSTYLE_I
3490: 4e 44 45 58 2c 0a 20 20 20 20 50 41 4e 5f 4c 45  NDEX,.    PAN_LE
34a0: 54 54 45 52 46 4f 52 4d 5f 49 4e 44 45 58 2c 0a  TTERFORM_INDEX,.
34b0: 20 20 20 20 50 41 4e 5f 4d 49 44 4c 49 4e 45 5f      PAN_MIDLINE_
34c0: 49 4e 44 45 58 2c 0a 20 20 20 20 50 41 4e 5f 58  INDEX,.    PAN_X
34d0: 48 45 49 47 48 54 5f 49 4e 44 45 58 0a 7d 0a 0a  HEIGHT_INDEX.}..
34e0: 63 6f 6e 73 74 20 50 41 4e 5f 43 55 4c 54 55 52  const PAN_CULTUR
34f0: 45 5f 4c 41 54 49 4e 3d 30 3b 0a 0a 2f 2f 20 4e  E_LATIN=0;..// N
3500: 4f 54 45 3a 20 74 68 65 20 66 69 72 73 74 20 74  OTE: the first t
3510: 77 6f 20 76 61 6c 75 65 73 20 28 50 41 4e 5f 41  wo values (PAN_A
3520: 4e 59 20 61 6e 64 20 50 41 4e 5f 4e 4f 5f 46 49  NY and PAN_NO_FI
3530: 54 29 20 61 70 70 6c 79 20 74 6f 20 61 6c 6c 20  T) apply to all 
3540: 74 68 65 73 65 20 65 6e 75 6d 73 21 0a 65 6e 75  these enums!.enu
3550: 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20 20 20 50  m : BYTE {.    P
3560: 41 4e 5f 41 4e 59 20 20 20 20 3d 20 30 2c 0a 20  AN_ANY    = 0,. 
3570: 20 20 20 50 41 4e 5f 4e 4f 5f 46 49 54 20 3d 20     PAN_NO_FIT = 
3580: 31 2c 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 42 59 54  1,.}..enum : BYT
3590: 45 20 7b 0a 20 20 20 20 50 41 4e 5f 46 41 4d 49  E {.    PAN_FAMI
35a0: 4c 59 5f 54 45 58 54 5f 44 49 53 50 4c 41 59 20  LY_TEXT_DISPLAY 
35b0: 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f 46 41 4d  = 2,.    PAN_FAM
35c0: 49 4c 59 5f 53 43 52 49 50 54 2c 0a 20 20 20 20  ILY_SCRIPT,.    
35d0: 50 41 4e 5f 46 41 4d 49 4c 59 5f 44 45 43 4f 52  PAN_FAMILY_DECOR
35e0: 41 54 49 56 45 2c 0a 20 20 20 20 50 41 4e 5f 46  ATIVE,.    PAN_F
35f0: 41 4d 49 4c 59 5f 50 49 43 54 4f 52 49 41 4c 0a  AMILY_PICTORIAL.
3600: 7d 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a  }.enum : BYTE {.
3610: 20 20 20 20 50 41 4e 5f 53 45 52 49 46 5f 43 4f      PAN_SERIF_CO
3620: 56 45 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f  VE = 2,.    PAN_
3630: 53 45 52 49 46 5f 4f 42 54 55 53 45 5f 43 4f 56  SERIF_OBTUSE_COV
3640: 45 2c 0a 20 20 20 20 50 41 4e 5f 53 45 52 49 46  E,.    PAN_SERIF
3650: 5f 53 51 55 41 52 45 5f 43 4f 56 45 2c 0a 20 20  _SQUARE_COVE,.  
3660: 20 20 50 41 4e 5f 53 45 52 49 46 5f 4f 42 54 55    PAN_SERIF_OBTU
3670: 53 45 5f 53 51 55 41 52 45 5f 43 4f 56 45 2c 0a  SE_SQUARE_COVE,.
3680: 20 20 20 20 50 41 4e 5f 53 45 52 49 46 5f 53 51      PAN_SERIF_SQ
3690: 55 41 52 45 2c 0a 20 20 20 20 50 41 4e 5f 53 45  UARE,.    PAN_SE
36a0: 52 49 46 5f 54 48 49 4e 2c 0a 20 20 20 20 50 41  RIF_THIN,.    PA
36b0: 4e 5f 53 45 52 49 46 5f 42 4f 4e 45 2c 0a 20 20  N_SERIF_BONE,.  
36c0: 20 20 50 41 4e 5f 53 45 52 49 46 5f 45 58 41 47    PAN_SERIF_EXAG
36d0: 47 45 52 41 54 45 44 2c 0a 20 20 20 20 50 41 4e  GERATED,.    PAN
36e0: 5f 53 45 52 49 46 5f 54 52 49 41 4e 47 4c 45 2c  _SERIF_TRIANGLE,
36f0: 0a 20 20 20 20 50 41 4e 5f 53 45 52 49 46 5f 4e  .    PAN_SERIF_N
3700: 4f 52 4d 41 4c 5f 53 41 4e 53 2c 0a 20 20 20 20  ORMAL_SANS,.    
3710: 50 41 4e 5f 53 45 52 49 46 5f 4f 42 54 55 53 45  PAN_SERIF_OBTUSE
3720: 5f 53 41 4e 53 2c 0a 20 20 20 20 50 41 4e 5f 53  _SANS,.    PAN_S
3730: 45 52 49 46 5f 50 45 52 50 5f 53 41 4e 53 2c 0a  ERIF_PERP_SANS,.
3740: 20 20 20 20 50 41 4e 5f 53 45 52 49 46 5f 46 4c      PAN_SERIF_FL
3750: 41 52 45 44 2c 0a 20 20 20 20 50 41 4e 5f 53 45  ARED,.    PAN_SE
3760: 52 49 46 5f 52 4f 55 4e 44 45 44 0a 7d 0a 0a 65  RIF_ROUNDED.}..e
3770: 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20 20  num : BYTE {.   
3780: 20 50 41 4e 5f 57 45 49 47 48 54 5f 56 45 52 59   PAN_WEIGHT_VERY
3790: 5f 4c 49 47 48 54 20 3d 20 32 2c 0a 20 20 20 20  _LIGHT = 2,.    
37a0: 50 41 4e 5f 57 45 49 47 48 54 5f 4c 49 47 48 54  PAN_WEIGHT_LIGHT
37b0: 2c 0a 20 20 20 20 50 41 4e 5f 57 45 49 47 48 54  ,.    PAN_WEIGHT
37c0: 5f 54 48 49 4e 2c 0a 20 20 20 20 50 41 4e 5f 57  _THIN,.    PAN_W
37d0: 45 49 47 48 54 5f 42 4f 4f 4b 2c 0a 20 20 20 20  EIGHT_BOOK,.    
37e0: 50 41 4e 5f 57 45 49 47 48 54 5f 4d 45 44 49 55  PAN_WEIGHT_MEDIU
37f0: 4d 2c 0a 20 20 20 20 50 41 4e 5f 57 45 49 47 48  M,.    PAN_WEIGH
3800: 54 5f 44 45 4d 49 2c 0a 20 20 20 20 50 41 4e 5f  T_DEMI,.    PAN_
3810: 57 45 49 47 48 54 5f 42 4f 4c 44 2c 0a 20 20 20  WEIGHT_BOLD,.   
3820: 20 50 41 4e 5f 57 45 49 47 48 54 5f 48 45 41 56   PAN_WEIGHT_HEAV
3830: 59 2c 0a 20 20 20 20 50 41 4e 5f 57 45 49 47 48  Y,.    PAN_WEIGH
3840: 54 5f 42 4c 41 43 4b 2c 0a 20 20 20 20 50 41 4e  T_BLACK,.    PAN
3850: 5f 57 45 49 47 48 54 5f 4e 4f 52 44 0a 7d 0a 0a  _WEIGHT_NORD.}..
3860: 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20  enum : BYTE {.  
3870: 20 20 50 41 4e 5f 50 52 4f 50 5f 4f 4c 44 5f 53    PAN_PROP_OLD_S
3880: 54 59 4c 45 20 3d 20 32 2c 0a 20 20 20 20 50 41  TYLE = 2,.    PA
3890: 4e 5f 50 52 4f 50 5f 4d 4f 44 45 52 4e 2c 0a 20  N_PROP_MODERN,. 
38a0: 20 20 20 50 41 4e 5f 50 52 4f 50 5f 45 56 45 4e     PAN_PROP_EVEN
38b0: 5f 57 49 44 54 48 2c 0a 20 20 20 20 50 41 4e 5f  _WIDTH,.    PAN_
38c0: 50 52 4f 50 5f 45 58 50 41 4e 44 45 44 2c 0a 20  PROP_EXPANDED,. 
38d0: 20 20 20 50 41 4e 5f 50 52 4f 50 5f 43 4f 4e 44     PAN_PROP_COND
38e0: 45 4e 53 45 44 2c 0a 20 20 20 20 50 41 4e 5f 50  ENSED,.    PAN_P
38f0: 52 4f 50 5f 56 45 52 59 5f 45 58 50 41 4e 44 45  ROP_VERY_EXPANDE
3900: 44 2c 0a 20 20 20 20 50 41 4e 5f 50 52 4f 50 5f  D,.    PAN_PROP_
3910: 56 45 52 59 5f 43 4f 4e 44 45 4e 53 45 44 2c 0a  VERY_CONDENSED,.
3920: 20 20 20 20 50 41 4e 5f 50 52 4f 50 5f 4d 4f 4e      PAN_PROP_MON
3930: 4f 53 50 41 43 45 44 0a 7d 0a 0a 65 6e 75 6d 20  OSPACED.}..enum 
3940: 3a 20 42 59 54 45 20 7b 0a 20 20 20 20 50 41 4e  : BYTE {.    PAN
3950: 5f 43 4f 4e 54 52 41 53 54 5f 4e 4f 4e 45 20 3d  _CONTRAST_NONE =
3960: 20 32 2c 0a 20 20 20 20 50 41 4e 5f 43 4f 4e 54   2,.    PAN_CONT
3970: 52 41 53 54 5f 56 45 52 59 5f 4c 4f 57 2c 0a 20  RAST_VERY_LOW,. 
3980: 20 20 20 50 41 4e 5f 43 4f 4e 54 52 41 53 54 5f     PAN_CONTRAST_
3990: 4c 4f 57 2c 0a 20 20 20 20 50 41 4e 5f 43 4f 4e  LOW,.    PAN_CON
39a0: 54 52 41 53 54 5f 4d 45 44 49 55 4d 5f 4c 4f 57  TRAST_MEDIUM_LOW
39b0: 2c 0a 20 20 20 20 50 41 4e 5f 43 4f 4e 54 52 41  ,.    PAN_CONTRA
39c0: 53 54 5f 4d 45 44 49 55 4d 2c 0a 20 20 20 20 50  ST_MEDIUM,.    P
39d0: 41 4e 5f 43 4f 4e 54 52 41 53 54 5f 4d 45 44 49  AN_CONTRAST_MEDI
39e0: 55 4d 5f 48 49 47 48 2c 0a 20 20 20 20 50 41 4e  UM_HIGH,.    PAN
39f0: 5f 43 4f 4e 54 52 41 53 54 5f 48 49 47 48 2c 0a  _CONTRAST_HIGH,.
3a00: 20 20 20 20 50 41 4e 5f 43 4f 4e 54 52 41 53 54      PAN_CONTRAST
3a10: 5f 56 45 52 59 5f 48 49 47 48 0a 7d 0a 0a 2f 2f  _VERY_HIGH.}..//
3a20: 20 50 41 4e 4f 53 45 2e 62 53 74 72 6f 6b 65 56   PANOSE.bStrokeV
3a30: 61 72 69 61 74 69 6f 6e 0a 65 6e 75 6d 20 3a 20  ariation.enum : 
3a40: 42 59 54 45 20 7b 0a 20 20 20 20 50 41 4e 5f 53  BYTE {.    PAN_S
3a50: 54 52 4f 4b 45 5f 47 52 41 44 55 41 4c 5f 44 49  TROKE_GRADUAL_DI
3a60: 41 47 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f  AG = 2,.    PAN_
3a70: 53 54 52 4f 4b 45 5f 47 52 41 44 55 41 4c 5f 54  STROKE_GRADUAL_T
3a80: 52 41 4e 2c 0a 20 20 20 20 50 41 4e 5f 53 54 52  RAN,.    PAN_STR
3a90: 4f 4b 45 5f 47 52 41 44 55 41 4c 5f 56 45 52 54  OKE_GRADUAL_VERT
3aa0: 2c 0a 20 20 20 20 50 41 4e 5f 53 54 52 4f 4b 45  ,.    PAN_STROKE
3ab0: 5f 47 52 41 44 55 41 4c 5f 48 4f 52 5a 2c 0a 20  _GRADUAL_HORZ,. 
3ac0: 20 20 20 50 41 4e 5f 53 54 52 4f 4b 45 5f 52 41     PAN_STROKE_RA
3ad0: 50 49 44 5f 56 45 52 54 2c 0a 20 20 20 20 50 41  PID_VERT,.    PA
3ae0: 4e 5f 53 54 52 4f 4b 45 5f 52 41 50 49 44 5f 48  N_STROKE_RAPID_H
3af0: 4f 52 5a 2c 0a 20 20 20 20 50 41 4e 5f 53 54 52  ORZ,.    PAN_STR
3b00: 4f 4b 45 5f 49 4e 53 54 41 4e 54 5f 56 45 52 54  OKE_INSTANT_VERT
3b10: 0a 7d 0a 0a 2f 2f 20 50 41 4e 4f 53 45 2e 62 41  .}..// PANOSE.bA
3b20: 72 6d 53 74 79 6c 65 0a 65 6e 75 6d 20 3a 20 42  rmStyle.enum : B
3b30: 59 54 45 20 7b 0a 20 20 20 20 50 41 4e 5f 53 54  YTE {.    PAN_ST
3b40: 52 41 49 47 48 54 5f 41 52 4d 53 5f 48 4f 52 5a  RAIGHT_ARMS_HORZ
3b50: 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f 53 54   = 2,.    PAN_ST
3b60: 52 41 49 47 48 54 5f 41 52 4d 53 5f 57 45 44 47  RAIGHT_ARMS_WEDG
3b70: 45 2c 0a 20 20 20 20 50 41 4e 5f 53 54 52 41 49  E,.    PAN_STRAI
3b80: 47 48 54 5f 41 52 4d 53 5f 56 45 52 54 2c 0a 20  GHT_ARMS_VERT,. 
3b90: 20 20 20 50 41 4e 5f 53 54 52 41 49 47 48 54 5f     PAN_STRAIGHT_
3ba0: 41 52 4d 53 5f 53 49 4e 47 4c 45 5f 53 45 52 49  ARMS_SINGLE_SERI
3bb0: 46 2c 0a 20 20 20 20 50 41 4e 5f 53 54 52 41 49  F,.    PAN_STRAI
3bc0: 47 48 54 5f 41 52 4d 53 5f 44 4f 55 42 4c 45 5f  GHT_ARMS_DOUBLE_
3bd0: 53 45 52 49 46 2c 0a 20 20 20 20 50 41 4e 5f 42  SERIF,.    PAN_B
3be0: 45 4e 54 5f 41 52 4d 53 5f 48 4f 52 5a 2c 0a 20  ENT_ARMS_HORZ,. 
3bf0: 20 20 20 50 41 4e 5f 42 45 4e 54 5f 41 52 4d 53     PAN_BENT_ARMS
3c00: 5f 57 45 44 47 45 2c 0a 20 20 20 20 50 41 4e 5f  _WEDGE,.    PAN_
3c10: 42 45 4e 54 5f 41 52 4d 53 5f 56 45 52 54 2c 0a  BENT_ARMS_VERT,.
3c20: 20 20 20 20 50 41 4e 5f 42 45 4e 54 5f 41 52 4d      PAN_BENT_ARM
3c30: 53 5f 53 49 4e 47 4c 45 5f 53 45 52 49 46 2c 0a  S_SINGLE_SERIF,.
3c40: 20 20 20 20 50 41 4e 5f 42 45 4e 54 5f 41 52 4d      PAN_BENT_ARM
3c50: 53 5f 44 4f 55 42 4c 45 5f 53 45 52 49 46 0a 7d  S_DOUBLE_SERIF.}
3c60: 0a 0a 2f 2f 20 50 41 4e 4f 53 45 2e 62 4c 65 74  ..// PANOSE.bLet
3c70: 74 65 72 46 6f 72 6d 0a 65 6e 75 6d 20 3a 20 42  terForm.enum : B
3c80: 59 54 45 20 7b 0a 20 20 20 20 50 41 4e 5f 4c 45  YTE {.    PAN_LE
3c90: 54 54 5f 4e 4f 52 4d 41 4c 5f 43 4f 4e 54 41 43  TT_NORMAL_CONTAC
3ca0: 54 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f 4c  T = 2,.    PAN_L
3cb0: 45 54 54 5f 4e 4f 52 4d 41 4c 5f 57 45 49 47 48  ETT_NORMAL_WEIGH
3cc0: 54 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4c 45 54  TED,.    PAN_LET
3cd0: 54 5f 4e 4f 52 4d 41 4c 5f 42 4f 58 45 44 2c 0a  T_NORMAL_BOXED,.
3ce0: 20 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4e 4f 52      PAN_LETT_NOR
3cf0: 4d 41 4c 5f 46 4c 41 54 54 45 4e 45 44 2c 0a 20  MAL_FLATTENED,. 
3d00: 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4e 4f 52 4d     PAN_LETT_NORM
3d10: 41 4c 5f 52 4f 55 4e 44 45 44 2c 0a 20 20 20 20  AL_ROUNDED,.    
3d20: 50 41 4e 5f 4c 45 54 54 5f 4e 4f 52 4d 41 4c 5f  PAN_LETT_NORMAL_
3d30: 4f 46 46 5f 43 45 4e 54 45 52 2c 0a 20 20 20 20  OFF_CENTER,.    
3d40: 50 41 4e 5f 4c 45 54 54 5f 4e 4f 52 4d 41 4c 5f  PAN_LETT_NORMAL_
3d50: 53 51 55 41 52 45 2c 0a 20 20 20 20 50 41 4e 5f  SQUARE,.    PAN_
3d60: 4c 45 54 54 5f 4f 42 4c 49 51 55 45 5f 43 4f 4e  LETT_OBLIQUE_CON
3d70: 54 41 43 54 2c 0a 20 20 20 20 50 41 4e 5f 4c 45  TACT,.    PAN_LE
3d80: 54 54 5f 4f 42 4c 49 51 55 45 5f 57 45 49 47 48  TT_OBLIQUE_WEIGH
3d90: 54 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4c 45 54  TED,.    PAN_LET
3da0: 54 5f 4f 42 4c 49 51 55 45 5f 42 4f 58 45 44 2c  T_OBLIQUE_BOXED,
3db0: 0a 20 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4f 42  .    PAN_LETT_OB
3dc0: 4c 49 51 55 45 5f 46 4c 41 54 54 45 4e 45 44 2c  LIQUE_FLATTENED,
3dd0: 0a 20 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4f 42  .    PAN_LETT_OB
3de0: 4c 49 51 55 45 5f 52 4f 55 4e 44 45 44 2c 0a 20  LIQUE_ROUNDED,. 
3df0: 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4f 42 4c 49     PAN_LETT_OBLI
3e00: 51 55 45 5f 4f 46 46 5f 43 45 4e 54 45 52 2c 0a  QUE_OFF_CENTER,.
3e10: 20 20 20 20 50 41 4e 5f 4c 45 54 54 5f 4f 42 4c      PAN_LETT_OBL
3e20: 49 51 55 45 5f 53 51 55 41 52 45 0a 7d 0a 0a 2f  IQUE_SQUARE.}../
3e30: 2f 20 50 41 4e 4f 53 45 2e 62 4d 69 64 4c 69 6e  / PANOSE.bMidLin
3e40: 65 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0a  e.enum : BYTE {.
3e50: 20 20 20 20 50 41 4e 5f 4d 49 44 4c 49 4e 45 5f      PAN_MIDLINE_
3e60: 53 54 41 4e 44 41 52 44 5f 54 52 49 4d 4d 45 44  STANDARD_TRIMMED
3e70: 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f 4d 49   = 2,.    PAN_MI
3e80: 44 4c 49 4e 45 5f 53 54 41 4e 44 41 52 44 5f 50  DLINE_STANDARD_P
3e90: 4f 49 4e 54 45 44 2c 0a 20 20 20 20 50 41 4e 5f  OINTED,.    PAN_
3ea0: 4d 49 44 4c 49 4e 45 5f 53 54 41 4e 44 41 52 44  MIDLINE_STANDARD
3eb0: 5f 53 45 52 49 46 45 44 2c 0a 20 20 20 20 50 41  _SERIFED,.    PA
3ec0: 4e 5f 4d 49 44 4c 49 4e 45 5f 48 49 47 48 5f 54  N_MIDLINE_HIGH_T
3ed0: 52 49 4d 4d 45 44 2c 0a 20 20 20 20 50 41 4e 5f  RIMMED,.    PAN_
3ee0: 4d 49 44 4c 49 4e 45 5f 48 49 47 48 5f 50 4f 49  MIDLINE_HIGH_POI
3ef0: 4e 54 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4d 49  NTED,.    PAN_MI
3f00: 44 4c 49 4e 45 5f 48 49 47 48 5f 53 45 52 49 46  DLINE_HIGH_SERIF
3f10: 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4d 49 44 4c  ED,.    PAN_MIDL
3f20: 49 4e 45 5f 43 4f 4e 53 54 41 4e 54 5f 54 52 49  INE_CONSTANT_TRI
3f30: 4d 4d 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4d 49  MMED,.    PAN_MI
3f40: 44 4c 49 4e 45 5f 43 4f 4e 53 54 41 4e 54 5f 50  DLINE_CONSTANT_P
3f50: 4f 49 4e 54 45 44 2c 0a 20 20 20 20 50 41 4e 5f  OINTED,.    PAN_
3f60: 4d 49 44 4c 49 4e 45 5f 43 4f 4e 53 54 41 4e 54  MIDLINE_CONSTANT
3f70: 5f 53 45 52 49 46 45 44 2c 0a 20 20 20 20 50 41  _SERIFED,.    PA
3f80: 4e 5f 4d 49 44 4c 49 4e 45 5f 4c 4f 57 5f 54 52  N_MIDLINE_LOW_TR
3f90: 49 4d 4d 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4d  IMMED,.    PAN_M
3fa0: 49 44 4c 49 4e 45 5f 4c 4f 57 5f 50 4f 49 4e 54  IDLINE_LOW_POINT
3fb0: 45 44 2c 0a 20 20 20 20 50 41 4e 5f 4d 49 44 4c  ED,.    PAN_MIDL
3fc0: 49 4e 45 5f 4c 4f 57 5f 53 45 52 49 46 45 44 0a  INE_LOW_SERIFED.
3fd0: 7d 0a 0a 2f 2f 20 50 41 4e 4f 53 45 2e 62 58 48  }..// PANOSE.bXH
3fe0: 65 69 67 68 74 0a 65 6e 75 6d 20 3a 20 42 59 54  eight.enum : BYT
3ff0: 45 20 7b 0a 20 20 20 20 50 41 4e 5f 58 48 45 49  E {.    PAN_XHEI
4000: 47 48 54 5f 43 4f 4e 53 54 41 4e 54 5f 53 4d 41  GHT_CONSTANT_SMA
4010: 4c 4c 20 3d 20 32 2c 0a 20 20 20 20 50 41 4e 5f  LL = 2,.    PAN_
4020: 58 48 45 49 47 48 54 5f 43 4f 4e 53 54 41 4e 54  XHEIGHT_CONSTANT
4030: 5f 53 54 44 2c 0a 20 20 20 20 50 41 4e 5f 58 48  _STD,.    PAN_XH
4040: 45 49 47 48 54 5f 43 4f 4e 53 54 41 4e 54 5f 4c  EIGHT_CONSTANT_L
4050: 41 52 47 45 2c 0a 20 20 20 20 50 41 4e 5f 58 48  ARGE,.    PAN_XH
4060: 45 49 47 48 54 5f 44 55 43 4b 49 4e 47 5f 53 4d  EIGHT_DUCKING_SM
4070: 41 4c 4c 2c 0a 20 20 20 20 50 41 4e 5f 58 48 45  ALL,.    PAN_XHE
4080: 49 47 48 54 5f 44 55 43 4b 49 4e 47 5f 53 54 44  IGHT_DUCKING_STD
4090: 2c 0a 20 20 20 20 50 41 4e 5f 58 48 45 49 47 48  ,.    PAN_XHEIGH
40a0: 54 5f 44 55 43 4b 49 4e 47 5f 4c 41 52 47 45 0a  T_DUCKING_LARGE.
40b0: 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 0a 2f 2f 20 3f 3f  }..// ----.// ??
40c0: 3f 0a 63 6f 6e 73 74 20 46 53 5f 4c 41 54 49 4e  ?.const FS_LATIN
40d0: 31 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30  1      = 0x00000
40e0: 30 30 31 3b 0a 63 6f 6e 73 74 20 46 53 5f 4c 41  001;.const FS_LA
40f0: 54 49 4e 32 20 20 20 20 20 20 3d 20 30 78 30 30  TIN2      = 0x00
4100: 30 30 30 30 30 32 3b 0a 63 6f 6e 73 74 20 46 53  000002;.const FS
4110: 5f 43 59 52 49 4c 4c 49 43 20 20 20 20 3d 20 30  _CYRILLIC    = 0
4120: 78 30 30 30 30 30 30 30 34 3b 0a 63 6f 6e 73 74  x00000004;.const
4130: 20 46 53 5f 47 52 45 45 4b 20 20 20 20 20 20 20   FS_GREEK       
4140: 3d 20 30 78 30 30 30 30 30 30 30 38 3b 0a 63 6f  = 0x00000008;.co
4150: 6e 73 74 20 46 53 5f 54 55 52 4b 49 53 48 20 20  nst FS_TURKISH  
4160: 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 3b     = 0x00000010;
4170: 0a 63 6f 6e 73 74 20 46 53 5f 48 45 42 52 45 57  .const FS_HEBREW
4180: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
4190: 32 30 3b 0a 63 6f 6e 73 74 20 46 53 5f 41 52 41  20;.const FS_ARA
41a0: 42 49 43 20 20 20 20 20 20 3d 20 30 78 30 30 30  BIC      = 0x000
41b0: 30 30 30 34 30 3b 0a 63 6f 6e 73 74 20 46 53 5f  00040;.const FS_
41c0: 42 41 4c 54 49 43 20 20 20 20 20 20 3d 20 30 78  BALTIC      = 0x
41d0: 30 30 30 30 30 30 38 30 3b 0a 63 6f 6e 73 74 20  00000080;.const 
41e0: 46 53 5f 56 49 45 54 4e 41 4d 45 53 45 20 20 3d  FS_VIETNAMESE  =
41f0: 20 30 78 30 30 30 30 30 31 30 30 3b 0a 63 6f 6e   0x00000100;.con
4200: 73 74 20 46 53 5f 54 48 41 49 20 20 20 20 20 20  st FS_THAI      
4210: 20 20 3d 20 30 78 30 30 30 31 30 30 30 30 3b 0a    = 0x00010000;.
4220: 63 6f 6e 73 74 20 46 53 5f 4a 49 53 4a 41 50 41  const FS_JISJAPA
4230: 4e 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30  N    = 0x0002000
4240: 30 3b 0a 63 6f 6e 73 74 20 46 53 5f 43 48 49 4e  0;.const FS_CHIN
4250: 45 53 45 53 49 4d 50 20 3d 20 30 78 30 30 30 34  ESESIMP = 0x0004
4260: 30 30 30 30 3b 0a 63 6f 6e 73 74 20 46 53 5f 57  0000;.const FS_W
4270: 41 4e 53 55 4e 47 20 20 20 20 20 3d 20 30 78 30  ANSUNG     = 0x0
4280: 30 30 38 30 30 30 30 3b 0a 63 6f 6e 73 74 20 46  0080000;.const F
4290: 53 5f 43 48 49 4e 45 53 45 54 52 41 44 20 3d 20  S_CHINESETRAD = 
42a0: 30 78 30 30 31 30 30 30 30 30 3b 0a 63 6f 6e 73  0x00100000;.cons
42b0: 74 20 46 53 5f 4a 4f 48 41 42 20 20 20 20 20 20  t FS_JOHAB      
42c0: 20 3d 20 30 78 30 30 32 30 30 30 30 30 3b 0a 63   = 0x00200000;.c
42d0: 6f 6e 73 74 20 46 53 5f 53 59 4d 42 4f 4c 20 20  onst FS_SYMBOL  
42e0: 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 30 30      = 0x80000000
42f0: 3b 0a 0a 2f 2f 20 2d 2d 2d 2d 0a 2f 2f 20 50 6f  ;..// ----.// Po
4300: 6c 79 20 46 69 6c 6c 20 4d 6f 64 65 0a 65 6e 75  ly Fill Mode.enu
4310: 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20 20 41 4c  m : int {.    AL
4320: 54 45 52 4e 41 54 45 20 3d 20 31 2c 0a 20 20 20  TERNATE = 1,.   
4330: 20 57 49 4e 44 49 4e 47 20 20 20 3d 20 32 0a 7d   WINDING   = 2.}
4340: 0a 63 6f 6e 73 74 20 69 6e 74 20 50 4f 4c 59 46  .const int POLYF
4350: 49 4c 4c 5f 4c 41 53 54 20 3d 20 57 49 4e 44 49  ILL_LAST = WINDI
4360: 4e 47 3b 0a 0a 2f 2f 20 2d 2d 2d 0a 2f 2f 20 4c  NG;..// ---.// L
4370: 4f 47 42 52 55 53 48 0a 65 6e 75 6d 20 3a 20 4c  OGBRUSH.enum : L
4380: 4f 4e 47 20 7b 0a 20 20 20 20 48 53 5f 48 4f 52  ONG {.    HS_HOR
4390: 49 5a 4f 4e 54 41 4c 20 3d 20 30 2c 0a 20 20 20  IZONTAL = 0,.   
43a0: 20 48 53 5f 56 45 52 54 49 43 41 4c 2c 0a 20 20   HS_VERTICAL,.  
43b0: 20 20 48 53 5f 46 44 49 41 47 4f 4e 41 4c 2c 0a    HS_FDIAGONAL,.
43c0: 20 20 20 20 48 53 5f 42 44 49 41 47 4f 4e 41 4c      HS_BDIAGONAL
43d0: 2c 0a 20 20 20 20 48 53 5f 43 52 4f 53 53 2c 0a  ,.    HS_CROSS,.
43e0: 20 20 20 20 48 53 5f 44 49 41 47 43 52 4f 53 53      HS_DIAGCROSS
43f0: 0a 7d 0a 0a 2f 2f 20 4c 4f 47 42 52 55 53 48 2e  .}..// LOGBRUSH.
4400: 6c 62 53 74 79 6c 65 0a 65 6e 75 6d 20 3a 20 55  lbStyle.enum : U
4410: 49 4e 54 20 7b 0a 20 20 20 20 42 53 5f 53 4f 4c  INT {.    BS_SOL
4420: 49 44 20 20 3d 20 30 2c 0a 20 20 20 20 42 53 5f  ID  = 0,.    BS_
4430: 4e 55 4c 4c 20 20 20 3d 20 31 2c 0a 20 20 20 20  NULL   = 1,.    
4440: 42 53 5f 48 4f 4c 4c 4f 57 20 3d 20 42 53 5f 4e  BS_HOLLOW = BS_N
4450: 55 4c 4c 2c 0a 20 20 20 20 42 53 5f 48 41 54 43  ULL,.    BS_HATC
4460: 48 45 44 2c 0a 20 20 20 20 42 53 5f 50 41 54 54  HED,.    BS_PATT
4470: 45 52 4e 2c 0a 20 20 20 20 42 53 5f 49 4e 44 45  ERN,.    BS_INDE
4480: 58 45 44 2c 0a 20 20 20 20 42 53 5f 44 49 42 50  XED,.    BS_DIBP
4490: 41 54 54 45 52 4e 2c 0a 20 20 20 20 42 53 5f 44  ATTERN,.    BS_D
44a0: 49 42 50 41 54 54 45 52 4e 50 54 2c 0a 20 20 20  IBPATTERNPT,.   
44b0: 20 42 53 5f 50 41 54 54 45 52 4e 38 58 38 2c 0a   BS_PATTERN8X8,.
44c0: 20 20 20 20 42 53 5f 44 49 42 50 41 54 54 45 52      BS_DIBPATTER
44d0: 4e 38 58 38 2c 0a 20 20 20 20 42 53 5f 4d 4f 4e  N8X8,.    BS_MON
44e0: 4f 50 41 54 54 45 52 4e 2c 0a 7d 0a 0a 2f 2f 20  OPATTERN,.}..// 
44f0: 2d 2d 2d 2d 2d 0a 2f 2f 20 45 58 54 4c 4f 47 50  -----.// EXTLOGP
4500: 45 4e 2c 20 45 78 74 43 72 65 61 74 65 50 65 6e  EN, ExtCreatePen
4510: 28 29 0a 0a 2f 2f 20 45 58 54 4c 4f 47 50 45 4e  ()..// EXTLOGPEN
4520: 2e 65 6c 70 50 65 6e 53 74 79 6c 65 0a 65 6e 75  .elpPenStyle.enu
4530: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20 20  m : DWORD {.    
4540: 50 53 5f 53 4f 4c 49 44 20 20 20 20 20 20 20 3d  PS_SOLID       =
4550: 20 30 2c 0a 20 20 20 20 50 53 5f 44 41 53 48 20   0,.    PS_DASH 
4560: 20 20 20 20 20 20 20 3d 20 31 2c 0a 20 20 20 20         = 1,.    
4570: 50 53 5f 44 4f 54 20 20 20 20 20 20 20 20 20 3d  PS_DOT         =
4580: 20 32 2c 0a 20 20 20 20 50 53 5f 44 41 53 48 44   2,.    PS_DASHD
4590: 4f 54 20 20 20 20 20 3d 20 33 2c 0a 20 20 20 20  OT     = 3,.    
45a0: 50 53 5f 44 41 53 48 44 4f 54 44 4f 54 20 20 3d  PS_DASHDOTDOT  =
45b0: 20 34 2c 0a 20 20 20 20 50 53 5f 4e 55 4c 4c 20   4,.    PS_NULL 
45c0: 20 20 20 20 20 20 20 3d 20 35 2c 0a 20 20 20 20         = 5,.    
45d0: 50 53 5f 49 4e 53 49 44 45 46 52 41 4d 45 20 3d  PS_INSIDEFRAME =
45e0: 20 36 2c 0a 20 20 20 20 50 53 5f 55 53 45 52 53   6,.    PS_USERS
45f0: 54 59 4c 45 20 20 20 3d 20 37 2c 0a 20 20 20 20  TYLE   = 7,.    
4600: 50 53 5f 41 4c 54 45 52 4e 41 54 45 20 20 20 3d  PS_ALTERNATE   =
4610: 20 38 2c 0a 20 20 20 20 50 53 5f 53 54 59 4c 45   8,.    PS_STYLE
4620: 5f 4d 41 53 4b 20 20 3d 20 31 35 2c 0a 7d 0a 0a  _MASK  = 15,.}..
4630: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 20  enum : DWORD {. 
4640: 20 20 20 50 53 5f 43 4f 53 4d 45 54 49 43 20 20     PS_COSMETIC  
4650: 3d 20 30 78 30 30 30 30 30 30 30 30 2c 0a 20 20  = 0x00000000,.  
4660: 20 20 50 53 5f 47 45 4f 4d 45 54 52 49 43 20 3d    PS_GEOMETRIC =
4670: 20 30 78 30 30 30 31 30 30 30 30 2c 0a 20 20 20   0x00010000,.   
4680: 20 50 53 5f 54 59 50 45 5f 4d 41 53 4b 20 3d 20   PS_TYPE_MASK = 
4690: 30 78 30 30 30 46 30 30 30 30 2c 0a 7d 0a 65 6e  0x000F0000,.}.en
46a0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20  um : DWORD {.   
46b0: 20 50 53 5f 45 4e 44 43 41 50 5f 52 4f 55 4e 44   PS_ENDCAP_ROUND
46c0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c 0a    = 0x00000000,.
46d0: 20 20 20 20 50 53 5f 45 4e 44 43 41 50 5f 53 51      PS_ENDCAP_SQ
46e0: 55 41 52 45 20 3d 20 30 78 30 30 30 30 30 31 30  UARE = 0x0000010
46f0: 30 2c 0a 20 20 20 20 50 53 5f 45 4e 44 43 41 50  0,.    PS_ENDCAP
4700: 5f 46 4c 41 54 20 20 20 3d 20 30 78 30 30 30 30  _FLAT   = 0x0000
4710: 30 32 30 30 2c 0a 20 20 20 20 50 53 5f 45 4e 44  0200,.    PS_END
4720: 43 41 50 5f 4d 41 53 4b 20 20 20 3d 20 30 78 30  CAP_MASK   = 0x0
4730: 30 30 30 30 46 30 30 2c 0a 7d 0a 65 6e 75 6d 20  0000F00,.}.enum 
4740: 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20 20 50 53  : DWORD {.    PS
4750: 5f 4a 4f 49 4e 5f 52 4f 55 4e 44 20 3d 20 30 78  _JOIN_ROUND = 0x
4760: 30 30 30 30 30 30 30 30 2c 0a 20 20 20 20 50 53  00000000,.    PS
4770: 5f 4a 4f 49 4e 5f 42 45 56 45 4c 20 3d 20 30 78  _JOIN_BEVEL = 0x
4780: 30 30 30 30 31 30 30 30 2c 0a 20 20 20 20 50 53  00001000,.    PS
4790: 5f 4a 4f 49 4e 5f 4d 49 54 45 52 20 3d 20 30 78  _JOIN_MITER = 0x
47a0: 30 30 30 30 32 30 30 30 2c 0a 20 20 20 20 50 53  00002000,.    PS
47b0: 5f 4a 4f 49 4e 5f 4d 41 53 4b 20 20 3d 20 30 78  _JOIN_MASK  = 0x
47c0: 30 30 30 30 46 30 30 30 2c 0a 7d 0a 0a 2f 2f 20  0000F000,.}..// 
47d0: 2d 2d 2d 0a 2f 2f 20 44 65 76 69 63 65 43 61 70  ---.// DeviceCap
47e0: 61 62 69 6c 69 74 69 65 73 28 29 0a 0a 65 6e 75  abilities()..enu
47f0: 6d 20 3a 20 57 4f 52 44 20 7b 0a 20 20 20 20 44  m : WORD {.    D
4800: 43 5f 46 49 45 4c 44 53 20 3d 20 31 2c 0a 20 20  C_FIELDS = 1,.  
4810: 20 20 44 43 5f 50 41 50 45 52 53 2c 0a 20 20 20    DC_PAPERS,.   
4820: 20 44 43 5f 50 41 50 45 52 53 49 5a 45 2c 0a 20   DC_PAPERSIZE,. 
4830: 20 20 20 44 43 5f 4d 49 4e 45 58 54 45 4e 54 2c     DC_MINEXTENT,
4840: 0a 20 20 20 20 44 43 5f 4d 41 58 45 58 54 45 4e  .    DC_MAXEXTEN
4850: 54 2c 0a 20 20 20 20 44 43 5f 42 49 4e 53 2c 0a  T,.    DC_BINS,.
4860: 20 20 20 20 44 43 5f 44 55 50 4c 45 58 2c 0a 20      DC_DUPLEX,. 
4870: 20 20 20 44 43 5f 53 49 5a 45 2c 0a 20 20 20 20     DC_SIZE,.    
4880: 44 43 5f 45 58 54 52 41 2c 0a 20 20 20 20 44 43  DC_EXTRA,.    DC
4890: 5f 56 45 52 53 49 4f 4e 2c 0a 20 20 20 20 44 43  _VERSION,.    DC
48a0: 5f 44 52 49 56 45 52 2c 0a 20 20 20 20 44 43 5f  _DRIVER,.    DC_
48b0: 42 49 4e 4e 41 4d 45 53 2c 0a 20 20 20 20 44 43  BINNAMES,.    DC
48c0: 5f 45 4e 55 4d 52 45 53 4f 4c 55 54 49 4f 4e 53  _ENUMRESOLUTIONS
48d0: 2c 0a 20 20 20 20 44 43 5f 46 49 4c 45 44 45 50  ,.    DC_FILEDEP
48e0: 45 4e 44 45 4e 43 49 45 53 2c 0a 20 20 20 20 44  ENDENCIES,.    D
48f0: 43 5f 54 52 55 45 54 59 50 45 2c 0a 20 20 20 20  C_TRUETYPE,.    
4900: 44 43 5f 50 41 50 45 52 4e 41 4d 45 53 2c 0a 20  DC_PAPERNAMES,. 
4910: 20 20 20 44 43 5f 4f 52 49 45 4e 54 41 54 49 4f     DC_ORIENTATIO
4920: 4e 2c 0a 20 20 20 20 44 43 5f 43 4f 50 49 45 53  N,.    DC_COPIES
4930: 2c 0a 20 20 20 20 44 43 5f 42 49 4e 41 44 4a 55  ,.    DC_BINADJU
4940: 53 54 2c 0a 20 20 20 20 44 43 5f 45 4d 46 5f 43  ST,.    DC_EMF_C
4950: 4f 4d 50 4c 49 41 4e 54 2c 0a 20 20 20 20 44 43  OMPLIANT,.    DC
4960: 5f 44 41 54 41 54 59 50 45 5f 50 52 4f 44 55 43  _DATATYPE_PRODUC
4970: 45 44 2c 0a 20 20 20 20 44 43 5f 43 4f 4c 4c 41  ED,.    DC_COLLA
4980: 54 45 2c 0a 20 20 20 20 44 43 5f 4d 41 4e 55 46  TE,.    DC_MANUF
4990: 41 43 54 55 52 45 52 2c 0a 20 20 20 20 44 43 5f  ACTURER,.    DC_
49a0: 4d 4f 44 45 4c 2c 0a 7d 0a 0a 73 74 61 74 69 63  MODEL,.}..static
49b0: 0a 0a 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20  ..if (WINVER >= 
49c0: 30 78 30 35 30 30 29 0a 7b 0a 20 20 20 20 65 6e  0x0500).{.    en
49d0: 75 6d 20 7b 0a 20 20 20 20 20 20 20 20 44 43 5f  um {.        DC_
49e0: 50 45 52 53 4f 4e 41 4c 49 54 59 20 20 20 3d 20  PERSONALITY   = 
49f0: 32 35 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 50  25,.        DC_P
4a00: 52 49 4e 54 52 41 54 45 20 20 20 20 20 3d 20 32  RINTRATE     = 2
4a10: 36 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 50 52  6,.        DC_PR
4a20: 49 4e 54 52 41 54 45 55 4e 49 54 20 3d 20 32 37  INTRATEUNIT = 27
4a30: 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 50 52 49  ,.        DC_PRI
4a40: 4e 54 45 52 4d 45 4d 20 20 20 20 3d 20 32 38 2c  NTERMEM    = 28,
4a50: 0a 20 20 20 20 20 20 20 20 44 43 5f 4d 45 44 49  .        DC_MEDI
4a60: 41 52 45 41 44 59 20 20 20 20 3d 20 32 39 2c 0a  AREADY    = 29,.
4a70: 20 20 20 20 20 20 20 20 44 43 5f 53 54 41 50 4c          DC_STAPL
4a80: 45 20 20 20 20 20 20 20 20 3d 20 33 30 2c 0a 20  E        = 30,. 
4a90: 20 20 20 20 20 20 20 44 43 5f 50 52 49 4e 54 52         DC_PRINTR
4aa0: 41 54 45 50 50 4d 20 20 3d 20 33 31 2c 0a 20 20  ATEPPM  = 31,.  
4ab0: 20 20 20 20 20 20 44 43 5f 43 4f 4c 4f 52 44 45        DC_COLORDE
4ac0: 56 49 43 45 20 20 20 3d 20 33 32 2c 0a 20 20 20  VICE   = 32,.   
4ad0: 20 20 20 20 20 44 43 5f 4e 55 50 20 3d 20 33 33       DC_NUP = 33
4ae0: 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 4d 45 44  ,.        DC_MED
4af0: 49 41 54 59 50 45 4e 41 4d 45 53 20 3d 20 33 34  IATYPENAMES = 34
4b00: 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 4d 45 44  ,.        DC_MED
4b10: 49 41 54 59 50 45 53 20 20 20 20 20 3d 20 33 35  IATYPES     = 35
4b20: 2c 0a 20 20 20 20 7d 0a 20 20 20 20 65 6e 75 6d  ,.    }.    enum
4b30: 20 7b 0a 20 20 20 20 20 20 20 20 50 52 49 4e 54   {.        PRINT
4b40: 52 41 54 45 55 4e 49 54 5f 50 50 4d 20 3d 20 31  RATEUNIT_PPM = 1
4b50: 2c 0a 20 20 20 20 20 20 20 20 50 52 49 4e 54 52  ,.        PRINTR
4b60: 41 54 45 55 4e 49 54 5f 43 50 53 20 3d 20 32 2c  ATEUNIT_CPS = 2,
4b70: 0a 20 20 20 20 20 20 20 20 50 52 49 4e 54 52 41  .        PRINTRA
4b80: 54 45 55 4e 49 54 5f 4c 50 4d 20 3d 20 33 2c 0a  TEUNIT_LPM = 3,.
4b90: 20 20 20 20 20 20 20 20 50 52 49 4e 54 52 41 54          PRINTRAT
4ba0: 45 55 4e 49 54 5f 49 50 4d 20 3d 20 34 2c 0a 20  EUNIT_IPM = 4,. 
4bb0: 20 20 20 7d 0a 7d 0a 0a 2f 2f 20 72 65 74 75 72     }.}..// retur
4bc0: 6e 20 66 72 6f 6d 20 44 43 5f 54 52 55 45 54 59  n from DC_TRUETY
4bd0: 50 45 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 44  PE.const DWORD.D
4be0: 43 54 54 5f 42 49 54 4d 41 50 20 3d 20 31 2c 0a  CTT_BITMAP = 1,.
4bf0: 44 43 54 54 5f 44 4f 57 4e 4c 4f 41 44 20 20 20  DCTT_DOWNLOAD   
4c00: 20 20 20 20 20 20 3d 20 32 2c 0a 44 43 54 54 5f        = 2,.DCTT_
4c10: 53 55 42 44 45 56 20 20 20 20 20 20 20 20 20 20  SUBDEV          
4c20: 20 3d 20 34 2c 0a 44 43 54 54 5f 44 4f 57 4e 4c   = 4,.DCTT_DOWNL
4c30: 4f 41 44 5f 4f 55 54 4c 49 4e 45 20 3d 20 38 3b  OAD_OUTLINE = 8;
4c40: 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49  ..static..if (WI
4c50: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0a  NVER >= 0x0400).
4c60: 7b 0a 20 20 20 20 2f 2f 20 72 65 74 75 72 6e 20  {.    // return 
4c70: 66 72 6f 6d 20 44 43 5f 42 49 4e 41 44 4a 55 53  from DC_BINADJUS
4c80: 54 0a 20 20 20 20 65 6e 75 6d 20 3a 20 44 57 4f  T.    enum : DWO
4c90: 52 44 20 7b 0a 20 20 20 20 20 20 20 20 44 43 42  RD {.        DCB
4ca0: 41 5f 46 41 43 45 55 50 4e 4f 4e 45 20 20 20 20  A_FACEUPNONE    
4cb0: 20 3d 20 30 78 30 30 30 30 2c 0a 20 20 20 20 20   = 0x0000,.     
4cc0: 20 20 20 44 43 42 41 5f 46 41 43 45 55 50 43 45     DCBA_FACEUPCE
4cd0: 4e 54 45 52 20 20 20 3d 20 30 78 30 30 30 31 2c  NTER   = 0x0001,
4ce0: 0a 20 20 20 20 20 20 20 20 44 43 42 41 5f 46 41  .        DCBA_FA
4cf0: 43 45 55 50 4c 45 46 54 20 20 20 20 20 3d 20 30  CEUPLEFT     = 0
4d00: 78 30 30 30 32 2c 0a 20 20 20 20 20 20 20 20 44  x0002,.        D
4d10: 43 42 41 5f 46 41 43 45 55 50 52 49 47 48 54 20  CBA_FACEUPRIGHT 
4d20: 20 20 20 3d 20 30 78 30 30 30 33 2c 0a 20 20 20     = 0x0003,.   
4d30: 20 20 20 20 20 44 43 42 41 5f 46 41 43 45 44 4f       DCBA_FACEDO
4d40: 57 4e 4e 4f 4e 45 20 20 20 3d 20 30 78 30 31 30  WNNONE   = 0x010
4d50: 30 2c 0a 20 20 20 20 20 20 20 20 44 43 42 41 5f  0,.        DCBA_
4d60: 46 41 43 45 44 4f 57 4e 43 45 4e 54 45 52 20 3d  FACEDOWNCENTER =
4d70: 20 30 78 30 31 30 31 2c 0a 20 20 20 20 20 20 20   0x0101,.       
4d80: 20 44 43 42 41 5f 46 41 43 45 44 4f 57 4e 4c 45   DCBA_FACEDOWNLE
4d90: 46 54 20 20 20 3d 20 30 78 30 31 30 32 2c 0a 20  FT   = 0x0102,. 
4da0: 20 20 20 20 20 20 20 44 43 42 41 5f 46 41 43 45         DCBA_FACE
4db0: 44 4f 57 4e 52 49 47 48 54 20 20 3d 20 30 78 30  DOWNRIGHT  = 0x0
4dc0: 31 30 33 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f  103,.    }.}..//
4dd0: 20 2d 2d 2d 0a 0a 63 6f 6e 73 74 20 46 4c 4f 4f   ---..const FLOO
4de0: 44 46 49 4c 4c 42 4f 52 44 45 52 20 20 3d 20 30  DFILLBORDER  = 0
4df0: 3b 0a 63 6f 6e 73 74 20 46 4c 4f 4f 44 46 49 4c  ;.const FLOODFIL
4e00: 4c 53 55 52 46 41 43 45 20 3d 20 31 3b 0a 0a 2f  LSURFACE = 1;../
4e10: 2f 20 45 78 74 54 65 78 74 4f 75 74 28 29 0a 63  / ExtTextOut().c
4e20: 6f 6e 73 74 20 55 49 4e 54 0a 45 54 4f 5f 4f 50  onst UINT.ETO_OP
4e30: 41 51 55 45 20 20 20 20 20 20 20 20 20 3d 20 30  AQUE         = 0
4e40: 78 30 30 30 32 2c 0a 45 54 4f 5f 43 4c 49 50 50  x0002,.ETO_CLIPP
4e50: 45 44 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  ED        = 0x00
4e60: 30 34 2c 0a 45 54 4f 5f 47 4c 59 50 48 5f 49 4e  04,.ETO_GLYPH_IN
4e70: 44 45 58 20 20 20 20 3d 20 30 78 30 30 31 30 2c  DEX    = 0x0010,
4e80: 0a 45 54 4f 5f 52 54 4c 52 45 41 44 49 4e 47 20  .ETO_RTLREADING 
4e90: 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0a 45 54      = 0x0080,.ET
4ea0: 4f 5f 4e 55 4d 45 52 49 43 53 4c 4f 43 41 4c 20  O_NUMERICSLOCAL 
4eb0: 20 3d 20 30 78 30 34 30 30 2c 0a 45 54 4f 5f 4e   = 0x0400,.ETO_N
4ec0: 55 4d 45 52 49 43 53 4c 41 54 49 4e 20 20 3d 20  UMERICSLATIN  = 
4ed0: 30 78 30 38 30 30 2c 0a 45 54 4f 5f 49 47 4e 4f  0x0800,.ETO_IGNO
4ee0: 52 45 4c 41 4e 47 55 41 47 45 20 3d 20 30 78 31  RELANGUAGE = 0x1
4ef0: 30 30 30 3b 0a 73 74 61 74 69 63 0a 0a 69 66 20  000;.static..if 
4f00: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
4f10: 20 30 78 30 35 30 30 29 0a 7b 0a 20 20 20 20 63   0x0500).{.    c
4f20: 6f 6e 73 74 20 55 49 4e 54 0a 20 20 20 20 45 54  onst UINT.    ET
4f30: 4f 5f 50 44 59 20 3d 20 30 78 32 30 30 30 3b 0a  O_PDY = 0x2000;.
4f40: 7d 0a 0a 2f 2f 20 47 64 69 43 6f 6d 6d 65 6e 74  }..// GdiComment
4f50: 28 29 0a 65 6e 75 6d 20 7b 0a 20 20 20 20 47 44  ().enum {.    GD
4f60: 49 43 4f 4d 4d 45 4e 54 5f 42 45 47 49 4e 47 52  ICOMMENT_BEGINGR
4f70: 4f 55 50 20 20 20 20 20 20 20 3d 20 30 78 30 30  OUP       = 0x00
4f80: 30 30 30 30 30 32 2c 0a 20 20 20 20 47 44 49 43  000002,.    GDIC
4f90: 4f 4d 4d 45 4e 54 5f 45 4e 44 47 52 4f 55 50 20  OMMENT_ENDGROUP 
4fa0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
4fb0: 30 30 30 33 2c 0a 20 20 20 20 47 44 49 43 4f 4d  0003,.    GDICOM
4fc0: 4d 45 4e 54 5f 55 4e 49 43 4f 44 45 5f 53 54 52  MENT_UNICODE_STR
4fd0: 49 4e 47 20 20 20 3d 20 30 78 30 30 30 30 30 30  ING   = 0x000000
4fe0: 34 30 2c 0a 20 20 20 20 47 44 49 43 4f 4d 4d 45  40,.    GDICOMME
4ff0: 4e 54 5f 55 4e 49 43 4f 44 45 5f 45 4e 44 20 20  NT_UNICODE_END  
5000: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 38 30      = 0x00000080
5010: 2c 0a 20 20 20 20 47 44 49 43 4f 4d 4d 45 4e 54  ,.    GDICOMMENT
5020: 5f 4d 55 4c 54 49 46 4f 52 4d 41 54 53 20 20 20  _MULTIFORMATS   
5030: 20 20 3d 20 30 78 34 30 30 30 30 30 30 34 2c 0a    = 0x40000004,.
5040: 20 20 20 20 47 44 49 43 4f 4d 4d 45 4e 54 5f 49      GDICOMMENT_I
5050: 44 45 4e 54 49 46 49 45 52 20 20 20 20 20 20 20  DENTIFIER       
5060: 3d 20 30 78 34 33 34 39 34 34 34 37 2c 0a 20 20  = 0x43494447,.  
5070: 20 20 47 44 49 43 4f 4d 4d 45 4e 54 5f 57 49 4e    GDICOMMENT_WIN
5080: 44 4f 57 53 5f 4d 45 54 41 46 49 4c 45 20 3d 20  DOWS_METAFILE = 
5090: 30 78 38 30 30 30 30 30 30 31 2c 0a 7d 0a 0a 2f  0x80000001,.}../
50a0: 2f 20 47 65 74 2f 53 65 74 41 72 63 44 69 72 65  / Get/SetArcDire
50b0: 63 74 69 6f 6e 28 29 0a 65 6e 75 6d 20 3a 20 69  ction().enum : i
50c0: 6e 74 20 7b 0a 20 20 20 20 41 44 5f 43 4f 55 4e  nt {.    AD_COUN
50d0: 54 45 52 43 4c 4f 43 4b 57 49 53 45 20 3d 20 31  TERCLOCKWISE = 1
50e0: 2c 0a 20 20 20 20 41 44 5f 43 4c 4f 43 4b 57 49  ,.    AD_CLOCKWI
50f0: 53 45 20 20 20 20 20 20 20 20 3d 20 32 0a 7d 0a  SE        = 2.}.
5100: 0a 63 6f 6e 73 74 20 52 44 48 5f 52 45 43 54 41  .const RDH_RECTA
5110: 4e 47 4c 45 53 20 3d 20 31 3b 0a 0a 2f 2f 20 47  NGLES = 1;..// G
5120: 43 50 52 45 53 55 4c 54 53 2e 6c 70 43 6c 61 73  CPRESULTS.lpClas
5130: 73 0a 65 6e 75 6d 20 7b 0a 20 20 20 20 47 43 50  s.enum {.    GCP
5140: 43 4c 41 53 53 5f 4c 41 54 49 4e 20 20 3d 20 31  CLASS_LATIN  = 1
5150: 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f 48  ,.    GCPCLASS_H
5160: 45 42 52 45 57 20 3d 20 32 2c 0a 20 20 20 20 47  EBREW = 2,.    G
5170: 43 50 43 4c 41 53 53 5f 41 52 41 42 49 43 20 3d  CPCLASS_ARABIC =
5180: 20 32 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53   2,.    GCPCLASS
5190: 5f 4e 45 55 54 52 41 4c 2c 0a 20 20 20 20 47 43  _NEUTRAL,.    GC
51a0: 50 43 4c 41 53 53 5f 4c 4f 43 41 4c 4e 55 4d 42  PCLASS_LOCALNUMB
51b0: 45 52 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53  ER,.    GCPCLASS
51c0: 5f 4c 41 54 49 4e 4e 55 4d 42 45 52 2c 0a 20 20  _LATINNUMBER,.  
51d0: 20 20 47 43 50 43 4c 41 53 53 5f 4c 41 54 49 4e    GCPCLASS_LATIN
51e0: 4e 55 4d 45 52 49 43 54 45 52 4d 49 4e 41 54 4f  NUMERICTERMINATO
51f0: 52 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f  R,.    GCPCLASS_
5200: 4c 41 54 49 4e 4e 55 4d 45 52 49 43 53 45 50 41  LATINNUMERICSEPA
5210: 52 41 54 4f 52 2c 0a 20 20 20 20 47 43 50 43 4c  RATOR,.    GCPCL
5220: 41 53 53 5f 4e 55 4d 45 52 49 43 53 45 50 41 52  ASS_NUMERICSEPAR
5230: 41 54 4f 52 2c 20 20 20 20 20 2f 2f 20 3d 20 38  ATOR,     // = 8
5240: 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f 50  ,.    GCPCLASS_P
5250: 4f 53 54 42 4f 55 4e 44 52 54 4c 20 3d 20 31 36  OSTBOUNDRTL = 16
5260: 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f 50  ,.    GCPCLASS_P
5270: 4f 53 54 42 4f 55 4e 44 4c 54 52 20 3d 20 33 32  OSTBOUNDLTR = 32
5280: 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f 50  ,.    GCPCLASS_P
5290: 52 45 42 4f 55 4e 44 52 54 4c 20 20 3d 20 36 34  REBOUNDRTL  = 64
52a0: 2c 0a 20 20 20 20 47 43 50 43 4c 41 53 53 5f 50  ,.    GCPCLASS_P
52b0: 52 45 42 4f 55 4e 44 4c 54 52 20 20 3d 20 31 32  REBOUNDLTR  = 12
52c0: 38 2c 0a 20 20 20 20 47 43 50 47 4c 59 50 48 5f  8,.    GCPGLYPH_
52d0: 4c 49 4e 4b 41 46 54 45 52 20 20 20 20 3d 20 30  LINKAFTER    = 0
52e0: 78 34 30 30 30 2c 0a 20 20 20 20 47 43 50 47 4c  x4000,.    GCPGL
52f0: 59 50 48 5f 4c 49 4e 4b 42 45 46 4f 52 45 20 20  YPH_LINKBEFORE  
5300: 20 3d 20 30 78 38 30 30 30 0a 7d 0a 0a 2f 2f 20   = 0x8000.}..// 
5310: 47 65 74 42 6f 75 6e 64 73 52 65 63 74 28 29 2c  GetBoundsRect(),
5320: 20 53 65 74 42 6f 75 6e 64 73 52 65 63 74 28 29   SetBoundsRect()
5330: 0a 63 6f 6e 73 74 20 55 49 4e 54 0a 44 43 42 5f  .const UINT.DCB_
5340: 52 45 53 45 54 20 20 20 20 20 20 3d 20 31 2c 0a  RESET      = 1,.
5350: 44 43 42 5f 41 43 43 55 4d 55 4c 41 54 45 20 3d  DCB_ACCUMULATE =
5360: 20 32 2c 0a 44 43 42 5f 53 45 54 20 20 20 20 20   2,.DCB_SET     
5370: 20 20 20 3d 20 44 43 42 5f 52 45 53 45 54 20 7c     = DCB_RESET |
5380: 20 44 43 42 5f 41 43 43 55 4d 55 4c 41 54 45 2c   DCB_ACCUMULATE,
5390: 0a 44 43 42 5f 45 4e 41 42 4c 45 20 20 20 20 20  .DCB_ENABLE     
53a0: 3d 20 34 2c 0a 44 43 42 5f 44 49 53 41 42 4c 45  = 4,.DCB_DISABLE
53b0: 20 20 20 20 3d 20 38 2c 0a 44 43 42 5f 44 49 52      = 8,.DCB_DIR
53c0: 54 59 20 20 20 20 20 20 3d 20 44 43 42 5f 41 43  TY      = DCB_AC
53d0: 43 55 4d 55 4c 41 54 45 3b 0a 0a 2f 2f 20 2d 2d  CUMULATE;..// --
53e0: 2d 0a 2f 2f 20 47 65 74 4f 62 6a 65 63 74 54 79  -.// GetObjectTy
53f0: 70 65 28 29 0a 65 6e 75 6d 20 3a 20 44 57 4f 52  pe().enum : DWOR
5400: 44 20 7b 0a 20 20 20 20 4f 42 4a 5f 50 45 4e 20  D {.    OBJ_PEN 
5410: 3d 20 31 2c 0a 20 20 20 20 4f 42 4a 5f 42 52 55  = 1,.    OBJ_BRU
5420: 53 48 2c 0a 20 20 20 20 4f 42 4a 5f 44 43 2c 0a  SH,.    OBJ_DC,.
5430: 20 20 20 20 4f 42 4a 5f 4d 45 54 41 44 43 2c 0a      OBJ_METADC,.
5440: 20 20 20 20 4f 42 4a 5f 50 41 4c 2c 0a 20 20 20      OBJ_PAL,.   
5450: 20 4f 42 4a 5f 46 4f 4e 54 2c 0a 20 20 20 20 4f   OBJ_FONT,.    O
5460: 42 4a 5f 42 49 54 4d 41 50 2c 0a 20 20 20 20 4f  BJ_BITMAP,.    O
5470: 42 4a 5f 52 45 47 49 4f 4e 2c 0a 20 20 20 20 4f  BJ_REGION,.    O
5480: 42 4a 5f 4d 45 54 41 46 49 4c 45 2c 0a 20 20 20  BJ_METAFILE,.   
5490: 20 4f 42 4a 5f 4d 45 4d 44 43 2c 0a 20 20 20 20   OBJ_MEMDC,.    
54a0: 4f 42 4a 5f 45 58 54 50 45 4e 2c 0a 20 20 20 20  OBJ_EXTPEN,.    
54b0: 4f 42 4a 5f 45 4e 48 4d 45 54 41 44 43 2c 0a 20  OBJ_ENHMETADC,. 
54c0: 20 20 20 4f 42 4a 5f 45 4e 48 4d 45 54 41 46 49     OBJ_ENHMETAFI
54d0: 4c 45 2c 0a 20 20 20 20 4f 42 4a 5f 43 4f 4c 4f  LE,.    OBJ_COLO
54e0: 52 53 50 41 43 45 2c 0a 7d 0a 0a 2f 2f 20 2d 2d  RSPACE,.}..// --
54f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
5500: 2d 2d 2d 0a 2f 2f 20 43 61 70 61 62 69 6c 69 74  ---.// Capabilit
5510: 69 65 73 20 66 6f 72 20 47 65 74 44 65 76 69 63  ies for GetDevic
5520: 65 43 61 70 73 28 64 63 2c 20 78 78 78 29 0a 0a  eCaps(dc, xxx)..
5530: 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20  enum : int {.   
5540: 20 44 52 49 56 45 52 56 45 52 53 49 4f 4e 20 20   DRIVERVERSION  
5550: 20 3d 20 30 2c 0a 20 20 20 20 54 45 43 48 4e 4f   = 0,.    TECHNO
5560: 4c 4f 47 59 20 20 20 20 20 20 3d 20 32 2c 0a 20  LOGY      = 2,. 
5570: 20 20 20 48 4f 52 5a 53 49 5a 45 20 20 20 20 20     HORZSIZE     
5580: 20 20 20 3d 20 34 2c 0a 20 20 20 20 56 45 52 54     = 4,.    VERT
5590: 53 49 5a 45 20 20 20 20 20 20 20 20 3d 20 36 2c  SIZE        = 6,
55a0: 0a 20 20 20 20 48 4f 52 5a 52 45 53 20 20 20 20  .    HORZRES    
55b0: 20 20 20 20 20 3d 20 38 2c 0a 20 20 20 20 56 45       = 8,.    VE
55c0: 52 54 52 45 53 20 20 20 20 20 20 20 20 20 3d 20  RTRES         = 
55d0: 31 30 2c 0a 20 20 20 20 42 49 54 53 50 49 58 45  10,.    BITSPIXE
55e0: 4c 20 20 20 20 20 20 20 3d 20 31 32 2c 0a 20 20  L       = 12,.  
55f0: 20 20 50 4c 41 4e 45 53 20 20 20 20 20 20 20 20    PLANES        
5600: 20 20 3d 20 31 34 2c 0a 20 20 20 20 4e 55 4d 42    = 14,.    NUMB
5610: 52 55 53 48 45 53 20 20 20 20 20 20 3d 20 31 36  RUSHES      = 16
5620: 2c 0a 20 20 20 20 4e 55 4d 50 45 4e 53 20 20 20  ,.    NUMPENS   
5630: 20 20 20 20 20 20 3d 20 31 38 2c 0a 20 20 20 20        = 18,.    
5640: 4e 55 4d 4d 41 52 4b 45 52 53 20 20 20 20 20 20  NUMMARKERS      
5650: 3d 20 32 30 2c 0a 20 20 20 20 4e 55 4d 46 4f 4e  = 20,.    NUMFON
5660: 54 53 20 20 20 20 20 20 20 20 3d 20 32 32 2c 0a  TS        = 22,.
5670: 20 20 20 20 4e 55 4d 43 4f 4c 4f 52 53 20 20 20      NUMCOLORS   
5680: 20 20 20 20 3d 20 32 34 2c 0a 20 20 20 20 50 44      = 24,.    PD
5690: 45 56 49 43 45 53 49 5a 45 20 20 20 20 20 3d 20  EVICESIZE     = 
56a0: 32 36 2c 0a 20 20 20 20 43 55 52 56 45 43 41 50  26,.    CURVECAP
56b0: 53 20 20 20 20 20 20 20 3d 20 32 38 2c 0a 20 20  S       = 28,.  
56c0: 20 20 4c 49 4e 45 43 41 50 53 20 20 20 20 20 20    LINECAPS      
56d0: 20 20 3d 20 33 30 2c 0a 20 20 20 20 50 4f 4c 59    = 30,.    POLY
56e0: 47 4f 4e 41 4c 43 41 50 53 20 20 20 3d 20 33 32  GONALCAPS   = 32
56f0: 2c 0a 20 20 20 20 54 45 58 54 43 41 50 53 20 20  ,.    TEXTCAPS  
5700: 20 20 20 20 20 20 3d 20 33 34 2c 0a 20 20 20 20        = 34,.    
5710: 43 4c 49 50 43 41 50 53 20 20 20 20 20 20 20 20  CLIPCAPS        
5720: 3d 20 33 36 2c 0a 20 20 20 20 52 41 53 54 45 52  = 36,.    RASTER
5730: 43 41 50 53 20 20 20 20 20 20 3d 20 33 38 2c 0a  CAPS      = 38,.
5740: 20 20 20 20 41 53 50 45 43 54 58 20 20 20 20 20      ASPECTX     
5750: 20 20 20 20 3d 20 34 30 2c 0a 20 20 20 20 41 53      = 40,.    AS
5760: 50 45 43 54 59 20 20 20 20 20 20 20 20 20 3d 20  PECTY         = 
5770: 34 32 2c 0a 20 20 20 20 41 53 50 45 43 54 58 59  42,.    ASPECTXY
5780: 20 20 20 20 20 20 20 20 3d 20 34 34 2c 0a 20 20          = 44,.  
5790: 20 20 4c 4f 47 50 49 58 45 4c 53 58 20 20 20 20    LOGPIXELSX    
57a0: 20 20 3d 20 38 38 2c 0a 20 20 20 20 4c 4f 47 50    = 88,.    LOGP
57b0: 49 58 45 4c 53 59 20 20 20 20 20 20 3d 20 39 30  IXELSY      = 90
57c0: 2c 0a 20 20 20 20 53 49 5a 45 50 41 4c 45 54 54  ,.    SIZEPALETT
57d0: 45 20 20 20 20 20 3d 20 31 30 34 2c 0a 20 20 20  E     = 104,.   
57e0: 20 4e 55 4d 52 45 53 45 52 56 45 44 20 20 20 20   NUMRESERVED    
57f0: 20 3d 20 31 30 36 2c 0a 20 20 20 20 43 4f 4c 4f   = 106,.    COLO
5800: 52 52 45 53 20 20 20 20 20 20 20 20 3d 20 31 30  RRES        = 10
5810: 38 2c 0a 20 20 20 20 50 48 59 53 49 43 41 4c 57  8,.    PHYSICALW
5820: 49 44 54 48 20 20 20 3d 20 31 31 30 2c 0a 20 20  IDTH   = 110,.  
5830: 20 20 50 48 59 53 49 43 41 4c 48 45 49 47 48 54    PHYSICALHEIGHT
5840: 20 20 3d 20 31 31 31 2c 0a 20 20 20 20 50 48 59    = 111,.    PHY
5850: 53 49 43 41 4c 4f 46 46 53 45 54 58 20 3d 20 31  SICALOFFSETX = 1
5860: 31 32 2c 0a 20 20 20 20 50 48 59 53 49 43 41 4c  12,.    PHYSICAL
5870: 4f 46 46 53 45 54 59 20 3d 20 31 31 33 2c 0a 20  OFFSETY = 113,. 
5880: 20 20 20 53 43 41 4c 49 4e 47 46 41 43 54 4f 52     SCALINGFACTOR
5890: 58 20 20 3d 20 31 31 34 2c 0a 20 20 20 20 53 43  X  = 114,.    SC
58a0: 41 4c 49 4e 47 46 41 43 54 4f 52 59 20 20 3d 20  ALINGFACTORY  = 
58b0: 31 31 35 2c 0a 20 20 20 20 56 52 45 46 52 45 53  115,.    VREFRES
58c0: 48 20 20 20 20 20 20 20 20 3d 20 31 31 36 2c 0a  H        = 116,.
58d0: 20 20 20 20 44 45 53 4b 54 4f 50 56 45 52 54 52      DESKTOPVERTR
58e0: 45 53 20 20 3d 20 31 31 37 2c 0a 20 20 20 20 44  ES  = 117,.    D
58f0: 45 53 4b 54 4f 50 48 4f 52 5a 52 45 53 20 20 3d  ESKTOPHORZRES  =
5900: 20 31 31 38 2c 0a 20 20 20 20 42 4c 54 41 4c 49   118,.    BLTALI
5910: 47 4e 4d 45 4e 54 20 20 20 20 3d 20 31 31 39 0a  GNMENT    = 119.
5920: 7d 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49  }.static..if (WI
5930: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0a  NVER >= 0x0500).
5940: 7b 0a 20 20 20 20 69 6e 74 0a 20 20 20 20 53 48  {.    int.    SH
5950: 41 44 45 42 4c 45 4e 44 43 41 50 53 20 3d 20 31  ADEBLENDCAPS = 1
5960: 32 30 2c 0a 20 20 20 20 43 4f 4c 4f 52 4d 47 4d  20,.    COLORMGM
5970: 54 43 41 50 53 20 20 3d 20 31 32 31 3b 0a 7d 0a  TCAPS  = 121;.}.
5980: 0a 2f 2f 20 52 65 74 75 72 6e 20 76 61 6c 75 65  .// Return value
5990: 73 20 66 6f 72 20 47 65 74 44 65 76 69 63 65 43  s for GetDeviceC
59a0: 61 70 73 28 64 63 2c 20 54 45 43 48 4e 4f 4c 4f  aps(dc, TECHNOLO
59b0: 47 59 29 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b  GY).enum : int {
59c0: 0a 20 20 20 20 44 54 5f 50 4c 4f 54 54 45 52 20  .    DT_PLOTTER 
59d0: 3d 20 30 2c 0a 20 20 20 20 44 54 5f 52 41 53 44  = 0,.    DT_RASD
59e0: 49 53 50 4c 41 59 2c 0a 20 20 20 20 44 54 5f 52  ISPLAY,.    DT_R
59f0: 41 53 50 52 49 4e 54 45 52 2c 0a 20 20 20 20 44  ASPRINTER,.    D
5a00: 54 5f 52 41 53 43 41 4d 45 52 41 2c 0a 20 20 20  T_RASCAMERA,.   
5a10: 20 44 54 5f 43 48 41 52 53 54 52 45 41 4d 2c 0a   DT_CHARSTREAM,.
5a20: 20 20 20 20 44 54 5f 4d 45 54 41 46 49 4c 45 2c      DT_METAFILE,
5a30: 0a 20 20 20 20 44 54 5f 44 49 53 50 46 49 4c 45  .    DT_DISPFILE
5a40: 20 20 20 20 20 2f 2f 20 3d 20 36 0a 7d 0a 0a 2f       // = 6.}../
5a50: 2f 20 52 65 74 75 72 6e 20 76 61 6c 75 65 73 20  / Return values 
5a60: 66 6f 72 20 47 65 74 44 65 76 69 63 65 43 61 70  for GetDeviceCap
5a70: 73 28 64 63 2c 20 52 41 53 54 45 52 43 41 50 53  s(dc, RASTERCAPS
5a80: 29 0a 63 6f 6e 73 74 20 69 6e 74 0a 52 43 5f 4e  ).const int.RC_N
5a90: 4f 4e 45 20 20 20 20 20 20 20 20 20 3d 20 30 2c  ONE         = 0,
5aa0: 0a 52 43 5f 42 49 54 42 4c 54 20 20 20 20 20 20  .RC_BITBLT      
5ab0: 20 3d 20 31 2c 0a 52 43 5f 42 41 4e 44 49 4e 47   = 1,.RC_BANDING
5ac0: 20 20 20 20 20 20 3d 20 32 2c 0a 52 43 5f 53 43        = 2,.RC_SC
5ad0: 41 4c 49 4e 47 20 20 20 20 20 20 3d 20 34 2c 0a  ALING      = 4,.
5ae0: 52 43 5f 42 49 54 4d 41 50 36 34 20 20 20 20 20  RC_BITMAP64     
5af0: 3d 20 38 2c 0a 52 43 5f 47 44 49 32 30 5f 4f 55  = 8,.RC_GDI20_OU
5b00: 54 50 55 54 20 3d 20 31 36 2c 0a 52 43 5f 47 44  TPUT = 16,.RC_GD
5b10: 49 32 30 5f 53 54 41 54 45 20 20 3d 20 33 32 2c  I20_STATE  = 32,
5b20: 0a 52 43 5f 53 41 56 45 42 49 54 4d 41 50 20 20  .RC_SAVEBITMAP  
5b30: 20 3d 20 36 34 2c 0a 52 43 5f 44 49 5f 42 49 54   = 64,.RC_DI_BIT
5b40: 4d 41 50 20 20 20 20 3d 20 31 32 38 2c 0a 52 43  MAP    = 128,.RC
5b50: 5f 50 41 4c 45 54 54 45 20 20 20 20 20 20 3d 20  _PALETTE      = 
5b60: 32 35 36 2c 0a 52 43 5f 44 49 42 54 4f 44 45 56  256,.RC_DIBTODEV
5b70: 20 20 20 20 20 3d 20 35 31 32 2c 0a 52 43 5f 42       = 512,.RC_B
5b80: 49 47 46 4f 4e 54 20 20 20 20 20 20 3d 20 31 30  IGFONT      = 10
5b90: 32 34 2c 0a 52 43 5f 53 54 52 45 54 43 48 42 4c  24,.RC_STRETCHBL
5ba0: 54 20 20 20 3d 20 32 30 34 38 2c 0a 52 43 5f 46  T   = 2048,.RC_F
5bb0: 4c 4f 4f 44 46 49 4c 4c 20 20 20 20 3d 20 34 30  LOODFILL    = 40
5bc0: 39 36 2c 0a 52 43 5f 53 54 52 45 54 43 48 44 49  96,.RC_STRETCHDI
5bd0: 42 20 20 20 3d 20 38 31 39 32 2c 0a 52 43 5f 4f  B   = 8192,.RC_O
5be0: 50 5f 44 58 5f 4f 55 54 50 55 54 20 3d 20 30 78  P_DX_OUTPUT = 0x
5bf0: 34 30 30 30 2c 0a 52 43 5f 44 45 56 42 49 54 53  4000,.RC_DEVBITS
5c00: 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 3b 0a        = 0x8000;.
5c10: 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49 4e  .static..if (WIN
5c20: 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0a 7b  VER >= 0x0500).{
5c30: 0a 20 20 20 20 2f 2a 20 53 68 61 64 69 6e 67 20  .    /* Shading 
5c40: 61 6e 64 20 62 6c 65 6e 64 69 6e 67 20 63 61 70  and blending cap
5c50: 73 20 2a 2f 0a 20 20 20 20 63 6f 6e 73 74 20 53  s */.    const S
5c60: 42 5f 4e 4f 4e 45 20 20 20 20 20 20 20 20 20 20  B_NONE          
5c70: 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a 20 20  = 0x00000000;.  
5c80: 20 20 63 6f 6e 73 74 20 53 42 5f 43 4f 4e 53 54    const SB_CONST
5c90: 5f 41 4c 50 48 41 20 20 20 3d 20 30 78 30 30 30  _ALPHA   = 0x000
5ca0: 30 30 30 30 31 3b 0a 20 20 20 20 63 6f 6e 73 74  00001;.    const
5cb0: 20 53 42 5f 50 49 58 45 4c 5f 41 4c 50 48 41 20   SB_PIXEL_ALPHA 
5cc0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a    = 0x00000002;.
5cd0: 20 20 20 20 63 6f 6e 73 74 20 53 42 5f 50 52 45      const SB_PRE
5ce0: 4d 55 4c 54 5f 41 4c 50 48 41 20 3d 20 30 78 30  MULT_ALPHA = 0x0
5cf0: 30 30 30 30 30 30 34 3b 0a 20 20 20 20 63 6f 6e  0000004;.    con
5d00: 73 74 20 53 42 5f 47 52 41 44 5f 52 45 43 54 20  st SB_GRAD_RECT 
5d10: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30      = 0x00000010
5d20: 3b 0a 20 20 20 20 63 6f 6e 73 74 20 53 42 5f 47  ;.    const SB_G
5d30: 52 41 44 5f 54 52 49 20 20 20 20 20 20 3d 20 30  RAD_TRI      = 0
5d40: 78 30 30 30 30 30 30 32 30 3b 0a 0a 20 20 20 20  x00000020;..    
5d50: 2f 2a 20 43 6f 6c 6f 72 20 4d 61 6e 61 67 65 6d  /* Color Managem
5d60: 65 6e 74 20 63 61 70 73 20 2a 2f 0a 20 20 20 20  ent caps */.    
5d70: 63 6f 6e 73 74 20 43 4d 5f 4e 4f 4e 45 20 20 20  const CM_NONE   
5d80: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30      = 0x00000000
5d90: 3b 0a 20 20 20 20 63 6f 6e 73 74 20 43 4d 5f 44  ;.    const CM_D
5da0: 45 56 49 43 45 5f 49 43 4d 20 3d 20 30 78 30 30  EVICE_ICM = 0x00
5db0: 30 30 30 30 30 31 3b 0a 20 20 20 20 63 6f 6e 73  000001;.    cons
5dc0: 74 20 43 4d 5f 47 41 4d 4d 41 5f 52 41 4d 50 20  t CM_GAMMA_RAMP 
5dd0: 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 20 20  = 0x00000002;.  
5de0: 20 20 63 6f 6e 73 74 20 43 4d 5f 43 4d 59 4b 5f    const CM_CMYK_
5df0: 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30  COLOR = 0x000000
5e00: 30 34 3b 0a 7d 0a 0a 2f 2f 20 52 65 74 75 72 6e  04;.}..// Return
5e10: 20 76 61 6c 75 65 73 20 66 6f 72 20 47 65 74 44   values for GetD
5e20: 65 76 69 63 65 43 61 70 73 28 64 63 2c 20 43 55  eviceCaps(dc, CU
5e30: 52 56 45 43 41 50 53 29 0a 63 6f 6e 73 74 20 69  RVECAPS).const i
5e40: 6e 74 0a 43 43 5f 4e 4f 4e 45 20 20 20 20 20 20  nt.CC_NONE      
5e50: 20 3d 20 30 2c 0a 43 43 5f 43 49 52 43 4c 45 53   = 0,.CC_CIRCLES
5e60: 20 20 20 20 3d 20 31 2c 0a 43 43 5f 50 49 45 20      = 1,.CC_PIE 
5e70: 20 20 20 20 20 20 20 3d 20 32 2c 0a 43 43 5f 43         = 2,.CC_C
5e80: 48 4f 52 44 20 20 20 20 20 20 3d 20 34 2c 0a 43  HORD      = 4,.C
5e90: 43 5f 45 4c 4c 49 50 53 45 53 20 20 20 3d 20 38  C_ELLIPSES   = 8
5ea0: 2c 0a 43 43 5f 57 49 44 45 20 20 20 20 20 20 20  ,.CC_WIDE       
5eb0: 3d 20 31 36 2c 0a 43 43 5f 53 54 59 4c 45 44 20  = 16,.CC_STYLED 
5ec0: 20 20 20 20 3d 20 33 32 2c 0a 43 43 5f 57 49 44      = 32,.CC_WID
5ed0: 45 53 54 59 4c 45 44 20 3d 20 36 34 2c 0a 43 43  ESTYLED = 64,.CC
5ee0: 5f 49 4e 54 45 52 49 4f 52 53 20 20 3d 20 31 32  _INTERIORS  = 12
5ef0: 38 2c 0a 43 43 5f 52 4f 55 4e 44 52 45 43 54 20  8,.CC_ROUNDRECT 
5f00: 20 3d 20 32 35 36 3b 0a 0a 2f 2f 20 52 65 74 75   = 256;..// Retu
5f10: 72 6e 20 76 61 6c 75 65 73 20 66 6f 72 20 47 65  rn values for Ge
5f20: 74 44 65 76 69 63 65 43 61 70 73 28 64 63 2c 20  tDeviceCaps(dc, 
5f30: 4c 49 4e 45 43 41 50 53 29 0a 0a 63 6f 6e 73 74  LINECAPS)..const
5f40: 20 69 6e 74 0a 4c 43 5f 4e 4f 4e 45 20 20 20 20   int.LC_NONE    
5f50: 20 20 20 3d 20 30 2c 0a 4c 43 5f 50 4f 4c 59 4c     = 0,.LC_POLYL
5f60: 49 4e 45 20 20 20 3d 20 32 2c 0a 4c 43 5f 4d 41  INE   = 2,.LC_MA
5f70: 52 4b 45 52 20 20 20 20 20 3d 20 34 2c 0a 4c 43  RKER     = 4,.LC
5f80: 5f 50 4f 4c 59 4d 41 52 4b 45 52 20 3d 20 38 2c  _POLYMARKER = 8,
5f90: 0a 4c 43 5f 57 49 44 45 20 20 20 20 20 20 20 3d  .LC_WIDE       =
5fa0: 20 31 36 2c 0a 4c 43 5f 53 54 59 4c 45 44 20 20   16,.LC_STYLED  
5fb0: 20 20 20 3d 20 33 32 2c 0a 4c 43 5f 57 49 44 45     = 32,.LC_WIDE
5fc0: 53 54 59 4c 45 44 20 3d 20 36 34 2c 0a 4c 43 5f  STYLED = 64,.LC_
5fd0: 49 4e 54 45 52 49 4f 52 53 20 20 3d 20 31 32 38  INTERIORS  = 128
5fe0: 3b 0a 0a 2f 2f 20 52 65 74 75 72 6e 20 76 61 6c  ;..// Return val
5ff0: 75 65 73 20 66 6f 72 20 47 65 74 44 65 76 69 63  ues for GetDevic
6000: 65 43 61 70 73 28 64 63 2c 20 50 4f 4c 59 47 4f  eCaps(dc, POLYGO
6010: 4e 41 4c 43 41 50 53 29 0a 0a 63 6f 6e 73 74 20  NALCAPS)..const 
6020: 69 6e 74 0a 50 43 5f 4e 4f 4e 45 20 20 20 20 20  int.PC_NONE     
6030: 20 20 20 3d 20 30 2c 0a 50 43 5f 50 4f 4c 59 47     = 0,.PC_POLYG
6040: 4f 4e 20 20 20 20 20 3d 20 31 2c 0a 50 43 5f 52  ON     = 1,.PC_R
6050: 45 43 54 41 4e 47 4c 45 20 20 20 3d 20 32 2c 0a  ECTANGLE   = 2,.
6060: 50 43 5f 57 49 4e 44 50 4f 4c 59 47 4f 4e 20 3d  PC_WINDPOLYGON =
6070: 20 34 2c 0a 50 43 5f 54 52 41 50 45 5a 4f 49 44   4,.PC_TRAPEZOID
6080: 20 20 20 3d 20 34 2c 0a 50 43 5f 53 43 41 4e 4c     = 4,.PC_SCANL
6090: 49 4e 45 20 20 20 20 3d 20 38 2c 0a 50 43 5f 57  INE    = 8,.PC_W
60a0: 49 44 45 20 20 20 20 20 20 20 20 3d 20 31 36 2c  IDE        = 16,
60b0: 0a 50 43 5f 53 54 59 4c 45 44 20 20 20 20 20 20  .PC_STYLED      
60c0: 3d 20 33 32 2c 0a 50 43 5f 57 49 44 45 53 54 59  = 32,.PC_WIDESTY
60d0: 4c 45 44 20 20 3d 20 36 34 2c 0a 50 43 5f 49 4e  LED  = 64,.PC_IN
60e0: 54 45 52 49 4f 52 53 20 20 20 3d 20 31 32 38 2c  TERIORS   = 128,
60f0: 0a 50 43 5f 50 4f 4c 59 50 4f 4c 59 47 4f 4e 20  .PC_POLYPOLYGON 
6100: 3d 20 32 35 36 2c 0a 50 43 5f 50 41 54 48 53 20  = 256,.PC_PATHS 
6110: 20 20 20 20 20 20 3d 20 35 31 32 3b 0a 0a 2f 2a        = 512;../*
6120: 20 43 6c 69 70 70 69 6e 67 20 43 61 70 61 62 69   Clipping Capabi
6130: 6c 69 74 69 65 73 20 2a 2f 0a 63 6f 6e 73 74 20  lities */.const 
6140: 69 6e 74 20 43 50 5f 4e 4f 4e 45 20 20 20 20 20  int CP_NONE     
6150: 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20   = 0,.          
6160: 43 50 5f 52 45 43 54 41 4e 47 4c 45 20 3d 20 31  CP_RECTANGLE = 1
6170: 2c 0a 20 20 20 20 20 20 20 20 20 20 43 50 5f 52  ,.          CP_R
6180: 45 47 49 4f 4e 20 20 20 20 3d 20 32 3b 0a 0a 2f  EGION    = 2;../
6190: 2f 20 52 65 74 75 72 6e 20 76 61 6c 75 65 73 20  / Return values 
61a0: 66 6f 72 20 47 65 74 44 65 76 69 63 65 43 61 70  for GetDeviceCap
61b0: 73 28 64 63 2c 20 54 45 58 54 43 41 50 53 29 0a  s(dc, TEXTCAPS).
61c0: 0a 63 6f 6e 73 74 20 69 6e 74 0a 54 43 5f 4f 50  .const int.TC_OP
61d0: 5f 43 48 41 52 41 43 54 45 52 20 3d 20 31 2c 0a  _CHARACTER = 1,.
61e0: 54 43 5f 4f 50 5f 53 54 52 4f 4b 45 20 20 20 20  TC_OP_STROKE    
61f0: 3d 20 32 2c 0a 54 43 5f 43 50 5f 53 54 52 4f 4b  = 2,.TC_CP_STROK
6200: 45 20 20 20 20 3d 20 34 2c 0a 54 43 5f 43 52 5f  E    = 4,.TC_CR_
6210: 39 30 20 20 20 20 20 20 20 20 3d 20 38 2c 0a 54  90        = 8,.T
6220: 43 5f 43 52 5f 41 4e 59 20 20 20 20 20 20 20 3d  C_CR_ANY       =
6230: 20 31 36 2c 0a 54 43 5f 53 46 5f 58 5f 59 49 4e   16,.TC_SF_X_YIN
6240: 44 45 50 20 20 3d 20 33 32 2c 0a 54 43 5f 53 41  DEP  = 32,.TC_SA
6250: 5f 44 4f 55 42 4c 45 20 20 20 20 3d 20 36 34 2c  _DOUBLE    = 64,
6260: 0a 54 43 5f 53 41 5f 49 4e 54 45 47 45 52 20 20  .TC_SA_INTEGER  
6270: 20 3d 20 31 32 38 2c 0a 54 43 5f 53 41 5f 43 4f   = 128,.TC_SA_CO
6280: 4e 54 49 4e 20 20 20 20 3d 20 32 35 36 2c 0a 54  NTIN    = 256,.T
6290: 43 5f 45 41 5f 44 4f 55 42 4c 45 20 20 20 20 3d  C_EA_DOUBLE    =
62a0: 20 35 31 32 2c 0a 54 43 5f 49 41 5f 41 42 4c 45   512,.TC_IA_ABLE
62b0: 20 20 20 20 20 20 3d 20 31 30 32 34 2c 0a 54 43        = 1024,.TC
62c0: 5f 55 41 5f 41 42 4c 45 20 20 20 20 20 20 3d 20  _UA_ABLE      = 
62d0: 32 30 34 38 2c 0a 54 43 5f 53 4f 5f 41 42 4c 45  2048,.TC_SO_ABLE
62e0: 20 20 20 20 20 20 3d 20 34 30 39 36 2c 0a 54 43        = 4096,.TC
62f0: 5f 52 41 5f 41 42 4c 45 20 20 20 20 20 20 3d 20  _RA_ABLE      = 
6300: 38 31 39 32 2c 0a 54 43 5f 56 41 5f 41 42 4c 45  8192,.TC_VA_ABLE
6310: 20 20 20 20 20 20 3d 20 31 36 33 38 34 2c 0a 54        = 16384,.T
6320: 43 5f 52 45 53 45 52 56 45 44 20 20 20 20 20 3d  C_RESERVED     =
6330: 20 33 32 37 36 38 2c 0a 54 43 5f 53 43 52 4f 4c   32768,.TC_SCROL
6340: 4c 42 4c 54 20 20 20 20 3d 20 36 35 35 33 36 3b  LBLT    = 65536;
6350: 0a 0a 2f 2f 20 45 6e 64 20 47 65 74 44 65 76 69  ..// End GetDevi
6360: 63 65 43 61 70 73 0a 2f 2f 20 2d 2d 2d 2d 2d 2d  ceCaps.// ------
6370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
6380: 2f 2f 20 47 65 74 43 68 61 72 61 63 74 65 72 50  // GetCharacterP
6390: 6c 61 63 65 6d 65 6e 74 28 29 2c 20 61 6e 64 20  lacement(), and 
63a0: 47 65 74 46 6f 6e 74 4c 61 6e 67 75 61 67 65 49  GetFontLanguageI
63b0: 6e 66 6f 28 29 0a 63 6f 6e 73 74 20 44 57 4f 52  nfo().const DWOR
63c0: 44 0a 47 43 50 5f 44 42 43 53 20 3d 20 31 2c 0a  D.GCP_DBCS = 1,.
63d0: 47 43 50 5f 52 45 4f 52 44 45 52 20 20 20 20 20  GCP_REORDER     
63e0: 20 20 20 20 3d 20 32 2c 0a 47 43 50 5f 55 53 45      = 2,.GCP_USE
63f0: 4b 45 52 4e 49 4e 47 20 20 20 20 20 20 3d 20 38  KERNING      = 8
6400: 2c 0a 47 43 50 5f 47 4c 59 50 48 53 48 41 50 45  ,.GCP_GLYPHSHAPE
6410: 20 20 20 20 20 20 3d 20 31 36 2c 0a 47 43 50 5f        = 16,.GCP_
6420: 4c 49 47 41 54 45 20 20 20 20 20 20 20 20 20 20  LIGATE          
6430: 3d 20 33 32 2c 0a 47 43 50 5f 44 49 41 43 52 49  = 32,.GCP_DIACRI
6440: 54 49 43 20 20 20 20 20 20 20 3d 20 32 35 36 2c  TIC       = 256,
6450: 0a 47 43 50 5f 4b 41 53 48 49 44 41 20 20 20 20  .GCP_KASHIDA    
6460: 20 20 20 20 20 3d 20 31 30 32 34 2c 0a 47 43 50       = 1024,.GCP
6470: 5f 45 52 52 4f 52 20 20 20 20 20 20 20 20 20 20  _ERROR          
6480: 20 3d 20 30 78 38 30 30 30 2c 0a 47 43 50 5f 4a   = 0x8000,.GCP_J
6490: 55 53 54 49 46 59 20 20 20 20 20 20 20 20 20 3d  USTIFY         =
64a0: 20 30 78 31 30 30 30 30 2c 0a 47 43 50 5f 43 4c   0x10000,.GCP_CL
64b0: 41 53 53 49 4e 20 20 20 20 20 20 20 20 20 3d 20  ASSIN         = 
64c0: 30 78 38 30 30 30 30 2c 0a 47 43 50 5f 4d 41 58  0x80000,.GCP_MAX
64d0: 45 58 54 45 4e 54 20 20 20 20 20 20 20 3d 20 30  EXTENT       = 0
64e0: 78 31 30 30 30 30 30 2c 0a 47 43 50 5f 4a 55 53  x100000,.GCP_JUS
64f0: 54 49 46 59 49 4e 20 20 20 20 20 20 20 3d 20 30  TIFYIN       = 0
6500: 78 32 30 30 30 30 30 2c 0a 47 43 50 5f 44 49 53  x200000,.GCP_DIS
6510: 50 4c 41 59 5a 57 47 20 20 20 20 20 20 3d 20 30  PLAYZWG      = 0
6520: 78 34 30 30 30 30 30 2c 0a 47 43 50 5f 53 59 4d  x400000,.GCP_SYM
6530: 53 57 41 50 4f 46 46 20 20 20 20 20 20 3d 20 30  SWAPOFF      = 0
6540: 78 38 30 30 30 30 30 2c 0a 47 43 50 5f 4e 55 4d  x800000,.GCP_NUM
6550: 45 52 49 43 4f 56 45 52 52 49 44 45 20 3d 20 30  ERICOVERRIDE = 0
6560: 78 31 30 30 30 30 30 30 2c 0a 47 43 50 5f 4e 45  x1000000,.GCP_NE
6570: 55 54 52 41 4c 4f 56 45 52 52 49 44 45 20 3d 20  UTRALOVERRIDE = 
6580: 30 78 32 30 30 30 30 30 30 2c 0a 47 43 50 5f 4e  0x2000000,.GCP_N
6590: 55 4d 45 52 49 43 53 4c 41 54 49 4e 20 20 20 3d  UMERICSLATIN   =
65a0: 20 30 78 34 30 30 30 30 30 30 2c 0a 47 43 50 5f   0x4000000,.GCP_
65b0: 4e 55 4d 45 52 49 43 53 4c 4f 43 41 4c 20 20 20  NUMERICSLOCAL   
65c0: 3d 20 30 78 38 30 30 30 30 30 30 2c 0a 0a 2f 2f  = 0x8000000,..//
65d0: 20 4f 6e 6c 79 20 66 6f 72 20 47 65 74 46 6f 6e   Only for GetFon
65e0: 74 4c 61 6e 67 75 61 67 65 49 6e 66 6f 28 29 0a  tLanguageInfo().
65f0: 46 4c 49 5f 47 4c 59 50 48 53 20 3d 20 30 78 34  FLI_GLYPHS = 0x4
6600: 30 30 30 30 2c 0a 46 4c 49 5f 4d 41 53 4b 20 3d  0000,.FLI_MASK =
6610: 20 30 78 31 30 33 62 3b 0a 0a 2f 2f 20 47 65 74   0x103b;..// Get
6620: 47 6c 79 70 68 4f 75 74 6c 69 6e 65 28 29 0a 65  GlyphOutline().e
6630: 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 20 20 20  num : UINT {.   
6640: 20 47 47 4f 5f 4d 45 54 52 49 43 53 20 20 20 20   GGO_METRICS    
6650: 20 20 3d 20 30 2c 0a 20 20 20 20 47 47 4f 5f 42    = 0,.    GGO_B
6660: 49 54 4d 41 50 20 20 20 20 20 20 20 3d 20 31 2c  ITMAP       = 1,
6670: 0a 20 20 20 20 47 47 4f 5f 4e 41 54 49 56 45 20  .    GGO_NATIVE 
6680: 20 20 20 20 20 20 3d 20 32 2c 0a 20 20 20 20 47        = 2,.    G
6690: 47 4f 5f 42 45 5a 49 45 52 20 20 20 20 20 20 20  GO_BEZIER       
66a0: 3d 20 33 2c 0a 20 20 20 20 47 47 4f 5f 47 52 41  = 3,.    GGO_GRA
66b0: 59 32 5f 42 49 54 4d 41 50 20 3d 20 34 2c 0a 20  Y2_BITMAP = 4,. 
66c0: 20 20 20 47 47 4f 5f 47 52 41 59 34 5f 42 49 54     GGO_GRAY4_BIT
66d0: 4d 41 50 20 3d 20 35 2c 0a 20 20 20 20 47 47 4f  MAP = 5,.    GGO
66e0: 5f 47 52 41 59 38 5f 42 49 54 4d 41 50 20 3d 20  _GRAY8_BITMAP = 
66f0: 36 2c 0a 20 20 20 20 47 47 4f 5f 47 4c 59 50 48  6,.    GGO_GLYPH
6700: 5f 49 4e 44 45 58 20 20 3d 20 31 32 38 2c 0a 20  _INDEX  = 128,. 
6710: 20 20 20 47 47 4f 5f 55 4e 48 49 4e 54 45 44 20     GGO_UNHINTED 
6720: 20 20 20 20 3d 20 32 35 36 0a 7d 0a 0a 65 6e 75      = 256.}..enu
6730: 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20 20 47 4d  m : int {.    GM
6740: 5f 43 4f 4d 50 41 54 49 42 4c 45 20 3d 20 31 2c  _COMPATIBLE = 1,
6750: 0a 20 20 20 20 47 4d 5f 41 44 56 41 4e 43 45 44  .    GM_ADVANCED
6760: 0a 7d 0a 63 6f 6e 73 74 20 47 4d 5f 4c 41 53 54  .}.const GM_LAST
6770: 20 3d 20 47 4d 5f 41 44 56 41 4e 43 45 44 3b 0a   = GM_ADVANCED;.
6780: 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 20 20  .enum : int {.  
6790: 20 20 4d 4d 5f 54 45 58 54 20 3d 20 31 2c 0a 20    MM_TEXT = 1,. 
67a0: 20 20 20 4d 4d 5f 4c 4f 4d 45 54 52 49 43 2c 0a     MM_LOMETRIC,.
67b0: 20 20 20 20 4d 4d 5f 48 49 4d 45 54 52 49 43 2c      MM_HIMETRIC,
67c0: 0a 20 20 20 20 4d 4d 5f 4c 4f 45 4e 47 4c 49 53  .    MM_LOENGLIS
67d0: 48 2c 0a 20 20 20 20 4d 4d 5f 48 49 45 4e 47 4c  H,.    MM_HIENGL
67e0: 49 53 48 2c 0a 20 20 20 20 4d 4d 5f 54 57 49 50  ISH,.    MM_TWIP
67f0: 53 2c 0a 20 20 20 20 4d 4d 5f 49 53 4f 54 52 4f  S,.    MM_ISOTRO
6800: 50 49 43 2c 0a 20 20 20 20 4d 4d 5f 41 4e 49 53  PIC,.    MM_ANIS
6810: 4f 54 52 4f 50 49 43 2c 0a 7d 0a 0a 63 6f 6e 73  OTROPIC,.}..cons
6820: 74 20 69 6e 74 0a 4d 4d 5f 4d 49 4e 20 3d 20 4d  t int.MM_MIN = M
6830: 4d 5f 54 45 58 54 2c 0a 4d 4d 5f 4d 41 58 20 3d  M_TEXT,.MM_MAX =
6840: 20 4d 4d 5f 41 4e 49 53 4f 54 52 4f 50 49 43 2c   MM_ANISOTROPIC,
6850: 0a 4d 4d 5f 4d 41 58 5f 46 49 58 45 44 53 43 41  .MM_MAX_FIXEDSCA
6860: 4c 45 20 3d 20 4d 4d 5f 54 57 49 50 53 3b 0a 0a  LE = MM_TWIPS;..
6870: 63 6f 6e 73 74 20 41 42 53 4f 4c 55 54 45 20 3d  const ABSOLUTE =
6880: 20 31 3b 0a 63 6f 6e 73 74 20 52 45 4c 41 54 49   1;.const RELATI
6890: 56 45 20 3d 20 32 3b 0a 0a 65 6e 75 6d 20 3a 20  VE = 2;..enum : 
68a0: 42 59 54 45 20 7b 0a 20 20 20 20 50 43 5f 52 45  BYTE {.    PC_RE
68b0: 53 45 52 56 45 44 20 20 20 3d 20 31 2c 0a 20 20  SERVED   = 1,.  
68c0: 20 20 50 43 5f 45 58 50 4c 49 43 49 54 20 20 20    PC_EXPLICIT   
68d0: 3d 20 32 2c 0a 20 20 20 20 50 43 5f 4e 4f 43 4f  = 2,.    PC_NOCO
68e0: 4c 4c 41 50 53 45 20 3d 20 34 0a 7d 0a 0a 2f 2a  LLAPSE = 4.}../*
68f0: 20 46 49 58 4d 45 3a 20 6d 6f 76 65 20 74 6f 20   FIXME: move to 
6900: 77 69 6e 33 32 2e 63 6f 6d 6d 63 74 72 6c 20 3f  win32.commctrl ?
6910: 20 2a 2f 0a 0a 2f 2f 20 49 6d 61 67 65 4c 69 73   */..// ImageLis
6920: 74 0a 63 6f 6e 73 74 20 43 4f 4c 4f 52 52 45 46  t.const COLORREF
6930: 0a 43 4c 52 5f 4e 4f 4e 45 20 20 20 20 3d 20 30  .CLR_NONE    = 0
6940: 78 66 66 66 66 66 66 66 66 2c 0a 43 4c 52 5f 49  xffffffff,.CLR_I
6950: 4e 56 41 4c 49 44 20 3d 20 43 4c 52 5f 4e 4f 4e  NVALID = CLR_NON
6960: 45 2c 0a 43 4c 52 5f 44 45 46 41 55 4c 54 20 3d  E,.CLR_DEFAULT =
6970: 20 30 78 66 66 30 30 30 30 30 30 3b 0a 0a 2f 2f   0xff000000;..//
6980: 20 52 41 53 54 45 52 49 5a 45 52 5f 53 54 41 54   RASTERIZER_STAT
6990: 55 53 2e 77 46 6c 61 67 73 0a 63 6f 6e 73 74 20  US.wFlags.const 
69a0: 73 68 6f 72 74 0a 54 54 5f 41 56 41 49 4c 41 42  short.TT_AVAILAB
69b0: 4c 45 20 3d 20 31 2c 0a 54 54 5f 45 4e 41 42 4c  LE = 1,.TT_ENABL
69c0: 45 44 20 20 20 3d 20 32 3b 0a 0a 2f 2f 20 47 65  ED   = 2;..// Ge
69d0: 74 53 74 6f 63 6b 4f 62 6a 65 63 74 28 29 0a 65  tStockObject().e
69e0: 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20 20  num : int {.    
69f0: 57 48 49 54 45 5f 42 52 55 53 48 20 3d 20 30 2c  WHITE_BRUSH = 0,
6a00: 0a 20 20 20 20 4c 54 47 52 41 59 5f 42 52 55 53  .    LTGRAY_BRUS
6a10: 48 2c 0a 20 20 20 20 47 52 41 59 5f 42 52 55 53  H,.    GRAY_BRUS
6a20: 48 2c 0a 20 20 20 20 44 4b 47 52 41 59 5f 42 52  H,.    DKGRAY_BR
6a30: 55 53 48 2c 0a 20 20 20 20 42 4c 41 43 4b 5f 42  USH,.    BLACK_B
6a40: 52 55 53 48 2c 0a 20 20 20 20 48 4f 4c 4c 4f 57  RUSH,.    HOLLOW
6a50: 5f 42 52 55 53 48 2c 20 20 20 20 20 2f 2f 20 3d  _BRUSH,     // =
6a60: 20 35 0a 20 20 20 20 4e 55 4c 4c 5f 42 52 55 53   5.    NULL_BRUS
6a70: 48 20 3d 20 48 4f 4c 4c 4f 57 5f 42 52 55 53 48  H = HOLLOW_BRUSH
6a80: 2c 0a 20 20 20 20 57 48 49 54 45 5f 50 45 4e 20  ,.    WHITE_PEN 
6a90: 20 3d 20 36 2c 0a 20 20 20 20 42 4c 41 43 4b 5f   = 6,.    BLACK_
6aa0: 50 45 4e 2c 0a 20 20 20 20 4e 55 4c 4c 5f 50 45  PEN,.    NULL_PE
6ab0: 4e 2c 20 20 20 20 20 2f 2f 20 3d 20 38 0a 20 20  N,     // = 8.  
6ac0: 20 20 4f 45 4d 5f 46 49 58 45 44 5f 46 4f 4e 54    OEM_FIXED_FONT
6ad0: 20 3d 20 31 30 2c 0a 20 20 20 20 41 4e 53 49 5f   = 10,.    ANSI_
6ae0: 46 49 58 45 44 5f 46 4f 4e 54 2c 0a 20 20 20 20  FIXED_FONT,.    
6af0: 41 4e 53 49 5f 56 41 52 5f 46 4f 4e 54 2c 0a 20  ANSI_VAR_FONT,. 
6b00: 20 20 20 53 59 53 54 45 4d 5f 46 4f 4e 54 2c 0a     SYSTEM_FONT,.
6b10: 20 20 20 20 44 45 56 49 43 45 5f 44 45 46 41 55      DEVICE_DEFAU
6b20: 4c 54 5f 46 4f 4e 54 2c 0a 20 20 20 20 44 45 46  LT_FONT,.    DEF
6b30: 41 55 4c 54 5f 50 41 4c 45 54 54 45 2c 0a 20 20  AULT_PALETTE,.  
6b40: 20 20 53 59 53 54 45 4d 5f 46 49 58 45 44 5f 46    SYSTEM_FIXED_F
6b50: 4f 4e 54 2c 0a 7d 0a 73 74 61 74 69 63 0a 0a 69  ONT,.}.static..i
6b60: 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  f (WINVER >= 0x0
6b70: 34 30 30 29 0a 7b 0a 20 20 20 20 65 6e 75 6d 20  400).{.    enum 
6b80: 3a 20 69 6e 74 20 7b 0a 20 20 20 20 20 20 20 20  : int {.        
6b90: 44 45 46 41 55 4c 54 5f 47 55 49 5f 46 4f 4e 54  DEFAULT_GUI_FONT
6ba0: 20 3d 20 53 59 53 54 45 4d 5f 46 49 58 45 44 5f   = SYSTEM_FIXED_
6bb0: 46 4f 4e 54 20 2b 20 31 2c 0a 20 20 20 20 7d 0a  FONT + 1,.    }.
6bc0: 7d 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 5f  }..static..if (_
6bd0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
6be0: 78 30 35 30 30 29 0a 7b 0a 20 20 20 20 65 6e 75  x0500).{.    enu
6bf0: 6d 20 3a 20 69 6e 74 20 7b 0a 20 20 20 20 20 20  m : int {.      
6c00: 20 20 44 43 5f 42 52 55 53 48 20 3d 20 44 45 46    DC_BRUSH = DEF
6c10: 41 55 4c 54 5f 47 55 49 5f 46 4f 4e 54 20 2b 20  AULT_GUI_FONT + 
6c20: 31 2c 0a 20 20 20 20 20 20 20 20 44 43 5f 50 45  1,.        DC_PE
6c30: 4e 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 73 74 61 74  N,.    }.}..stat
6c40: 69 63 0a 0a 69 66 20 28 5f 57 49 4e 33 32 5f 57  ic..if (_WIN32_W
6c50: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0a  INNT >= 0x0500).
6c60: 7b 0a 20 20 20 20 63 6f 6e 73 74 20 53 54 4f 43  {.    const STOC
6c70: 4b 5f 4c 41 53 54 20 3d 20 44 43 5f 50 45 4e 3b  K_LAST = DC_PEN;
6c80: 0a 7d 0a 65 6c 73 65 20 73 74 61 74 69 63 0a 0a  .}.else static..
6c90: 20 20 20 20 69 66 20 28 57 49 4e 56 45 52 20 3e      if (WINVER >
6ca0: 3d 20 30 78 30 34 30 30 29 0a 20 20 20 20 7b 0a  = 0x0400).    {.
6cb0: 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 54          const ST
6cc0: 4f 43 4b 5f 4c 41 53 54 20 3d 20 44 45 46 41 55  OCK_LAST = DEFAU
6cd0: 4c 54 5f 47 55 49 5f 46 4f 4e 54 3b 0a 20 20 20  LT_GUI_FONT;.   
6ce0: 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20   }.    else.    
6cf0: 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20  {.        const 
6d00: 53 54 4f 43 4b 5f 4c 41 53 54 20 3d 20 53 59 53  STOCK_LAST = SYS
6d10: 54 45 4d 5f 46 49 58 45 44 5f 46 4f 4e 54 3b 0a  TEM_FIXED_FONT;.
6d20: 20 20 20 20 7d 0a 0a 2f 2f 20 47 65 74 2f 53 65      }..// Get/Se
6d30: 74 53 79 73 74 65 6d 50 61 6c 65 74 74 65 55 73  tSystemPaletteUs
6d40: 65 28 29 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20  e().enum : UINT 
6d50: 7b 0a 20 20 20 20 53 59 53 50 41 4c 5f 45 52 52  {.    SYSPAL_ERR
6d60: 4f 52 20 20 20 20 20 20 20 3d 20 30 2c 0a 20 20  OR       = 0,.  
6d70: 20 20 53 59 53 50 41 4c 5f 53 54 41 54 49 43 20    SYSPAL_STATIC 
6d80: 20 20 20 20 20 3d 20 31 2c 0a 20 20 20 20 53 59       = 1,.    SY
6d90: 53 50 41 4c 5f 4e 4f 53 54 41 54 49 43 20 20 20  SPAL_NOSTATIC   
6da0: 20 3d 20 32 2c 0a 20 20 20 20 53 59 53 50 41 4c   = 2,.    SYSPAL
6db0: 5f 4e 4f 53 54 41 54 49 43 32 35 36 20 3d 20 33  _NOSTATIC256 = 3
6dc0: 2c 0a 7d 0a 0a 2f 2f 20 53 65 74 54 65 78 74 41  ,.}..// SetTextA
6dd0: 6c 69 67 6e 28 29 0a 63 6f 6e 73 74 20 55 49 4e  lign().const UIN
6de0: 54 0a 54 41 5f 54 4f 50 20 20 20 20 20 20 20 20  T.TA_TOP        
6df0: 3d 20 30 2c 0a 54 41 5f 43 45 4e 54 45 52 20 20  = 0,.TA_CENTER  
6e00: 20 20 20 3d 20 36 2c 0a 54 41 5f 42 4f 54 54 4f     = 6,.TA_BOTTO
6e10: 4d 20 20 20 20 20 3d 20 38 2c 0a 54 41 5f 42 41  M     = 8,.TA_BA
6e20: 53 45 4c 49 4e 45 20 20 20 3d 20 32 34 2c 0a 54  SELINE   = 24,.T
6e30: 41 5f 4c 45 46 54 20 20 20 20 20 20 20 3d 20 30  A_LEFT       = 0
6e40: 2c 0a 54 41 5f 52 49 47 48 54 20 20 20 20 20 20  ,.TA_RIGHT      
6e50: 3d 20 32 2c 0a 54 41 5f 52 54 4c 52 45 41 44 49  = 2,.TA_RTLREADI
6e60: 4e 47 20 3d 20 32 35 36 2c 0a 54 41 5f 4e 4f 55  NG = 256,.TA_NOU
6e70: 50 44 41 54 45 43 50 20 3d 20 30 2c 0a 54 41 5f  PDATECP = 0,.TA_
6e80: 55 50 44 41 54 45 43 50 20 20 20 3d 20 31 2c 0a  UPDATECP   = 1,.
6e90: 54 41 5f 4d 41 53 4b 20 20 20 20 20 20 20 3d 20  TA_MASK       = 
6ea0: 54 41 5f 42 41 53 45 4c 49 4e 45 20 2b 20 54 41  TA_BASELINE + TA
6eb0: 5f 43 45 4e 54 45 52 20 2b 20 54 41 5f 55 50 44  _CENTER + TA_UPD
6ec0: 41 54 45 43 50 20 2b 20 54 41 5f 52 54 4c 52 45  ATECP + TA_RTLRE
6ed0: 41 44 49 4e 47 2c 0a 56 54 41 5f 42 41 53 45 4c  ADING,.VTA_BASEL
6ee0: 49 4e 45 20 20 3d 20 54 41 5f 42 41 53 45 4c 49  INE  = TA_BASELI
6ef0: 4e 45 2c 0a 56 54 41 5f 43 45 4e 54 45 52 20 20  NE,.VTA_CENTER  
6f00: 20 20 3d 20 54 41 5f 43 45 4e 54 45 52 2c 0a 56    = TA_CENTER,.V
6f10: 54 41 5f 4c 45 46 54 20 20 20 20 20 20 3d 20 54  TA_LEFT      = T
6f20: 41 5f 42 4f 54 54 4f 4d 2c 0a 56 54 41 5f 52 49  A_BOTTOM,.VTA_RI
6f30: 47 48 54 20 20 20 20 20 3d 20 54 41 5f 54 4f 50  GHT     = TA_TOP
6f40: 2c 0a 56 54 41 5f 42 4f 54 54 4f 4d 20 20 20 20  ,.VTA_BOTTOM    
6f50: 3d 20 54 41 5f 52 49 47 48 54 2c 0a 56 54 41 5f  = TA_RIGHT,.VTA_
6f60: 54 4f 50 20 20 20 20 20 20 20 3d 20 54 41 5f 4c  TOP       = TA_L
6f70: 45 46 54 3b 0a 0a 2f 2f 20 45 4d 52 4d 4f 44 49  EFT;..// EMRMODI
6f80: 46 59 57 4f 52 4c 44 54 52 41 4e 53 46 4f 52 4d  FYWORLDTRANSFORM
6f90: 2e 69 4d 6f 64 65 0a 65 6e 75 6d 20 3a 20 44 57  .iMode.enum : DW
6fa0: 4f 52 44 20 7b 0a 20 20 20 20 4d 57 54 5f 49 44  ORD {.    MWT_ID
6fb0: 45 4e 54 49 54 59 20 3d 20 31 2c 0a 20 20 20 20  ENTITY = 1,.    
6fc0: 4d 57 54 5f 4c 45 46 54 4d 55 4c 54 49 50 4c 59  MWT_LEFTMULTIPLY
6fd0: 2c 0a 20 20 20 20 4d 57 54 5f 52 49 47 48 54 4d  ,.    MWT_RIGHTM
6fe0: 55 4c 54 49 50 4c 59 0a 7d 0a 0a 63 6f 6e 73 74  ULTIPLY.}..const
6ff0: 20 44 57 4f 52 44 0a 4d 57 54 5f 4d 49 4e 20 3d   DWORD.MWT_MIN =
7000: 20 4d 57 54 5f 49 44 45 4e 54 49 54 59 2c 0a 4d   MWT_IDENTITY,.M
7010: 57 54 5f 4d 41 58 20 3d 20 4d 57 54 5f 52 49 47  WT_MAX = MWT_RIG
7020: 48 54 4d 55 4c 54 49 50 4c 59 3b 0a 0a 65 6e 75  HTMULTIPLY;..enu
7030: 6d 20 7b 0a 20 20 20 20 54 52 41 4e 53 50 41 52  m {.    TRANSPAR
7040: 45 4e 54 20 3d 20 31 2c 0a 20 20 20 20 4f 50 41  ENT = 1,.    OPA
7050: 51 55 45 20 20 20 20 20 20 3d 20 32 0a 7d 0a 0a  QUE      = 2.}..
7060: 2f 2f 20 47 65 74 2f 53 65 74 53 74 72 65 74 63  // Get/SetStretc
7070: 68 4d 6f 64 65 28 29 0a 65 6e 75 6d 20 3a 20 69  hMode().enum : i
7080: 6e 74 20 7b 0a 20 20 20 20 42 4c 41 43 4b 4f 4e  nt {.    BLACKON
7090: 57 48 49 54 45 20 3d 20 31 2c 0a 20 20 20 20 57  WHITE = 1,.    W
70a0: 48 49 54 45 4f 4e 42 4c 41 43 4b 20 3d 20 32 2c  HITEONBLACK = 2,
70b0: 0a 20 20 20 20 43 4f 4c 4f 52 4f 4e 43 4f 4c 4f  .    COLORONCOLO
70c0: 52 20 3d 20 33 2c 0a 20 20 20 20 48 41 4c 46 54  R = 3,.    HALFT
70d0: 4f 4e 45 20 20 20 20 20 3d 20 34 2c 0a 0a 20 20  ONE     = 4,..  
70e0: 20 20 53 54 52 45 54 43 48 5f 41 4e 44 53 43 41    STRETCH_ANDSCA
70f0: 4e 53 20 20 20 20 3d 20 31 2c 0a 20 20 20 20 53  NS    = 1,.    S
7100: 54 52 45 54 43 48 5f 4f 52 53 43 41 4e 53 20 20  TRETCH_ORSCANS  
7110: 20 20 20 3d 20 32 2c 0a 20 20 20 20 53 54 52 45     = 2,.    STRE
7120: 54 43 48 5f 44 45 4c 45 54 45 53 43 41 4e 53 20  TCH_DELETESCANS 
7130: 3d 20 33 2c 0a 20 20 20 20 53 54 52 45 54 43 48  = 3,.    STRETCH
7140: 5f 48 41 4c 46 54 4f 4e 45 20 20 20 20 3d 20 34  _HALFTONE    = 4
7150: 2c 0a 0a 20 20 20 20 4d 41 58 53 54 52 45 54 43  ,..    MAXSTRETC
7160: 48 42 4c 54 4d 4f 44 45 20 3d 20 34 0a 7d 0a 0a  HBLTMODE = 4.}..
7170: 2f 2f 20 54 72 61 6e 73 6c 61 74 65 43 68 61 72  // TranslateChar
7180: 73 65 74 49 6e 66 6f 28 29 0a 65 6e 75 6d 20 3a  setInfo().enum :
7190: 20 44 57 4f 52 44 20 7b 0a 20 20 20 20 54 43 49   DWORD {.    TCI
71a0: 5f 53 52 43 43 48 41 52 53 45 54 20 20 3d 20 31  _SRCCHARSET  = 1
71b0: 2c 0a 20 20 20 20 54 43 49 5f 53 52 43 43 4f 44  ,.    TCI_SRCCOD
71c0: 45 50 41 47 45 20 3d 20 32 2c 0a 20 20 20 20 54  EPAGE = 2,.    T
71d0: 43 49 5f 53 52 43 46 4f 4e 54 53 49 47 20 20 3d  CI_SRCFONTSIG  =
71e0: 20 33 2c 0a 20 20 20 20 54 43 49 5f 53 52 43 4c   3,.    TCI_SRCL
71f0: 4f 43 41 4c 45 20 20 20 3d 20 30 78 31 30 30 30  OCALE   = 0x1000
7200: 2c 0a 7d 0a 0a 2f 2f 20 53 65 74 49 43 4d 4d 6f  ,.}..// SetICMMo
7210: 64 65 28 29 0a 65 6e 75 6d 20 3a 20 69 6e 74 20  de().enum : int 
7220: 7b 0a 20 20 20 20 49 43 4d 5f 4f 46 46 20 20 20  {.    ICM_OFF   
7230: 3d 20 31 2c 0a 20 20 20 20 49 43 4d 5f 4f 4e 20  = 1,.    ICM_ON 
7240: 20 20 20 3d 20 32 2c 0a 20 20 20 20 49 43 4d 5f     = 2,.    ICM_
7250: 51 55 45 52 59 20 3d 20 33 2c 0a 20 20 20 20 49  QUERY = 3,.    I
7260: 43 4d 5f 44 4f 4e 45 5f 4f 55 54 53 49 44 45 44  CM_DONE_OUTSIDED
7270: 43 20 3d 20 34 2c 0a 7d 0a 0a 2f 2f 20 2d 2d 2d  C = 4,.}..// ---
7280: 2d 0a 2f 2f 20 45 73 63 61 70 65 28 29 20 53 70  -.// Escape() Sp
7290: 6f 6f 6c 65 72 20 45 72 72 6f 72 20 43 6f 64 65  ooler Error Code
72a0: 73 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 20  s.enum : int {. 
72b0: 20 20 20 53 50 5f 4e 4f 54 52 45 50 4f 52 54 45     SP_NOTREPORTE
72c0: 44 20 3d 20 30 78 34 30 30 30 2c 0a 20 20 20 20  D = 0x4000,.    
72d0: 53 50 5f 45 52 52 4f 52 20 20 20 20 20 20 20 3d  SP_ERROR       =
72e0: 20 2d 31 2c 0a 20 20 20 20 53 50 5f 41 50 50 41   -1,.    SP_APPA
72f0: 42 4f 52 54 20 20 20 20 3d 20 2d 32 2c 0a 20 20  BORT    = -2,.  
7300: 20 20 53 50 5f 55 53 45 52 41 42 4f 52 54 20 20    SP_USERABORT  
7310: 20 3d 20 2d 33 2c 0a 20 20 20 20 53 50 5f 4f 55   = -3,.    SP_OU
7320: 54 4f 46 44 49 53 4b 20 20 20 3d 20 2d 34 2c 0a  TOFDISK   = -4,.
7330: 20 20 20 20 53 50 5f 4f 55 54 4f 46 4d 45 4d 4f      SP_OUTOFMEMO
7340: 52 59 20 3d 20 2d 35 0a 7d 0a 0a 2f 2f 20 45 73  RY = -5.}..// Es
7350: 63 61 70 65 28 29 2c 20 45 78 74 45 73 63 61 70  cape(), ExtEscap
7360: 65 28 29 0a 2f 2f 20 4d 6f 73 74 20 6f 66 20 74  e().// Most of t
7370: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65  he following are
7380: 20 64 65 70 72 65 63 61 74 65 64 20 28 57 69 6e   deprecated (Win
7390: 31 36 20 6f 6e 6c 79 29 0a 65 6e 75 6d 20 3a 20  16 only).enum : 
73a0: 69 6e 74 20 7b 0a 20 20 20 20 4e 45 57 46 52 41  int {.    NEWFRA
73b0: 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ME              
73c0: 20 20 3d 20 31 2c 0a 20 20 20 20 41 42 4f 52 54    = 1,.    ABORT
73d0: 44 4f 43 20 20 20 20 20 20 20 20 20 20 20 20 20  DOC             
73e0: 20 20 20 3d 20 32 2c 0a 20 20 20 20 4e 45 58 54     = 2,.    NEXT
73f0: 42 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20  BAND            
7400: 20 20 20 20 3d 20 33 2c 0a 20 20 20 20 53 45 54      = 3,.    SET
7410: 43 4f 4c 4f 52 54 41 42 4c 45 20 20 20 20 20 20  COLORTABLE      
7420: 20 20 20 20 20 3d 20 34 2c 0a 20 20 20 20 47 45       = 4,.    GE
7430: 54 43 4f 4c 4f 52 54 41 42 4c 45 20 20 20 20 20  TCOLORTABLE     
7440: 20 20 20 20 20 20 3d 20 35 2c 0a 20 20 20 20 46        = 5,.    F
7450: 4c 55 53 48 4f 55 54 50 55 54 20 20 20 20 20 20  LUSHOUTPUT      
7460: 20 20 20 20 20 20 20 3d 20 36 2c 0a 20 20 20 20         = 6,.    
7470: 44 52 41 46 54 4d 4f 44 45 20 20 20 20 20 20 20  DRAFTMODE       
7480: 20 20 20 20 20 20 20 20 3d 20 37 2c 0a 20 20 20          = 7,.   
7490: 20 51 55 45 52 59 45 53 43 53 55 50 50 4f 52 54   QUERYESCSUPPORT
74a0: 20 20 20 20 20 20 20 20 20 3d 20 38 2c 0a 20 20           = 8,.  
74b0: 20 20 53 45 54 41 42 4f 52 54 50 52 4f 43 20 20    SETABORTPROC  
74c0: 20 20 20 20 20 20 20 20 20 20 3d 20 39 2c 0a 20            = 9,. 
74d0: 20 20 20 53 54 41 52 54 44 4f 43 20 20 20 20 20     STARTDOC     
74e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 30 2c             = 10,
74f0: 0a 20 20 20 20 45 4e 44 44 4f 43 20 20 20 20 20  .    ENDDOC     
7500: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 31               = 1
7510: 31 2c 0a 20 20 20 20 47 45 54 50 48 59 53 50 41  1,.    GETPHYSPA
7520: 47 45 53 49 5a 45 20 20 20 20 20 20 20 20 20 3d  GESIZE         =
7530: 20 31 32 2c 0a 20 20 20 20 47 45 54 50 52 49 4e   12,.    GETPRIN
7540: 54 49 4e 47 4f 46 46 53 45 54 20 20 20 20 20 20  TINGOFFSET      
7550: 20 3d 20 31 33 2c 0a 20 20 20 20 47 45 54 53 43   = 13,.    GETSC
7560: 41 4c 49 4e 47 46 41 43 54 4f 52 20 20 20 20 20  ALINGFACTOR     
7570: 20 20 20 3d 20 31 34 2c 0a 20 20 20 20 4d 46 43     = 14,.    MFC
7580: 4f 4d 4d 45 4e 54 20 20 20 20 20 20 20 20 20 20  OMMENT          
7590: 20 20 20 20 20 3d 20 31 35 2c 0a 20 20 20 20 47       = 15,.    G
75a0: 45 54 50 45 4e 57 49 44 54 48 20 20 20 20 20 20  ETPENWIDTH      
75b0: 20 20 20 20 20 20 20 3d 20 31 36 2c 0a 20 20 20         = 16,.   
75c0: 20 53 45 54 43 4f 50 59 43 4f 55 4e 54 20 20 20   SETCOPYCOUNT   
75d0: 20 20 20 20 20 20 20 20 20 3d 20 31 37 2c 0a 20           = 17,. 
75e0: 20 20 20 53 45 4c 45 43 54 50 41 50 45 52 53 4f     SELECTPAPERSO
75f0: 55 52 43 45 20 20 20 20 20 20 20 3d 20 31 38 2c  URCE       = 18,
7600: 0a 20 20 20 20 44 45 56 49 43 45 44 41 54 41 20  .    DEVICEDATA 
7610: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 31               = 1
7620: 39 2c 0a 20 20 20 20 50 41 53 53 54 48 52 4f 55  9,.    PASSTHROU
7630: 47 48 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  GH             =
7640: 20 31 39 2c 0a 20 20 20 20 47 45 54 54 45 43 48   19,.    GETTECH
7650: 4e 4f 4c 4f 47 59 20 20 20 20 20 20 20 20 20 20  NOLOGY          
7660: 20 3d 20 32 30 2c 0a 20 20 20 20 53 45 54 4c 49   = 20,.    SETLI
7670: 4e 45 43 41 50 20 20 20 20 20 20 20 20 20 20 20  NECAP           
7680: 20 20 20 3d 20 32 31 2c 0a 20 20 20 20 53 45 54     = 21,.    SET
7690: 4c 49 4e 45 4a 4f 49 4e 20 20 20 20 20 20 20 20  LINEJOIN        
76a0: 20 20 20 20 20 3d 20 32 32 2c 0a 20 20 20 20 53       = 22,.    S
76b0: 45 54 4d 49 54 45 52 4c 49 4d 49 54 20 20 20 20  ETMITERLIMIT    
76c0: 20 20 20 20 20 20 20 3d 20 32 33 2c 0a 20 20 20         = 23,.   
76d0: 20 42 41 4e 44 49 4e 46 4f 20 20 20 20 20 20 20   BANDINFO       
76e0: 20 20 20 20 20 20 20 20 20 3d 20 32 34 2c 0a 20           = 24,. 
76f0: 20 20 20 44 52 41 57 50 41 54 54 45 52 4e 52 45     DRAWPATTERNRE
7700: 43 54 20 20 20 20 20 20 20 20 20 3d 20 32 35 2c  CT         = 25,
7710: 0a 20 20 20 20 47 45 54 56 45 43 54 4f 52 50 45  .    GETVECTORPE
7720: 4e 53 49 5a 45 20 20 20 20 20 20 20 20 3d 20 32  NSIZE        = 2
7730: 36 2c 0a 20 20 20 20 47 45 54 56 45 43 54 4f 52  6,.    GETVECTOR
7740: 42 52 55 53 48 53 49 5a 45 20 20 20 20 20 20 3d  BRUSHSIZE      =
7750: 20 32 37 2c 0a 20 20 20 20 45 4e 41 42 4c 45 44   27,.    ENABLED
7760: 55 50 4c 45 58 20 20 20 20 20 20 20 20 20 20 20  UPLEX           
7770: 20 3d 20 32 38 2c 0a 20 20 20 20 47 45 54 53 45   = 28,.    GETSE
7780: 54 50 41 50 45 52 42 49 4e 53 20 20 20 20 20 20  TPAPERBINS      
7790: 20 20 20 3d 20 32 39 2c 0a 20 20 20 20 47 45 54     = 29,.    GET
77a0: 53 45 54 50 52 49 4e 54 4f 52 49 45 4e 54 20 20  SETPRINTORIENT  
77b0: 20 20 20 20 20 3d 20 33 30 2c 0a 20 20 20 20 45       = 30,.    E
77c0: 4e 55 4d 50 41 50 45 52 42 49 4e 53 20 20 20 20  NUMPAPERBINS    
77d0: 20 20 20 20 20 20 20 3d 20 33 31 2c 0a 20 20 20         = 31,.   
77e0: 20 53 45 54 44 49 42 53 43 41 4c 49 4e 47 20 20   SETDIBSCALING  
77f0: 20 20 20 20 20 20 20 20 20 3d 20 33 32 2c 0a 20           = 32,. 
7800: 20 20 20 45 50 53 50 52 49 4e 54 49 4e 47 20 20     EPSPRINTING  
7810: 20 20 20 20 20 20 20 20 20 20 20 3d 20 33 33 2c             = 33,
7820: 0a 20 20 20 20 45 4e 55 4d 50 41 50 45 52 4d 45  .    ENUMPAPERME
7830: 54 52 49 43 53 20 20 20 20 20 20 20 20 3d 20 33  TRICS        = 3
7840: 34 2c 0a 20 20 20 20 47 45 54 53 45 54 50 41 50  4,.    GETSETPAP
7850: 45 52 4d 45 54 52 49 43 53 20 20 20 20 20 20 3d  ERMETRICS      =
7860: 20 33 35 2c 0a 20 20 20 20 50 4f 53 54 53 43 52   35,.    POSTSCR
7870: 49 50 54 5f 44 41 54 41 20 20 20 20 20 20 20 20  IPT_DATA        
7880: 20 3d 20 33 37 2c 0a 20 20 20 20 50 4f 53 54 53   = 37,.    POSTS
7890: 43 52 49 50 54 5f 49 47 4e 4f 52 45 20 20 20 20  CRIPT_IGNORE    
78a0: 20 20 20 3d 20 33 38 2c 0a 20 20 20 20 4d 4f 55     = 38,.    MOU
78b0: 53 45 54 52 41 49 4c 53 20 20 20 20 20 20 20 20  SETRAILS        
78c0: 20 20 20 20 20 3d 20 33 39 2c 0a 20 20 20 20 47       = 39,.    G
78d0: 45 54 44 45 56 49 43 45 55 4e 49 54 53 20 20 20  ETDEVICEUNITS   
78e0: 20 20 20 20 20 20 20 3d 20 34 32 2c 0a 20 20 20         = 42,.   
78f0: 20 47 45 54 45 58 54 45 4e 44 45 44 54 45 58 54   GETEXTENDEDTEXT
7900: 4d 45 54 52 49 43 53 20 20 3d 20 32 35 36 2c 0a  METRICS  = 256,.
7910: 20 20 20 20 47 45 54 45 58 54 45 4e 54 54 41 42      GETEXTENTTAB
7920: 4c 45 20 20 20 20 20 20 20 20 20 20 3d 20 32 35  LE          = 25
7930: 37 2c 0a 20 20 20 20 47 45 54 50 41 49 52 4b 45  7,.    GETPAIRKE
7940: 52 4e 54 41 42 4c 45 20 20 20 20 20 20 20 20 3d  RNTABLE        =
7950: 20 32 35 38 2c 0a 20 20 20 20 47 45 54 54 52 41   258,.    GETTRA
7960: 43 4b 4b 45 52 4e 54 41 42 4c 45 20 20 20 20 20  CKKERNTABLE     
7970: 20 20 3d 20 32 35 39 2c 0a 20 20 20 20 45 58 54    = 259,.    EXT
7980: 54 45 58 54 4f 55 54 20 20 20 20 20 20 20 20 20  TEXTOUT         
7990: 20 20 20 20 20 3d 20 35 31 32 2c 0a 20 20 20 20       = 512,.    
79a0: 47 45 54 46 41 43 45 4e 41 4d 45 20 20 20 20 20  GETFACENAME     
79b0: 20 20 20 20 20 20 20 20 3d 20 35 31 33 2c 0a 20          = 513,. 
79c0: 20 20 20 44 4f 57 4e 4c 4f 41 44 46 41 43 45 20     DOWNLOADFACE 
79d0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 35 31 34             = 514
79e0: 2c 0a 20 20 20 20 45 4e 41 42 4c 45 52 45 4c 41  ,.    ENABLERELA
79f0: 54 49 56 45 57 49 44 54 48 53 20 20 20 20 3d 20  TIVEWIDTHS    = 
7a00: 37 36 38 2c 0a 20 20 20 20 45 4e 41 42 4c 45 50  768,.    ENABLEP
7a10: 41 49 52 4b 45 52 4e 49 4e 47 20 20 20 20 20 20  AIRKERNING      
7a20: 20 3d 20 37 36 39 2c 0a 20 20 20 20 53 45 54 4b   = 769,.    SETK
7a30: 45 52 4e 54 52 41 43 4b 20 20 20 20 20 20 20 20  ERNTRACK        
7a40: 20 20 20 20 3d 20 37 37 30 2c 0a 20 20 20 20 53      = 770,.    S
7a50: 45 54 41 4c 4c 4a 55 53 54 56 41 4c 55 45 53 20  ETALLJUSTVALUES 
7a60: 20 20 20 20 20 20 20 3d 20 37 37 31 2c 0a 20 20         = 771,.  
7a70: 20 20 53 45 54 43 48 41 52 53 45 54 20 20 20 20    SETCHARSET    
7a80: 20 20 20 20 20 20 20 20 20 20 3d 20 37 37 32 2c            = 772,
7a90: 0a 20 20 20 20 53 54 52 45 54 43 48 42 4c 54 20  .    STRETCHBLT 
7aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 32               = 2
7ab0: 30 34 38 2c 0a 20 20 20 20 4d 45 54 41 46 49 4c  048,.    METAFIL
7ac0: 45 5f 44 52 49 56 45 52 20 20 20 20 20 20 20 20  E_DRIVER        
7ad0: 20 3d 20 32 30 34 39 2c 0a 20 20 20 20 47 45 54   = 2049,.    GET
7ae0: 53 45 54 53 43 52 45 45 4e 50 41 52 41 4d 53 20  SETSCREENPARAMS 
7af0: 20 20 20 20 20 3d 20 33 30 37 32 2c 0a 20 20 20       = 3072,.   
7b00: 20 51 55 45 52 59 44 49 42 53 55 50 50 4f 52 54   QUERYDIBSUPPORT
7b10: 20 20 20 20 20 20 20 20 20 3d 20 33 30 37 33 2c           = 3073,
7b20: 0a 20 20 20 20 42 45 47 49 4e 5f 50 41 54 48 20  .    BEGIN_PATH 
7b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 34               = 4
7b40: 30 39 36 2c 0a 20 20 20 20 43 4c 49 50 5f 54 4f  096,.    CLIP_TO
7b50: 5f 50 41 54 48 20 20 20 20 20 20 20 20 20 20 20  _PATH           
7b60: 20 3d 20 34 30 39 37 2c 0a 20 20 20 20 45 4e 44   = 4097,.    END
7b70: 5f 50 41 54 48 20 20 20 20 20 20 20 20 20 20 20  _PATH           
7b80: 20 20 20 20 20 3d 20 34 30 39 38 2c 0a 20 20 20       = 4098,.   
7b90: 20 45 58 54 5f 44 45 56 49 43 45 5f 43 41 50 53   EXT_DEVICE_CAPS
7ba0: 20 20 20 20 20 20 20 20 20 3d 20 34 30 39 39 2c           = 4099,
7bb0: 0a 20 20 20 20 52 45 53 54 4f 52 45 5f 43 54 4d  .    RESTORE_CTM
7bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 34               = 4
7bd0: 31 30 30 2c 0a 20 20 20 20 53 41 56 45 5f 43 54  100,.    SAVE_CT
7be0: 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  M               
7bf0: 20 3d 20 34 31 30 31 2c 0a 20 20 20 20 53 45 54   = 4101,.    SET
7c00: 5f 41 52 43 5f 44 49 52 45 43 54 49 4f 4e 20 20  _ARC_DIRECTION  
7c10: 20 20 20 20 20 3d 20 34 31 30 32 2c 0a 20 20 20       = 4102,.   
7c20: 20 53 45 54 5f 42 41 43 4b 47 52 4f 55 4e 44 5f   SET_BACKGROUND_
7c30: 43 4f 4c 4f 52 20 20 20 20 3d 20 34 31 30 33 2c  COLOR    = 4103,
7c40: 0a 20 20 20 20 53 45 54 5f 50 4f 4c 59 5f 4d 4f  .    SET_POLY_MO
7c50: 44 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 34  DE           = 4
7c60: 31 30 34 2c 0a 20 20 20 20 53 45 54 5f 53 43 52  104,.    SET_SCR
7c70: 45 45 4e 5f 41 4e 47 4c 45 20 20 20 20 20 20 20  EEN_ANGLE       
7c80: 20 3d 20 34 31 30 35 2c 0a 20 20 20 20 53 45 54   = 4105,.    SET
7c90: 5f 53 50 52 45 41 44 20 20 20 20 20 20 20 20 20  _SPREAD         
7ca0: 20 20 20 20 20 3d 20 34 31 30 36 2c 0a 20 20 20       = 4106,.   
7cb0: 20 54 52 41 4e 53 46 4f 52 4d 5f 43 54 4d 20 20   TRANSFORM_CTM  
7cc0: 20 20 20 20 20 20 20 20 20 3d 20 34 31 30 37 2c           = 4107,
7cd0: 0a 20 20 20 20 53 45 54 5f 43 4c 49 50 5f 42 4f  .    SET_CLIP_BO
7ce0: 58 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 34  X            = 4
7cf0: 31 30 38 2c 0a 20 20 20 20 53 45 54 5f 42 4f 55  108,.    SET_BOU
7d00: 4e 44 53 20 20 20 20 20 20 20 20 20 20 20 20 20  NDS             
7d10: 20 3d 20 34 31 30 39 2c 0a 20 20 20 20 53 45 54   = 4109,.    SET
7d20: 5f 4d 49 52 52 4f 52 5f 4d 4f 44 45 20 20 20 20  _MIRROR_MODE    
7d30: 20 20 20 20 20 3d 20 34 31 31 30 2c 0a 20 20 20       = 4110,.   
7d40: 20 4f 50 45 4e 43 48 41 4e 4e 45 4c 20 20 20 20   OPENCHANNEL    
7d50: 20 20 20 20 20 20 20 20 20 3d 20 34 31 31 30 2c           = 4110,
7d60: 0a 20 20 20 20 44 4f 57 4e 4c 4f 41 44 48 45 41  .    DOWNLOADHEA
7d70: 44 45 52 20 20 20 20 20 20 20 20 20 20 3d 20 34  DER          = 4
7d80: 31 31 31 2c 0a 20 20 20 20 43 4c 4f 53 45 43 48  111,.    CLOSECH
7d90: 41 4e 4e 45 4c 20 20 20 20 20 20 20 20 20 20 20  ANNEL           
7da0: 20 3d 20 34 31 31 32 2c 0a 20 20 20 20 50 4f 53   = 4112,.    POS
7db0: 54 53 43 52 49 50 54 5f 50 41 53 53 54 48 52 4f  TSCRIPT_PASSTHRO
7dc0: 55 47 48 20 20 3d 20 34 31 31 35 2c 0a 20 20 20  UGH  = 4115,.   
7dd0: 20 45 4e 43 41 50 53 55 4c 41 54 45 44 5f 50 4f   ENCAPSULATED_PO
7de0: 53 54 53 43 52 49 50 54 20 3d 20 34 31 31 36 2c  STSCRIPT = 4116,
7df0: 0a 20 20 20 20 50 4f 53 54 53 43 52 49 50 54 5f  .    POSTSCRIPT_
7e00: 49 44 45 4e 54 49 46 59 20 20 20 20 20 3d 20 34  IDENTIFY     = 4
7e10: 31 31 37 2c 0a 20 20 20 20 50 4f 53 54 53 43 52  117,.    POSTSCR
7e20: 49 50 54 5f 49 4e 4a 45 43 54 49 4f 4e 20 20 20  IPT_INJECTION   
7e30: 20 3d 20 34 31 31 38 2c 0a 20 20 20 20 43 48 45   = 4118,.    CHE
7e40: 43 4b 4a 50 45 47 46 4f 52 4d 41 54 20 20 20 20  CKJPEGFORMAT    
7e50: 20 20 20 20 20 3d 20 34 31 31 39 2c 0a 20 20 20       = 4119,.   
7e60: 20 43 48 45 43 4b 50 4e 47 46 4f 52 4d 41 54 20   CHECKPNGFORMAT 
7e70: 20 20 20 20 20 20 20 20 20 3d 20 34 31 32 30 2c           = 4120,
7e80: 0a 20 20 20 20 47 45 54 5f 50 53 5f 46 45 41 54  .    GET_PS_FEAT
7e90: 55 52 45 53 45 54 54 49 4e 47 20 20 20 3d 20 34  URESETTING   = 4
7ea0: 31 32 31 2c 0a 20 20 20 20 53 50 43 4c 50 41 53  121,.    SPCLPAS
7eb0: 53 54 48 52 4f 55 47 48 32 20 20 20 20 20 20 20  STHROUGH2       
7ec0: 20 3d 20 34 35 36 38 2c 0a 7d 0a 0a 65 6e 75 6d   = 4568,.}..enum
7ed0: 20 3a 20 69 6e 74 20 7b 0a 20 20 20 20 50 53 49   : int {.    PSI
7ee0: 44 45 4e 54 5f 47 44 49 43 45 4e 54 52 49 43 20  DENT_GDICENTRIC 
7ef0: 3d 20 30 2c 0a 20 20 20 20 50 53 49 44 45 4e 54  = 0,.    PSIDENT
7f00: 5f 50 53 43 45 4e 54 52 49 43 20 20 3d 20 31 2c  _PSCENTRIC  = 1,
7f10: 0a 7d 0a 0a 2f 2a 0a 20 2a 20 48 65 61 64 65 72  .}../*. * Header
7f20: 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 74   structure for t
7f30: 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 20  he input buffer 
7f40: 74 6f 20 50 4f 53 54 53 43 52 49 50 54 5f 49 4e  to POSTSCRIPT_IN
7f50: 4a 45 43 54 49 4f 4e 20 65 73 63 61 70 65 0a 20  JECTION escape. 
7f60: 2a 2f 0a 73 74 72 75 63 74 20 50 53 49 4e 4a 45  */.struct PSINJE
7f70: 43 54 44 41 54 41 0a 7b 0a 20 20 20 20 44 57 4f  CTDATA.{.    DWO
7f80: 52 44 20 44 61 74 61 42 79 74 65 73 3b 0a 20 20  RD DataBytes;.  
7f90: 20 20 57 4f 52 44 20 49 6e 6a 65 63 74 69 6f 6e    WORD Injection
7fa0: 50 6f 69 6e 74 3b 0a 20 20 20 20 57 4f 52 44 20  Point;.    WORD 
7fb0: 50 61 67 65 4e 75 6d 62 65 72 3b 0a 7d 0a 61 6c  PageNumber;.}.al
7fc0: 69 61 73 20 50 53 49 4e 4a 45 43 54 44 41 54 41  ias PSINJECTDATA
7fd0: 2a 50 50 53 49 4e 4a 45 43 54 44 41 54 41 3b 0a  *PPSINJECTDATA;.
7fe0: 0a 2f 2a 20 43 6f 6e 73 74 61 6e 74 73 20 66 6f  ./* Constants fo
7ff0: 72 20 50 53 49 4e 4a 45 43 54 44 41 54 41 2e 49  r PSINJECTDATA.I
8000: 6e 6a 65 63 74 69 6f 6e 50 6f 69 6e 74 20 66 69  njectionPoint fi
8010: 65 6c 64 20 2a 2f 0a 65 6e 75 6d 20 7b 0a 20 20  eld */.enum {.  
8020: 20 20 50 53 49 4e 4a 45 43 54 5f 42 45 47 49 4e    PSINJECT_BEGIN
8030: 53 54 52 45 41 4d 20 20 20 20 20 20 20 20 20 20  STREAM          
8040: 20 3d 20 31 2c 0a 20 20 20 20 50 53 49 4e 4a 45   = 1,.    PSINJE
8050: 43 54 5f 50 53 41 44 4f 42 45 20 20 20 20 20 20  CT_PSADOBE      
8060: 20 20 20 20 20 20 20 20 20 3d 20 32 2c 0a 20 20           = 2,.  
8070: 20 20 50 53 49 4e 4a 45 43 54 5f 50 41 47 45 53    PSINJECT_PAGES
8080: 41 54 45 4e 44 20 20 20 20 20 20 20 20 20 20 20  ATEND           
8090: 20 3d 20 33 2c 0a 20 20 20 20 50 53 49 4e 4a 45   = 3,.    PSINJE
80a0: 43 54 5f 50 41 47 45 53 20 20 20 20 20 20 20 20  CT_PAGES        
80b0: 20 20 20 20 20 20 20 20 20 3d 20 34 2c 0a 20 20           = 4,.  
80c0: 20 20 50 53 49 4e 4a 45 43 54 5f 44 4f 43 4e 45    PSINJECT_DOCNE
80d0: 45 44 45 44 52 45 53 20 20 20 20 20 20 20 20 20  EDEDRES         
80e0: 20 3d 20 35 2c 0a 20 20 20 20 50 53 49 4e 4a 45   = 5,.    PSINJE
80f0: 43 54 5f 44 4f 43 53 55 50 50 4c 49 45 44 52 45  CT_DOCSUPPLIEDRE
8100: 53 20 20 20 20 20 20 20 20 3d 20 36 2c 0a 20 20  S        = 6,.  
8110: 20 20 50 53 49 4e 4a 45 43 54 5f 50 41 47 45 4f    PSINJECT_PAGEO
8120: 52 44 45 52 20 20 20 20 20 20 20 20 20 20 20 20  RDER            
8130: 20 3d 20 37 2c 0a 20 20 20 20 50 53 49 4e 4a 45   = 7,.    PSINJE
8140: 43 54 5f 4f 52 49 45 4e 54 41 54 49 4f 4e 20 20  CT_ORIENTATION  
8150: 20 20 20 20 20 20 20 20 20 3d 20 38 2c 0a 20 20           = 8,.  
8160: 20 20 50 53 49 4e 4a 45 43 54 5f 42 4f 55 4e 44    PSINJECT_BOUND
8170: 49 4e 47 42 4f 58 20 20 20 20 20 20 20 20 20 20  INGBOX          
8180: 20 3d 20 39 2c 0a 20 20 20 20 50 53 49 4e 4a 45   = 9,.    PSINJE
8190: 43 54 5f 44 4f 43 55 4d 45 4e 54 50 52 4f 43 45  CT_DOCUMENTPROCE
81a0: 53 53 43 4f 4c 4f 52 53 20 3d 20 31 30 2c 0a 20  SSCOLORS = 10,. 
81b0: 20 20 20 50 53 49 4e 4a 45 43 54 5f 43 4f 4d 4d     PSINJECT_COMM
81c0: 45 4e 54 53 20 20 20 20 20 20 20 20 20 20 20 20  ENTS            
81d0: 20 20 3d 20 31 31 2c 0a 20 20 20 20 50 53 49 4e    = 11,.    PSIN
81e0: 4a 45 43 54 5f 42 45 47 49 4e 44 45 46 41 55 4c  JECT_BEGINDEFAUL
81f0: 54 53 20 20 20 20 20 20 20 20 20 3d 20 31 32 2c  TS         = 12,
8200: 0a 20 20 20 20 50 53 49 4e 4a 45 43 54 5f 45 4e  .    PSINJECT_EN
8210: 44 44 45 46 41 55 4c 54 53 20 20 20 20 20 20 20  DDEFAULTS       
8220: 20 20 20 20 3d 20 31 33 2c 0a 20 20 20 20 50 53      = 13,.    PS
8230: 49 4e 4a 45 43 54 5f 42 45 47 49 4e 50 52 4f 4c  INJECT_BEGINPROL
8240: 4f 47 20 20 20 20 20 20 20 20 20 20 20 3d 20 31  OG           = 1
8250: 34 2c 0a 20 20 20 20 50 53 49 4e 4a 45 43 54 5f  4,.    PSINJECT_
8260: 45 4e 44 50 52 4f 4c 4f 47 20 20 20 20 20 20 20  ENDPROLOG       
8270: 20 20 20 20 20 20 3d 20 31 35 2c 0a 20 20 20 20        = 15,.    
8280: 50 53 49 4e 4a 45 43 54 5f 42 45 47 49 4e 53 45  PSINJECT_BEGINSE
8290: 54 55 50 20 20 20 20 20 20 20 20 20 20 20 20 3d  TUP            =
82a0: 20 31 36 2c 0a 20 20 20 20 50 53 49 4e 4a 45 43   16,.    PSINJEC
82b0: 54 5f 45 4e 44 53 45 54 55 50 20 20 20 20 20 20  T_ENDSETUP      
82c0: 20 20 20 20 20 20 20 20 3d 20 31 37 2c 0a 20 20          = 17,.  
82d0: 20 20 50 53 49 4e 4a 45 43 54 5f 54 52 41 49 4c    PSINJECT_TRAIL
82e0: 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ER              
82f0: 20 3d 20 31 38 2c 0a 20 20 20 20 50 53 49 4e 4a   = 18,.    PSINJ
8300: 45 43 54 5f 45 4f 46 20 20 20 20 20 20 20 3d 20  ECT_EOF       = 
8310: 31 39 2c 0a 20 20 20 20 50 53 49 4e 4a 45 43 54  19,.    PSINJECT
8320: 5f 45 4e 44 53 54 52 45 41 4d 20 3d 20 32 30 2c  _ENDSTREAM = 20,
8330: 0a 20 20 20 20 50 53 49 4e 4a 45 43 54 5f 44 4f  .    PSINJECT_DO
8340: 43 55 4d 45 4e 54 50 52 4f 43 45 53 53 43 4f 4c  CUMENTPROCESSCOL
8350: 4f 52 53 41 54 45 4e 44 20 3d 20 32 31 2c 0a 0a  ORSATEND = 21,..
8360: 20 20 20 20 50 53 49 4e 4a 45 43 54 5f 50 41 47      PSINJECT_PAG
8370: 45 4e 55 4d 42 45 52 20 20 20 20 20 20 3d 20 31  ENUMBER      = 1
8380: 30 30 2c 0a 20 20 20 20 50 53 49 4e 4a 45 43 54  00,.    PSINJECT
8390: 5f 42 45 47 49 4e 50 41 47 45 53 45 54 55 50 20  _BEGINPAGESETUP 
83a0: 20 3d 20 31 30 31 2c 0a 20 20 20 20 50 53 49 4e   = 101,.    PSIN
83b0: 4a 45 43 54 5f 45 4e 44 50 41 47 45 53 45 54 55  JECT_ENDPAGESETU
83c0: 50 20 20 20 20 3d 20 31 30 32 2c 0a 20 20 20 20  P    = 102,.    
83d0: 50 53 49 4e 4a 45 43 54 5f 50 41 47 45 54 52 41  PSINJECT_PAGETRA
83e0: 49 4c 45 52 20 20 20 20 20 3d 20 31 30 33 2c 0a  ILER     = 103,.
83f0: 20 20 20 20 50 53 49 4e 4a 45 43 54 5f 50 4c 41      PSINJECT_PLA
8400: 54 45 43 4f 4c 4f 52 20 20 20 20 20 20 3d 20 31  TECOLOR      = 1
8410: 30 34 2c 0a 20 20 20 20 50 53 49 4e 4a 45 43 54  04,.    PSINJECT
8420: 5f 53 48 4f 57 50 41 47 45 20 20 20 20 20 20 20  _SHOWPAGE       
8430: 20 3d 20 31 30 35 2c 0a 20 20 20 20 50 53 49 4e   = 105,.    PSIN
8440: 4a 45 43 54 5f 50 41 47 45 42 42 4f 58 20 20 20  JECT_PAGEBBOX   
8450: 20 20 20 20 20 3d 20 31 30 36 2c 0a 20 20 20 20       = 106,.    
8460: 50 53 49 4e 4a 45 43 54 5f 45 4e 44 50 41 47 45  PSINJECT_ENDPAGE
8470: 43 4f 4d 4d 45 4e 54 53 20 3d 20 31 30 37 2c 0a  COMMENTS = 107,.
8480: 0a 20 20 20 20 50 53 49 4e 4a 45 43 54 5f 56 4d  .    PSINJECT_VM
8490: 53 41 56 45 20 20 20 20 3d 20 32 30 30 2c 0a 20  SAVE    = 200,. 
84a0: 20 20 20 50 53 49 4e 4a 45 43 54 5f 56 4d 52 45     PSINJECT_VMRE
84b0: 53 54 4f 52 45 20 3d 20 32 30 31 2c 0a 7d 0a 0a  STORE = 201,.}..
84c0: 2f 2a 20 50 61 72 61 6d 65 74 65 72 20 66 6f 72  /* Parameter for
84d0: 20 47 45 54 5f 50 53 5f 46 45 41 54 55 52 45 53   GET_PS_FEATURES
84e0: 45 54 54 49 4e 47 20 65 73 63 61 70 65 20 2a 2f  ETTING escape */
84f0: 0a 65 6e 75 6d 20 7b 0a 20 20 20 20 46 45 41 54  .enum {.    FEAT
8500: 55 52 45 53 45 54 54 49 4e 47 5f 4e 55 50 20 20  URESETTING_NUP  
8510: 20 20 20 20 20 3d 20 30 2c 0a 20 20 20 20 46 45       = 0,.    FE
8520: 41 54 55 52 45 53 45 54 54 49 4e 47 5f 4f 55 54  ATURESETTING_OUT
8530: 50 55 54 20 20 20 20 3d 20 31 2c 0a 20 20 20 20  PUT    = 1,.    
8540: 46 45 41 54 55 52 45 53 45 54 54 49 4e 47 5f 50  FEATURESETTING_P
8550: 53 4c 45 56 45 4c 20 20 20 3d 20 32 2c 0a 20 20  SLEVEL   = 2,.  
8560: 20 20 46 45 41 54 55 52 45 53 45 54 54 49 4e 47    FEATURESETTING
8570: 5f 43 55 53 54 50 41 50 45 52 20 3d 20 33 2c 0a  _CUSTPAPER = 3,.
8580: 20 20 20 20 46 45 41 54 55 52 45 53 45 54 54 49      FEATURESETTI
8590: 4e 47 5f 4d 49 52 52 4f 52 20 20 20 20 3d 20 34  NG_MIRROR    = 4
85a0: 2c 0a 20 20 20 20 46 45 41 54 55 52 45 53 45 54  ,.    FEATURESET
85b0: 54 49 4e 47 5f 4e 45 47 41 54 49 56 45 20 20 3d  TING_NEGATIVE  =
85c0: 20 35 2c 0a 20 20 20 20 46 45 41 54 55 52 45 53   5,.    FEATURES
85d0: 45 54 54 49 4e 47 5f 50 52 4f 54 4f 43 4f 4c 20  ETTING_PROTOCOL 
85e0: 20 3d 20 36 2c 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a   = 6,.}..enum {.
85f0: 20 20 20 20 46 45 41 54 55 52 45 53 45 54 54 49      FEATURESETTI
8600: 4e 47 5f 50 52 49 56 41 54 45 5f 42 45 47 49 4e  NG_PRIVATE_BEGIN
8610: 20 3d 20 30 78 31 30 30 30 2c 0a 20 20 20 20 46   = 0x1000,.    F
8620: 45 41 54 55 52 45 53 45 54 54 49 4e 47 5f 50 52  EATURESETTING_PR
8630: 49 56 41 54 45 5f 45 4e 44 20 20 20 3d 20 30 78  IVATE_END   = 0x
8640: 31 46 46 46 2c 0a 7d 0a 0a 2f 2a 20 56 61 6c 75  1FFF,.}../* Valu
8650: 65 20 72 65 74 75 72 6e 65 64 20 66 6f 72 20 46  e returned for F
8660: 45 41 54 55 52 45 53 45 54 54 49 4e 47 5f 50 52  EATURESETTING_PR
8670: 4f 54 4f 43 4f 4c 20 2a 2f 0a 63 6f 6e 73 74 20  OTOCOL */.const 
8680: 50 53 50 52 4f 54 4f 43 4f 4c 5f 41 53 43 49 49  PSPROTOCOL_ASCII
8690: 20 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 50 53 50    = 0;.const PSP
86a0: 52 4f 54 4f 43 4f 4c 5f 42 43 50 20 20 20 20 3d  ROTOCOL_BCP    =
86b0: 20 31 3b 0a 63 6f 6e 73 74 20 50 53 50 52 4f 54   1;.const PSPROT
86c0: 4f 43 4f 4c 5f 54 42 43 50 20 20 20 3d 20 32 3b  OCOL_TBCP   = 2;
86d0: 0a 63 6f 6e 73 74 20 50 53 50 52 4f 54 4f 43 4f  .const PSPROTOCO
86e0: 4c 5f 42 49 4e 41 52 59 20 3d 20 33 3b 0a 0a 2f  L_BINARY = 3;../
86f0: 2f 20 2d 2d 2d 2d 0a 0a 63 6f 6e 73 74 20 57 50  / ----..const WP
8700: 41 52 41 4d 20 50 52 5f 4a 4f 42 53 54 41 54 55  ARAM PR_JOBSTATU
8710: 53 20 3d 20 30 3b 0a 0a 2f 2f 20 3f 3f 3f 0a 63  S = 0;..// ???.c
8720: 6f 6e 73 74 20 51 44 49 5f 53 45 54 44 49 42 49  onst QDI_SETDIBI
8730: 54 53 20 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20  TS   = 1;.const 
8740: 51 44 49 5f 47 45 54 44 49 42 49 54 53 20 20 20  QDI_GETDIBITS   
8750: 3d 20 32 3b 0a 63 6f 6e 73 74 20 51 44 49 5f 44  = 2;.const QDI_D
8760: 49 42 54 4f 53 43 52 45 45 4e 20 3d 20 34 3b 0a  IBTOSCREEN = 4;.
8770: 63 6f 6e 73 74 20 51 44 49 5f 53 54 52 45 54 43  const QDI_STRETC
8780: 48 44 49 42 20 20 3d 20 38 3b 0a 0a 63 6f 6e 73  HDIB  = 8;..cons
8790: 74 20 41 53 50 45 43 54 5f 46 49 4c 54 45 52 49  t ASPECT_FILTERI
87a0: 4e 47 20 3d 20 31 3b 0a 0a 2f 2f 20 4c 4f 47 43  NG = 1;..// LOGC
87b0: 4f 4c 4f 52 53 50 41 43 45 2e 6c 63 73 43 53 54  OLORSPACE.lcsCST
87c0: 79 70 65 0a 65 6e 75 6d 20 3a 20 4c 43 53 43 53  ype.enum : LCSCS
87d0: 54 59 50 45 20 7b 0a 20 20 20 20 4c 43 53 5f 43  TYPE {.    LCS_C
87e0: 41 4c 49 42 52 41 54 45 44 5f 52 47 42 20 3d 20  ALIBRATED_RGB = 
87f0: 30 2c 0a 20 20 20 20 4c 43 53 5f 44 45 56 49 43  0,.    LCS_DEVIC
8800: 45 5f 52 47 42 2c 0a 20 20 20 20 4c 43 53 5f 44  E_RGB,.    LCS_D
8810: 45 56 49 43 45 5f 43 4d 59 4b 0a 7d 20 2f 2a 20  EVICE_CMYK.} /* 
8820: 57 68 61 74 20 74 68 69 73 20 66 6f 72 3f 20 2a  What this for? *
8830: 2f 0a 0a 2f 2f 20 4c 4f 47 43 4f 4c 4f 52 53 50  /..// LOGCOLORSP
8840: 41 43 45 2e 6c 63 73 49 6e 74 65 6e 74 0a 65 6e  ACE.lcsIntent.en
8850: 75 6d 20 3a 20 4c 43 53 47 41 4d 55 54 4d 41 54  um : LCSGAMUTMAT
8860: 43 48 20 7b 0a 20 20 20 20 4c 43 53 5f 47 4d 5f  CH {.    LCS_GM_
8870: 42 55 53 49 4e 45 53 53 20 20 20 20 20 20 20 20  BUSINESS        
8880: 20 3d 20 31 2c 0a 20 20 20 20 4c 43 53 5f 47 4d   = 1,.    LCS_GM
8890: 5f 47 52 41 50 48 49 43 53 20 20 20 20 20 20 20  _GRAPHICS       
88a0: 20 20 3d 20 32 2c 0a 20 20 20 20 4c 43 53 5f 47    = 2,.    LCS_G
88b0: 4d 5f 49 4d 41 47 45 53 20 20 20 20 20 20 20 20  M_IMAGES        
88c0: 20 20 20 3d 20 34 2c 0a 20 20 20 20 4c 43 53 5f     = 4,.    LCS_
88d0: 47 4d 5f 41 42 53 5f 43 4f 4c 4f 52 49 4d 45 54  GM_ABS_COLORIMET
88e0: 52 49 43 20 3d 20 38 2c 0a 7d 0a 0a 63 6f 6e 73  RIC = 8,.}..cons
88f0: 74 20 44 57 4f 52 44 0a 52 41 53 54 45 52 5f 46  t DWORD.RASTER_F
8900: 4f 4e 54 54 59 50 45 20 20 20 3d 20 31 2c 0a 44  ONTTYPE   = 1,.D
8910: 45 56 49 43 45 5f 46 4f 4e 54 54 59 50 45 20 20  EVICE_FONTTYPE  
8920: 20 3d 20 32 2c 0a 54 52 55 45 54 59 50 45 5f 46   = 2,.TRUETYPE_F
8930: 4f 4e 54 54 59 50 45 20 3d 20 34 3b 0a 0a 2f 2f  ONTTYPE = 4;..//
8940: 20 2d 2d 2d 0a 2f 2f 20 44 45 56 4d 4f 44 45 20   ---.// DEVMODE 
8950: 73 74 72 75 63 74 0a 0a 2f 2f 20 46 49 58 4d 45  struct..// FIXME
8960: 3a 20 4e 6f 74 20 6e 65 65 64 65 64 20 66 6f 72  : Not needed for
8970: 20 44 20 28 75 73 65 20 2e 6c 65 6e 67 74 68 20   D (use .length 
8980: 69 6e 73 74 65 61 64 29 0a 63 6f 6e 73 74 20 43  instead).const C
8990: 43 48 44 45 56 49 43 45 4e 41 4d 45 20 3d 20 33  CHDEVICENAME = 3
89a0: 32 3b 0a 63 6f 6e 73 74 20 43 43 48 46 4f 52 4d  2;.const CCHFORM
89b0: 4e 41 4d 45 20 20 20 3d 20 33 32 3b 0a 0a 2f 2f  NAME   = 32;..//
89c0: 20 44 45 56 4d 4f 44 45 2e 64 6d 53 70 65 63 56   DEVMODE.dmSpecV
89d0: 65 72 73 69 6f 6e 0a 2f 2f 20 63 75 72 72 65 6e  ersion.// curren
89e0: 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 73 70 65  t version of spe
89f0: 63 69 66 69 63 61 74 69 6f 6e 0a 73 74 61 74 69  cification.stati
8a00: 63 0a 0a 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  c..if (WINVER >=
8a10: 20 30 78 30 35 30 30 20 7c 7c 20 5f 57 49 4e 33   0x0500 || _WIN3
8a20: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30  2_WINNT >= 0x040
8a30: 30 29 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 57  0).{.    const W
8a40: 4f 52 44 20 44 4d 5f 53 50 45 43 56 45 52 53 49  ORD DM_SPECVERSI
8a50: 4f 4e 20 3d 20 30 78 30 34 30 31 3b 0a 7d 0a 65  ON = 0x0401;.}.e
8a60: 6c 73 65 20 73 74 61 74 69 63 0a 0a 20 20 20 20  lse static..    
8a70: 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
8a80: 30 34 30 30 29 0a 20 20 20 20 7b 0a 20 20 20 20  0400).    {.    
8a90: 20 20 20 20 63 6f 6e 73 74 20 57 4f 52 44 20 44      const WORD D
8aa0: 4d 5f 53 50 45 43 56 45 52 53 49 4f 4e 20 3d 20  M_SPECVERSION = 
8ab0: 30 78 30 34 30 30 3b 0a 20 20 20 20 7d 0a 20 20  0x0400;.    }.  
8ac0: 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20    else.    {.   
8ad0: 20 20 20 20 20 63 6f 6e 73 74 20 57 4f 52 44 20       const WORD 
8ae0: 44 4d 5f 53 50 45 43 56 45 52 53 49 4f 4e 20 3d  DM_SPECVERSION =
8af0: 20 30 78 30 33 32 30 3b 0a 20 20 20 20 7d 0a 0a   0x0320;.    }..
8b00: 2f 2f 20 44 45 56 4d 4f 44 45 2e 64 6d 4f 72 69  // DEVMODE.dmOri
8b10: 65 6e 74 61 74 69 6f 6e 0a 65 6e 75 6d 20 3a 20  entation.enum : 
8b20: 73 68 6f 72 74 20 7b 0a 20 20 20 20 44 4d 4f 52  short {.    DMOR
8b30: 49 45 4e 54 5f 50 4f 52 54 52 41 49 54 20 20 3d  IENT_PORTRAIT  =
8b40: 20 31 2c 0a 20 20 20 20 44 4d 4f 52 49 45 4e 54   1,.    DMORIENT
8b50: 5f 4c 41 4e 44 53 43 41 50 45 20 3d 20 32 0a 7d  _LANDSCAPE = 2.}
8b60: 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45 2e 64 6d 50  ..// DEVMODE.dmP
8b70: 61 70 65 72 53 69 7a 65 0a 65 6e 75 6d 20 3a 20  aperSize.enum : 
8b80: 73 68 6f 72 74 20 7b 0a 20 20 20 20 44 4d 50 41  short {.    DMPA
8b90: 50 45 52 5f 4c 45 54 54 45 52 20 3d 20 31 2c 0a  PER_LETTER = 1,.
8ba0: 20 20 20 20 44 4d 50 41 50 45 52 5f 4c 45 54 54      DMPAPER_LETT
8bb0: 45 52 53 4d 41 4c 4c 2c 0a 20 20 20 20 44 4d 50  ERSMALL,.    DMP
8bc0: 41 50 45 52 5f 54 41 42 4c 4f 49 44 2c 0a 20 20  APER_TABLOID,.  
8bd0: 20 20 44 4d 50 41 50 45 52 5f 4c 45 44 47 45 52    DMPAPER_LEDGER
8be0: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 4c 45  ,.    DMPAPER_LE
8bf0: 47 41 4c 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  GAL,.    DMPAPER
8c00: 5f 53 54 41 54 45 4d 45 4e 54 2c 0a 20 20 20 20  _STATEMENT,.    
8c10: 44 4d 50 41 50 45 52 5f 45 58 45 43 55 54 49 56  DMPAPER_EXECUTIV
8c20: 45 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41  E,.    DMPAPER_A
8c30: 33 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41  3,.    DMPAPER_A
8c40: 34 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41  4,.    DMPAPER_A
8c50: 34 53 4d 41 4c 4c 2c 0a 20 20 20 20 44 4d 50 41  4SMALL,.    DMPA
8c60: 50 45 52 5f 41 35 2c 0a 20 20 20 20 44 4d 50 41  PER_A5,.    DMPA
8c70: 50 45 52 5f 42 34 2c 0a 20 20 20 20 44 4d 50 41  PER_B4,.    DMPA
8c80: 50 45 52 5f 42 35 2c 0a 20 20 20 20 44 4d 50 41  PER_B5,.    DMPA
8c90: 50 45 52 5f 46 4f 4c 49 4f 2c 0a 20 20 20 20 44  PER_FOLIO,.    D
8ca0: 4d 50 41 50 45 52 5f 51 55 41 52 54 4f 2c 0a 20  MPAPER_QUARTO,. 
8cb0: 20 20 20 44 4d 50 41 50 45 52 5f 31 30 58 31 34     DMPAPER_10X14
8cc0: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 31 31  ,.    DMPAPER_11
8cd0: 58 31 37 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  X17,.    DMPAPER
8ce0: 5f 4e 4f 54 45 2c 0a 20 20 20 20 44 4d 50 41 50  _NOTE,.    DMPAP
8cf0: 45 52 5f 45 4e 56 5f 39 2c 0a 20 20 20 20 44 4d  ER_ENV_9,.    DM
8d00: 50 41 50 45 52 5f 45 4e 56 5f 31 30 2c 0a 20 20  PAPER_ENV_10,.  
8d10: 20 20 44 4d 50 41 50 45 52 5f 45 4e 56 5f 31 31    DMPAPER_ENV_11
8d20: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 45 4e  ,.    DMPAPER_EN
8d30: 56 5f 31 32 2c 0a 20 20 20 20 44 4d 50 41 50 45  V_12,.    DMPAPE
8d40: 52 5f 45 4e 56 5f 31 34 2c 0a 20 20 20 20 44 4d  R_ENV_14,.    DM
8d50: 50 41 50 45 52 5f 43 53 48 45 45 54 2c 0a 20 20  PAPER_CSHEET,.  
8d60: 20 20 44 4d 50 41 50 45 52 5f 44 53 48 45 45 54    DMPAPER_DSHEET
8d70: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 45 53  ,.    DMPAPER_ES
8d80: 48 45 45 54 2c 0a 20 20 20 20 44 4d 50 41 50 45  HEET,.    DMPAPE
8d90: 52 5f 45 4e 56 5f 44 4c 2c 0a 20 20 20 20 44 4d  R_ENV_DL,.    DM
8da0: 50 41 50 45 52 5f 45 4e 56 5f 43 35 2c 0a 20 20  PAPER_ENV_C5,.  
8db0: 20 20 44 4d 50 41 50 45 52 5f 45 4e 56 5f 43 33    DMPAPER_ENV_C3
8dc0: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 45 4e  ,.    DMPAPER_EN
8dd0: 56 5f 43 34 2c 0a 20 20 20 20 44 4d 50 41 50 45  V_C4,.    DMPAPE
8de0: 52 5f 45 4e 56 5f 43 36 2c 0a 20 20 20 20 44 4d  R_ENV_C6,.    DM
8df0: 50 41 50 45 52 5f 45 4e 56 5f 43 36 35 2c 0a 20  PAPER_ENV_C65,. 
8e00: 20 20 20 44 4d 50 41 50 45 52 5f 45 4e 56 5f 42     DMPAPER_ENV_B
8e10: 34 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 45  4,.    DMPAPER_E
8e20: 4e 56 5f 42 35 2c 0a 20 20 20 20 44 4d 50 41 50  NV_B5,.    DMPAP
8e30: 45 52 5f 45 4e 56 5f 42 36 2c 0a 20 20 20 20 44  ER_ENV_B6,.    D
8e40: 4d 50 41 50 45 52 5f 45 4e 56 5f 49 54 41 4c 59  MPAPER_ENV_ITALY
8e50: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 45 4e  ,.    DMPAPER_EN
8e60: 56 5f 4d 4f 4e 41 52 43 48 2c 0a 20 20 20 20 44  V_MONARCH,.    D
8e70: 4d 50 41 50 45 52 5f 45 4e 56 5f 50 45 52 53 4f  MPAPER_ENV_PERSO
8e80: 4e 41 4c 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  NAL,.    DMPAPER
8e90: 5f 46 41 4e 46 4f 4c 44 5f 55 53 2c 0a 20 20 20  _FANFOLD_US,.   
8ea0: 20 44 4d 50 41 50 45 52 5f 46 41 4e 46 4f 4c 44   DMPAPER_FANFOLD
8eb0: 5f 53 54 44 5f 47 45 52 4d 41 4e 2c 0a 20 20 20  _STD_GERMAN,.   
8ec0: 20 44 4d 50 41 50 45 52 5f 46 41 4e 46 4f 4c 44   DMPAPER_FANFOLD
8ed0: 5f 4c 47 4c 5f 47 45 52 4d 41 4e 2c 0a 20 20 20  _LGL_GERMAN,.   
8ee0: 20 44 4d 50 41 50 45 52 5f 49 53 4f 5f 42 34 2c   DMPAPER_ISO_B4,
8ef0: 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 4a 41 50  .    DMPAPER_JAP
8f00: 41 4e 45 53 45 5f 50 4f 53 54 43 41 52 44 2c 0a  ANESE_POSTCARD,.
8f10: 20 20 20 20 44 4d 50 41 50 45 52 5f 39 58 31 31      DMPAPER_9X11
8f20: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 31 30  ,.    DMPAPER_10
8f30: 58 31 31 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  X11,.    DMPAPER
8f40: 5f 31 35 58 31 31 2c 0a 20 20 20 20 44 4d 50 41  _15X11,.    DMPA
8f50: 50 45 52 5f 45 4e 56 5f 49 4e 56 49 54 45 2c 0a  PER_ENV_INVITE,.
8f60: 20 20 20 20 44 4d 50 41 50 45 52 5f 52 45 53 45      DMPAPER_RESE
8f70: 52 56 45 44 5f 34 38 2c 0a 20 20 20 20 44 4d 50  RVED_48,.    DMP
8f80: 41 50 45 52 5f 52 45 53 45 52 56 45 44 5f 34 39  APER_RESERVED_49
8f90: 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 4c 45  ,.    DMPAPER_LE
8fa0: 54 54 45 52 5f 45 58 54 52 41 2c 0a 20 20 20 20  TTER_EXTRA,.    
8fb0: 44 4d 50 41 50 45 52 5f 4c 45 47 41 4c 5f 45 58  DMPAPER_LEGAL_EX
8fc0: 54 52 41 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  TRA,.    DMPAPER
8fd0: 5f 54 41 42 4c 4f 49 44 5f 45 58 54 52 41 2c 0a  _TABLOID_EXTRA,.
8fe0: 20 20 20 20 44 4d 50 41 50 45 52 5f 41 34 5f 45      DMPAPER_A4_E
8ff0: 58 54 52 41 2c 0a 20 20 20 20 44 4d 50 41 50 45  XTRA,.    DMPAPE
9000: 52 5f 4c 45 54 54 45 52 5f 54 52 41 4e 53 56 45  R_LETTER_TRANSVE
9010: 52 53 45 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  RSE,.    DMPAPER
9020: 5f 41 34 5f 54 52 41 4e 53 56 45 52 53 45 2c 0a  _A4_TRANSVERSE,.
9030: 20 20 20 20 44 4d 50 41 50 45 52 5f 4c 45 54 54      DMPAPER_LETT
9040: 45 52 5f 45 58 54 52 41 5f 54 52 41 4e 53 56 45  ER_EXTRA_TRANSVE
9050: 52 53 45 2c 0a 20 20 20 20 44 4d 50 41 50 45 52  RSE,.    DMPAPER
9060: 5f 41 5f 50 4c 55 53 2c 0a 20 20 20 20 44 4d 50  _A_PLUS,.    DMP
9070: 41 50 45 52 5f 42 5f 50 4c 55 53 2c 0a 20 20 20  APER_B_PLUS,.   
9080: 20 44 4d 50 41 50 45 52 5f 4c 45 54 54 45 52 5f   DMPAPER_LETTER_
9090: 50 4c 55 53 2c 0a 20 20 20 20 44 4d 50 41 50 45  PLUS,.    DMPAPE
90a0: 52 5f 41 34 5f 50 4c 55 53 2c 0a 20 20 20 20 44  R_A4_PLUS,.    D
90b0: 4d 50 41 50 45 52 5f 41 35 5f 54 52 41 4e 53 56  MPAPER_A5_TRANSV
90c0: 45 52 53 45 2c 0a 20 20 20 20 44 4d 50 41 50 45  ERSE,.    DMPAPE
90d0: 52 5f 42 35 5f 54 52 41 4e 53 56 45 52 53 45 2c  R_B5_TRANSVERSE,
90e0: 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41 33 5f  .    DMPAPER_A3_
90f0: 45 58 54 52 41 2c 0a 20 20 20 20 44 4d 50 41 50  EXTRA,.    DMPAP
9100: 45 52 5f 41 35 5f 45 58 54 52 41 2c 0a 20 20 20  ER_A5_EXTRA,.   
9110: 20 44 4d 50 41 50 45 52 5f 42 35 5f 45 58 54 52   DMPAPER_B5_EXTR
9120: 41 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41  A,.    DMPAPER_A
9130: 32 2c 0a 20 20 20 20 44 4d 50 41 50 45 52 5f 41  2,.    DMPAPER_A
9140: 33 5f 54 52 41 4e 53 56 45 52 53 45 2c 0a 20 20  3_TRANSVERSE,.  
9150: 20 20 44 4d 50 41 50 45 52 5f 41 33 5f 45 58 54    DMPAPER_A3_EXT
9160: 52 41 5f 54 52 41 4e 53 56 45 52 53 45 20 20 20  RA_TRANSVERSE   
9170: 20 20 2f 2f 20 3d 20 36 38 0a 7d 0a 73 74 61 74    // = 68.}.stat
9180: 69 63 0a 0a 69 66 20 28 57 49 4e 56 45 52 20 3e  ic..if (WINVER >
9190: 3d 20 30 78 30 35 30 30 29 0a 7b 0a 20 20 20 20  = 0x0500).{.    
91a0: 65 6e 75 6d 20 3a 20 73 68 6f 72 74 20 7b 0a 20  enum : short {. 
91b0: 20 20 20 20 20 20 20 44 4d 50 41 50 45 52 5f 44         DMPAPER_D
91c0: 42 4c 5f 4a 41 50 41 4e 45 53 45 5f 50 4f 53 54  BL_JAPANESE_POST
91d0: 43 41 52 44 20 3d 20 36 39 2c 0a 20 20 20 20 20  CARD = 69,.     
91e0: 20 20 20 44 4d 50 41 50 45 52 5f 41 36 2c 0a 20     DMPAPER_A6,. 
91f0: 20 20 20 20 20 20 20 44 4d 50 41 50 45 52 5f 4a         DMPAPER_J
9200: 45 4e 56 5f 4b 41 4b 55 32 2c 0a 20 20 20 20 20  ENV_KAKU2,.     
9210: 20 20 20 44 4d 50 41 50 45 52 5f 4a 45 4e 56 5f     DMPAPER_JENV_
9220: 4b 41 4b 55 33 2c 0a 20 20 20 20 20 20 20 20 44  KAKU3,.        D
9230: 4d 50 41 50 45 52 5f 4a 45 4e 56 5f 43 48 4f 55  MPAPER_JENV_CHOU
9240: 33 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  3,.        DMPAP
9250: 45 52 5f 4a 45 4e 56 5f 43 48 4f 55 34 2c 0a 20  ER_JENV_CHOU4,. 
9260: 20 20 20 20 20 20 20 44 4d 50 41 50 45 52 5f 4c         DMPAPER_L
9270: 45 54 54 45 52 5f 52 4f 54 41 54 45 44 2c 0a 20  ETTER_ROTATED,. 
9280: 20 20 20 20 20 20 20 44 4d 50 41 50 45 52 5f 41         DMPAPER_A
9290: 33 5f 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20  3_ROTATED,.     
92a0: 20 20 20 44 4d 50 41 50 45 52 5f 41 34 5f 52 4f     DMPAPER_A4_RO
92b0: 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20 20 44  TATED,.        D
92c0: 4d 50 41 50 45 52 5f 41 35 5f 52 4f 54 41 54 45  MPAPER_A5_ROTATE
92d0: 44 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  D,.        DMPAP
92e0: 45 52 5f 42 34 5f 4a 49 53 5f 52 4f 54 41 54 45  ER_B4_JIS_ROTATE
92f0: 44 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  D,.        DMPAP
9300: 45 52 5f 42 35 5f 4a 49 53 5f 52 4f 54 41 54 45  ER_B5_JIS_ROTATE
9310: 44 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  D,.        DMPAP
9320: 45 52 5f 4a 41 50 41 4e 45 53 45 5f 50 4f 53 54  ER_JAPANESE_POST
9330: 43 41 52 44 5f 52 4f 54 41 54 45 44 2c 0a 20 20  CARD_ROTATED,.  
9340: 20 20 20 20 20 20 44 4d 50 41 50 45 52 5f 44 42        DMPAPER_DB
9350: 4c 5f 4a 41 50 41 4e 45 53 45 5f 50 4f 53 54 43  L_JAPANESE_POSTC
9360: 41 52 44 5f 52 4f 54 41 54 45 44 2c 0a 20 20 20  ARD_ROTATED,.   
9370: 20 20 20 20 20 44 4d 50 41 50 45 52 5f 41 36 5f       DMPAPER_A6_
9380: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9390: 20 44 4d 50 41 50 45 52 5f 4a 45 4e 56 5f 4b 41   DMPAPER_JENV_KA
93a0: 4b 55 32 5f 52 4f 54 41 54 45 44 2c 0a 20 20 20  KU2_ROTATED,.   
93b0: 20 20 20 20 20 44 4d 50 41 50 45 52 5f 4a 45 4e       DMPAPER_JEN
93c0: 56 5f 4b 41 4b 55 33 5f 52 4f 54 41 54 45 44 2c  V_KAKU3_ROTATED,
93d0: 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50 45 52  .        DMPAPER
93e0: 5f 4a 45 4e 56 5f 43 48 4f 55 33 5f 52 4f 54 41  _JENV_CHOU3_ROTA
93f0: 54 45 44 2c 0a 20 20 20 20 20 20 20 20 44 4d 50  TED,.        DMP
9400: 41 50 45 52 5f 4a 45 4e 56 5f 43 48 4f 55 34 5f  APER_JENV_CHOU4_
9410: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9420: 20 44 4d 50 41 50 45 52 5f 42 36 5f 4a 49 53 2c   DMPAPER_B6_JIS,
9430: 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50 45 52  .        DMPAPER
9440: 5f 42 36 5f 4a 49 53 5f 52 4f 54 41 54 45 44 2c  _B6_JIS_ROTATED,
9450: 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50 45 52  .        DMPAPER
9460: 5f 31 32 58 31 31 2c 0a 20 20 20 20 20 20 20 20  _12X11,.        
9470: 44 4d 50 41 50 45 52 5f 4a 45 4e 56 5f 59 4f 55  DMPAPER_JENV_YOU
9480: 34 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  4,.        DMPAP
9490: 45 52 5f 4a 45 4e 56 5f 59 4f 55 34 5f 52 4f 54  ER_JENV_YOU4_ROT
94a0: 41 54 45 44 2c 0a 20 20 20 20 20 20 20 20 44 4d  ATED,.        DM
94b0: 50 41 50 45 52 5f 50 31 36 4b 2c 0a 20 20 20 20  PAPER_P16K,.    
94c0: 20 20 20 20 44 4d 50 41 50 45 52 5f 50 33 32 4b      DMPAPER_P32K
94d0: 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50 45  ,.        DMPAPE
94e0: 52 5f 50 33 32 4b 42 49 47 2c 0a 20 20 20 20 20  R_P32KBIG,.     
94f0: 20 20 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f     DMPAPER_PENV_
9500: 31 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  1,.        DMPAP
9510: 45 52 5f 50 45 4e 56 5f 32 2c 0a 20 20 20 20 20  ER_PENV_2,.     
9520: 20 20 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f     DMPAPER_PENV_
9530: 33 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  3,.        DMPAP
9540: 45 52 5f 50 45 4e 56 5f 34 2c 0a 20 20 20 20 20  ER_PENV_4,.     
9550: 20 20 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f     DMPAPER_PENV_
9560: 35 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  5,.        DMPAP
9570: 45 52 5f 50 45 4e 56 5f 36 2c 0a 20 20 20 20 20  ER_PENV_6,.     
9580: 20 20 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f     DMPAPER_PENV_
9590: 37 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  7,.        DMPAP
95a0: 45 52 5f 50 45 4e 56 5f 38 2c 0a 20 20 20 20 20  ER_PENV_8,.     
95b0: 20 20 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f     DMPAPER_PENV_
95c0: 39 2c 0a 20 20 20 20 20 20 20 20 44 4d 50 41 50  9,.        DMPAP
95d0: 45 52 5f 50 45 4e 56 5f 31 30 2c 0a 20 20 20 20  ER_PENV_10,.    
95e0: 20 20 20 20 44 4d 50 41 50 45 52 5f 50 31 36 4b      DMPAPER_P16K
95f0: 5f 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20  _ROTATED,.      
9600: 20 20 44 4d 50 41 50 45 52 5f 50 33 32 4b 5f 52    DMPAPER_P32K_R
9610: 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20 20  OTATED,.        
9620: 44 4d 50 41 50 45 52 5f 50 33 32 4b 42 49 47 5f  DMPAPER_P32KBIG_
9630: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9640: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 31 5f   DMPAPER_PENV_1_
9650: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9660: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 32 5f   DMPAPER_PENV_2_
9670: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9680: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 33 5f   DMPAPER_PENV_3_
9690: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
96a0: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 34 5f   DMPAPER_PENV_4_
96b0: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
96c0: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 35 5f   DMPAPER_PENV_5_
96d0: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
96e0: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 36 5f   DMPAPER_PENV_6_
96f0: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9700: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 37 5f   DMPAPER_PENV_7_
9710: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9720: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 38 5f   DMPAPER_PENV_8_
9730: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9740: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 39 5f   DMPAPER_PENV_9_
9750: 52 4f 54 41 54 45 44 2c 0a 20 20 20 20 20 20 20  ROTATED,.       
9760: 20 44 4d 50 41 50 45 52 5f 50 45 4e 56 5f 31 30   DMPAPER_PENV_10
9770: 5f 52 4f 54 41 54 45 44 20 20 20 20 20 20 20 20  _ROTATED        
9780: 20 2f 2f 20 31 31 38 0a 20 20 20 20 7d 0a 7d 0a   // 118.    }.}.
9790: 0a 63 6f 6e 73 74 20 73 68 6f 72 74 20 44 4d 50  .const short DMP
97a0: 41 50 45 52 5f 46 49 52 53 54 20 3d 20 44 4d 50  APER_FIRST = DMP
97b0: 41 50 45 52 5f 4c 45 54 54 45 52 3b 0a 0a 73 74  APER_LETTER;..st
97c0: 61 74 69 63 0a 0a 69 66 20 28 57 49 4e 56 45 52  atic..if (WINVER
97d0: 20 3e 3d 20 30 78 30 35 30 30 29 0a 20 20 20 20   >= 0x0500).    
97e0: 63 6f 6e 73 74 20 73 68 6f 72 74 20 44 4d 50 41  const short DMPA
97f0: 50 45 52 5f 4c 41 53 54 20 3d 20 44 4d 50 41 50  PER_LAST = DMPAP
9800: 45 52 5f 50 45 4e 56 5f 31 30 5f 52 4f 54 41 54  ER_PENV_10_ROTAT
9810: 45 44 3b 0a 65 6c 73 65 0a 20 20 20 20 63 6f 6e  ED;.else.    con
9820: 73 74 20 73 68 6f 72 74 20 44 4d 50 41 50 45 52  st short DMPAPER
9830: 5f 4c 41 53 54 20 3d 20 44 4d 50 41 50 45 52 5f  _LAST = DMPAPER_
9840: 41 33 5f 45 58 54 52 41 5f 54 52 41 4e 53 56 45  A3_EXTRA_TRANSVE
9850: 52 53 45 3b 0a 0a 63 6f 6e 73 74 20 73 68 6f 72  RSE;..const shor
9860: 74 20 44 4d 50 41 50 45 52 5f 55 53 45 52 20 3d  t DMPAPER_USER =
9870: 20 32 35 36 3b 0a 0a 2f 2f 20 44 45 56 4d 4f 44   256;..// DEVMOD
9880: 45 2e 64 6d 44 65 66 61 75 6c 74 53 6f 75 72 63  E.dmDefaultSourc
9890: 65 0a 65 6e 75 6d 20 3a 20 73 68 6f 72 74 20 7b  e.enum : short {
98a0: 0a 20 20 20 20 44 4d 42 49 4e 5f 4f 4e 4c 59 4f  .    DMBIN_ONLYO
98b0: 4e 45 20 3d 20 31 2c 0a 20 20 20 20 44 4d 42 49  NE = 1,.    DMBI
98c0: 4e 5f 55 50 50 45 52 20 20 20 3d 20 31 2c 0a 20  N_UPPER   = 1,. 
98d0: 20 20 20 44 4d 42 49 4e 5f 4c 4f 57 45 52 2c 0a     DMBIN_LOWER,.
98e0: 20 20 20 20 44 4d 42 49 4e 5f 4d 49 44 44 4c 45      DMBIN_MIDDLE
98f0: 2c 0a 20 20 20 20 44 4d 42 49 4e 5f 4d 41 4e 55  ,.    DMBIN_MANU
9900: 41 4c 2c 0a 20 20 20 20 44 4d 42 49 4e 5f 45 4e  AL,.    DMBIN_EN
9910: 56 45 4c 4f 50 45 2c 0a 20 20 20 20 44 4d 42 49  VELOPE,.    DMBI
9920: 4e 5f 45 4e 56 4d 41 4e 55 41 4c 2c 0a 20 20 20  N_ENVMANUAL,.   
9930: 20 44 4d 42 49 4e 5f 41 55 54 4f 2c 0a 20 20 20   DMBIN_AUTO,.   
9940: 20 44 4d 42 49 4e 5f 54 52 41 43 54 4f 52 2c 0a   DMBIN_TRACTOR,.
9950: 20 20 20 20 44 4d 42 49 4e 5f 53 4d 41 4c 4c 46      DMBIN_SMALLF
9960: 4d 54 2c 0a 20 20 20 20 44 4d 42 49 4e 5f 4c 41  MT,.    DMBIN_LA
9970: 52 47 45 46 4d 54 2c 0a 20 20 20 20 44 4d 42 49  RGEFMT,.    DMBI
9980: 4e 5f 4c 41 52 47 45 43 41 50 41 43 49 54 59 2c  N_LARGECAPACITY,
9990: 20 20 20 20 20 2f 2f 20 3d 20 31 31 0a 20 20 20       // = 11.   
99a0: 20 44 4d 42 49 4e 5f 43 41 53 53 45 54 54 45 20   DMBIN_CASSETTE 
99b0: 3d 20 31 34 2c 0a 20 20 20 20 44 4d 42 49 4e 5f  = 14,.    DMBIN_
99c0: 46 4f 52 4d 53 4f 55 52 43 45 2c 0a 7d 0a 73 68  FORMSOURCE,.}.sh
99d0: 6f 72 74 0a 44 4d 42 49 4e 5f 46 49 52 53 54 20  ort.DMBIN_FIRST 
99e0: 3d 20 44 4d 42 49 4e 5f 55 50 50 45 52 2c 0a 44  = DMBIN_UPPER,.D
99f0: 4d 42 49 4e 5f 4c 41 53 54 20 20 3d 20 44 4d 42  MBIN_LAST  = DMB
9a00: 49 4e 5f 46 4f 52 4d 53 4f 55 52 43 45 2c 0a 44  IN_FORMSOURCE,.D
9a10: 4d 42 49 4e 5f 55 53 45 52 20 20 3d 20 32 35 36  MBIN_USER  = 256
9a20: 3b 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45 2e 64 6d  ;..// DEVMODE.dm
9a30: 50 72 69 6e 74 51 75 61 6c 69 74 79 0a 65 6e 75  PrintQuality.enu
9a40: 6d 20 3a 20 73 68 6f 72 74 20 7b 0a 20 20 20 20  m : short {.    
9a50: 44 4d 52 45 53 5f 44 52 41 46 54 20 20 3d 20 2d  DMRES_DRAFT  = -
9a60: 31 2c 0a 20 20 20 20 44 4d 52 45 53 5f 4c 4f 57  1,.    DMRES_LOW
9a70: 20 20 20 20 3d 20 2d 32 2c 0a 20 20 20 20 44 4d      = -2,.    DM
9a80: 52 45 53 5f 4d 45 44 49 55 4d 20 3d 20 2d 33 2c  RES_MEDIUM = -3,
9a90: 0a 20 20 20 20 44 4d 52 45 53 5f 48 49 47 48 20  .    DMRES_HIGH 
9aa0: 20 20 3d 20 2d 34 0a 7d 0a 0a 2f 2f 20 44 45 56    = -4.}..// DEV
9ab0: 4d 4f 44 45 2e 64 6d 43 6f 6c 6f 72 0a 65 6e 75  MODE.dmColor.enu
9ac0: 6d 20 3a 20 73 68 6f 72 74 20 7b 0a 20 20 20 20  m : short {.    
9ad0: 44 4d 43 4f 4c 4f 52 5f 4d 4f 4e 4f 43 48 52 4f  DMCOLOR_MONOCHRO
9ae0: 4d 45 20 3d 20 31 2c 0a 20 20 20 20 44 4d 43 4f  ME = 1,.    DMCO
9af0: 4c 4f 52 5f 43 4f 4c 4f 52 20 20 20 20 20 20 3d  LOR_COLOR      =
9b00: 20 32 0a 7d 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45   2.}..// DEVMODE
9b10: 2e 64 6d 44 75 70 6c 65 78 0a 65 6e 75 6d 20 3a  .dmDuplex.enum :
9b20: 20 73 68 6f 72 74 20 7b 0a 20 20 20 20 44 4d 44   short {.    DMD
9b30: 55 50 5f 53 49 4d 50 4c 45 58 20 20 20 20 3d 20  UP_SIMPLEX    = 
9b40: 31 2c 0a 20 20 20 20 44 4d 44 55 50 5f 56 45 52  1,.    DMDUP_VER
9b50: 54 49 43 41 4c 20 20 20 3d 20 32 2c 0a 20 20 20  TICAL   = 2,.   
9b60: 20 44 4d 44 55 50 5f 48 4f 52 49 5a 4f 4e 54 41   DMDUP_HORIZONTA
9b70: 4c 20 3d 20 33 0a 7d 0a 0a 2f 2f 20 44 45 56 4d  L = 3.}..// DEVM
9b80: 4f 44 45 2e 64 6d 54 54 4f 70 74 69 6f 6e 0a 65  ODE.dmTTOption.e
9b90: 6e 75 6d 20 3a 20 73 68 6f 72 74 20 7b 0a 20 20  num : short {.  
9ba0: 20 20 44 4d 54 54 5f 42 49 54 4d 41 50 20 3d 20    DMTT_BITMAP = 
9bb0: 31 2c 0a 20 20 20 20 44 4d 54 54 5f 44 4f 57 4e  1,.    DMTT_DOWN
9bc0: 4c 4f 41 44 2c 0a 20 20 20 20 44 4d 54 54 5f 53  LOAD,.    DMTT_S
9bd0: 55 42 44 45 56 2c 0a 20 20 20 20 44 4d 54 54 5f  UBDEV,.    DMTT_
9be0: 44 4f 57 4e 4c 4f 41 44 5f 4f 55 54 4c 49 4e 45  DOWNLOAD_OUTLINE
9bf0: 0a 7d 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45 2e 64  .}..// DEVMODE.d
9c00: 6d 43 6f 6c 6c 61 74 65 0a 65 6e 75 6d 20 3a 20  mCollate.enum : 
9c10: 73 68 6f 72 74 20 7b 0a 20 20 20 20 44 4d 43 4f  short {.    DMCO
9c20: 4c 4c 41 54 45 5f 46 41 4c 53 45 20 3d 20 30 2c  LLATE_FALSE = 0,
9c30: 0a 20 20 20 20 44 4d 43 4f 4c 4c 41 54 45 5f 54  .    DMCOLLATE_T
9c40: 52 55 45 0a 7d 0a 0a 73 74 61 74 69 63 0a 0a 69  RUE.}..static..i
9c50: 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  f (WINVER >= 0x0
9c60: 35 30 31 29 0a 7b 0a 20 20 20 20 2f 2a 20 44 45  501).{.    /* DE
9c70: 56 4d 4f 44 45 20 64 6d 44 69 73 70 6c 61 79 4f  VMODE dmDisplayO
9c80: 72 69 65 6e 74 61 74 69 6f 6e 20 73 70 65 63 69  rientation speci
9c90: 66 69 61 74 69 6f 6e 73 20 2a 2f 0a 20 20 20 20  fiations */.    
9ca0: 65 6e 75 6d 20 3a 20 73 68 6f 72 74 20 7b 0a 20  enum : short {. 
9cb0: 20 20 20 20 20 20 20 44 4d 44 4f 5f 44 45 46 41         DMDO_DEFA
9cc0: 55 4c 54 20 3d 20 30 2c 0a 20 20 20 20 20 20 20  ULT = 0,.       
9cd0: 20 44 4d 44 4f 5f 39 30 20 20 20 20 20 20 3d 20   DMDO_90      = 
9ce0: 31 2c 0a 20 20 20 20 20 20 20 20 44 4d 44 4f 5f  1,.        DMDO_
9cf0: 31 38 30 20 20 20 20 20 3d 20 32 2c 0a 20 20 20  180     = 2,.   
9d00: 20 20 20 20 20 44 4d 44 4f 5f 32 37 30 20 20 20       DMDO_270   
9d10: 20 20 3d 20 33 2c 0a 20 20 20 20 7d 0a 0a 20 20    = 3,.    }..  
9d20: 20 20 2f 2a 20 44 45 56 4d 4f 44 45 20 64 6d 44    /* DEVMODE dmD
9d30: 69 73 70 6c 61 79 46 69 78 65 64 4f 75 74 70 75  isplayFixedOutpu
9d40: 74 20 73 70 65 63 69 66 69 61 74 69 6f 6e 73 20  t specifiations 
9d50: 2a 2f 0a 20 20 20 20 65 6e 75 6d 20 3a 20 73 68  */.    enum : sh
9d60: 6f 72 74 20 7b 0a 20 20 20 20 20 20 20 20 44 4d  ort {.        DM
9d70: 44 46 4f 5f 44 45 46 41 55 4c 54 20 3d 20 30 2c  DFO_DEFAULT = 0,
9d80: 0a 20 20 20 20 20 20 20 20 44 4d 44 46 4f 5f 53  .        DMDFO_S
9d90: 54 52 45 54 43 48 20 3d 20 31 2c 0a 20 20 20 20  TRETCH = 1,.    
9da0: 20 20 20 20 44 4d 44 46 4f 5f 43 45 4e 54 45 52      DMDFO_CENTER
9db0: 20 20 3d 20 32 2c 0a 20 20 20 20 7d 0a 7d 0a 0a    = 2,.    }.}..
9dc0: 2f 2a 20 46 49 58 4d 45 3a 20 74 68 69 73 20 66  /* FIXME: this f
9dd0: 6c 61 67 73 20 61 72 65 20 64 65 70 72 65 63 61  lags are depreca
9de0: 74 65 64 20 3f 20 2a 2f 0a 0a 2f 2f 20 44 45 56  ted ? */..// DEV
9df0: 4d 4f 44 45 2e 64 6d 44 69 73 70 6c 61 79 46 6c  MODE.dmDisplayFl
9e00: 61 67 73 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a  ags.const DWORD.
9e10: 44 4d 5f 47 52 41 59 53 43 41 4c 45 20 20 3d 20  DM_GRAYSCALE  = 
9e20: 31 2c 0a 44 4d 5f 49 4e 54 45 52 4c 41 43 45 44  1,.DM_INTERLACED
9e30: 20 3d 20 32 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f   = 2;..const DWO
9e40: 52 44 0a 44 4d 44 49 53 50 4c 41 59 46 4c 41 47  RD.DMDISPLAYFLAG
9e50: 53 5f 54 45 58 54 4d 4f 44 45 20 3d 20 30 78 30  S_TEXTMODE = 0x0
9e60: 30 30 30 30 30 30 34 3b 0a 0a 2f 2a 20 64 6d 4e  0000004;../* dmN
9e70: 75 70 20 2c 20 6d 75 6c 74 69 70 6c 65 20 6c 6f  up , multiple lo
9e80: 67 69 63 61 6c 20 70 61 67 65 20 70 65 72 20 70  gical page per p
9e90: 68 79 73 69 63 61 6c 20 70 61 67 65 20 6f 70 74  hysical page opt
9ea0: 69 6f 6e 73 20 2a 2f 0a 63 6f 6e 73 74 20 44 57  ions */.const DW
9eb0: 4f 52 44 0a 44 4d 4e 55 50 5f 53 59 53 54 45 4d  ORD.DMNUP_SYSTEM
9ec0: 20 3d 20 31 2c 0a 44 4d 4e 55 50 5f 4f 4e 45 55   = 1,.DMNUP_ONEU
9ed0: 50 20 20 3d 20 32 3b 0a 0a 2f 2f 20 44 45 56 4d  P  = 2;..// DEVM
9ee0: 4f 44 45 2e 64 6d 46 69 65 6c 64 73 0a 63 6f 6e  ODE.dmFields.con
9ef0: 73 74 20 44 57 4f 52 44 0a 44 4d 5f 4f 52 49 45  st DWORD.DM_ORIE
9f00: 4e 54 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30  NTATION = 0x0000
9f10: 30 30 30 31 2c 0a 44 4d 5f 50 41 50 45 52 53 49  0001,.DM_PAPERSI
9f20: 5a 45 20 20 20 3d 20 30 78 30 30 30 30 30 30 30  ZE   = 0x0000000
9f30: 32 2c 0a 44 4d 5f 50 41 50 45 52 4c 45 4e 47 54  2,.DM_PAPERLENGT
9f40: 48 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a  H = 0x00000004,.
9f50: 44 4d 5f 50 41 50 45 52 57 49 44 54 48 20 20 3d  DM_PAPERWIDTH  =
9f60: 20 30 78 30 30 30 30 30 30 30 38 2c 0a 44 4d 5f   0x00000008,.DM_
9f70: 53 43 41 4c 45 20 20 20 20 20 20 20 3d 20 30 78  SCALE       = 0x
9f80: 30 30 30 30 30 30 31 30 3b 0a 73 74 61 74 69 63  00000010;.static
9f90: 0a 0a 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20  ..if (WINVER >= 
9fa0: 30 78 30 35 30 30 29 0a 7b 0a 20 20 20 20 63 6f  0x0500).{.    co
9fb0: 6e 73 74 20 44 57 4f 52 44 0a 20 20 20 20 44 4d  nst DWORD.    DM
9fc0: 5f 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 30  _POSITION = 0x00
9fd0: 30 30 30 30 32 30 2c 0a 20 20 20 20 44 4d 5f 4e  000020,.    DM_N
9fe0: 55 50 20 20 20 20 20 20 3d 20 30 78 30 30 30 30  UP      = 0x0000
9ff0: 30 30 34 30 3b 0a 7d 0a 0a 73 74 61 74 69 63 0a  0040;.}..static.
a000: 0a 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  .if (WINVER >= 0
a010: 78 30 35 30 31 29 0a 7b 0a 20 20 20 20 63 6f 6e  x0501).{.    con
a020: 73 74 20 44 57 4f 52 44 0a 20 20 20 20 44 4d 5f  st DWORD.    DM_
a030: 44 49 53 50 4c 41 59 4f 52 49 45 4e 54 41 54 49  DISPLAYORIENTATI
a040: 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 38 30 3b  ON = 0x00000080;
a050: 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a  .}..const DWORD.
a060: 44 4d 5f 43 4f 50 49 45 53 20 3d 20 30 78 30 30  DM_COPIES = 0x00
a070: 30 30 30 31 30 30 2c 0a 44 4d 5f 44 45 46 41 55  000100,.DM_DEFAU
a080: 4c 54 53 4f 55 52 43 45 20 20 20 20 3d 20 30 78  LTSOURCE    = 0x
a090: 30 30 30 30 30 32 30 30 2c 0a 44 4d 5f 50 52 49  00000200,.DM_PRI
a0a0: 4e 54 51 55 41 4c 49 54 59 20 20 20 20 20 3d 20  NTQUALITY     = 
a0b0: 30 78 30 30 30 30 30 34 30 30 2c 0a 44 4d 5f 43  0x00000400,.DM_C
a0c0: 4f 4c 4f 52 20 20 20 20 20 20 20 20 20 20 20 20  OLOR            
a0d0: 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0a 44 4d  = 0x00000800,.DM
a0e0: 5f 44 55 50 4c 45 58 20 20 20 20 20 20 20 20 20  _DUPLEX         
a0f0: 20 20 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a    = 0x00001000,.
a100: 44 4d 5f 59 52 45 53 4f 4c 55 54 49 4f 4e 20 20  DM_YRESOLUTION  
a110: 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30 30      = 0x00002000
a120: 2c 0a 44 4d 5f 54 54 4f 50 54 49 4f 4e 20 20 20  ,.DM_TTOPTION   
a130: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30        = 0x000040
a140: 30 30 2c 0a 44 4d 5f 43 4f 4c 4c 41 54 45 20 20  00,.DM_COLLATE  
a150: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
a160: 38 30 30 30 2c 0a 44 4d 5f 46 4f 52 4d 4e 41 4d  8000,.DM_FORMNAM
a170: 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  E         = 0x00
a180: 30 31 30 30 30 30 2c 0a 44 4d 5f 4c 4f 47 50 49  010000,.DM_LOGPI
a190: 58 45 4c 53 20 20 20 20 20 20 20 20 3d 20 30 78  XELS        = 0x
a1a0: 30 30 30 32 30 30 30 30 2c 0a 44 4d 5f 42 49 54  00020000,.DM_BIT
a1b0: 53 50 45 52 50 45 4c 20 20 20 20 20 20 20 3d 20  SPERPEL       = 
a1c0: 30 78 30 30 30 34 30 30 30 30 2c 0a 44 4d 5f 50  0x00040000,.DM_P
a1d0: 45 4c 53 57 49 44 54 48 20 20 20 20 20 20 20 20  ELSWIDTH        
a1e0: 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 44 4d  = 0x00080000,.DM
a1f0: 5f 50 45 4c 53 48 45 49 47 48 54 20 20 20 20 20  _PELSHEIGHT     
a200: 20 20 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a    = 0x00100000,.
a210: 44 4d 5f 44 49 53 50 4c 41 59 46 4c 41 47 53 20  DM_DISPLAYFLAGS 
a220: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30      = 0x00200000
a230: 2c 0a 44 4d 5f 44 49 53 50 4c 41 59 46 52 45 51  ,.DM_DISPLAYFREQ
a240: 55 45 4e 43 59 20 3d 20 30 78 30 30 34 30 30 30  UENCY = 0x004000
a250: 30 30 3b 0a 73 74 61 74 69 63 0a 0a 69 66 20 28  00;.static..if (
a260: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
a270: 29 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 44 57  ).{.    const DW
a280: 4f 52 44 0a 20 20 20 20 44 4d 5f 49 43 4d 4d 45  ORD.    DM_ICMME
a290: 54 48 4f 44 20 20 20 20 20 3d 20 30 78 30 30 38  THOD     = 0x008
a2a0: 30 30 30 30 30 2c 0a 20 20 20 20 44 4d 5f 49 43  00000,.    DM_IC
a2b0: 4d 49 4e 54 45 4e 54 20 20 20 20 20 3d 20 30 78  MINTENT     = 0x
a2c0: 30 31 30 30 30 30 30 30 2c 0a 20 20 20 20 44 4d  01000000,.    DM
a2d0: 5f 4d 45 44 49 41 54 59 50 45 20 20 20 20 20 3d  _MEDIATYPE     =
a2e0: 20 30 78 30 32 30 30 30 30 30 30 2c 0a 20 20 20   0x02000000,.   
a2f0: 20 44 4d 5f 44 49 54 48 45 52 54 59 50 45 20 20   DM_DITHERTYPE  
a300: 20 20 3d 20 30 78 30 34 30 30 30 30 30 30 2c 0a    = 0x04000000,.
a310: 20 20 20 20 44 4d 5f 50 41 4e 4e 49 4e 47 57 49      DM_PANNINGWI
a320: 44 54 48 20 20 3d 20 30 78 30 38 30 30 30 30 30  DTH  = 0x0800000
a330: 30 2c 0a 20 20 20 20 44 4d 5f 50 41 4e 4e 49 4e  0,.    DM_PANNIN
a340: 47 48 45 49 47 48 54 20 3d 20 30 78 31 30 30 30  GHEIGHT = 0x1000
a350: 30 30 30 30 3b 0a 7d 0a 0a 73 74 61 74 69 63 0a  0000;.}..static.
a360: 0a 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  .if (WINVER >= 0
a370: 78 30 35 30 31 29 0a 7b 0a 20 20 20 20 63 6f 6e  x0501).{.    con
a380: 73 74 20 44 57 4f 52 44 0a 20 20 20 20 44 4d 5f  st DWORD.    DM_
a390: 44 49 53 50 4c 41 59 46 49 58 45 44 4f 55 54 50  DISPLAYFIXEDOUTP
a3a0: 55 54 20 3d 20 30 78 32 30 30 30 30 30 30 30 3b  UT = 0x20000000;
a3b0: 0a 7d 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45 2e 64  .}..// DEVMODE.d
a3c0: 6d 49 43 4d 4d 65 74 68 6f 64 0a 65 6e 75 6d 20  mICMMethod.enum 
a3d0: 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20 20 44 4d  : DWORD {.    DM
a3e0: 49 43 4d 4d 45 54 48 4f 44 5f 4e 4f 4e 45 20 20  ICMMETHOD_NONE  
a3f0: 20 3d 20 31 2c 0a 20 20 20 20 44 4d 49 43 4d 4d   = 1,.    DMICMM
a400: 45 54 48 4f 44 5f 53 59 53 54 45 4d 20 3d 20 32  ETHOD_SYSTEM = 2
a410: 2c 0a 20 20 20 20 44 4d 49 43 4d 4d 45 54 48 4f  ,.    DMICMMETHO
a420: 44 5f 44 52 49 56 45 52 20 3d 20 33 2c 0a 20 20  D_DRIVER = 3,.  
a430: 20 20 44 4d 49 43 4d 4d 45 54 48 4f 44 5f 44 45    DMICMMETHOD_DE
a440: 56 49 43 45 20 3d 20 34 2c 0a 20 20 20 20 44 4d  VICE = 4,.    DM
a450: 49 43 4d 4d 45 54 48 4f 44 5f 55 53 45 52 20 20  ICMMETHOD_USER  
a460: 20 3d 20 32 35 36 0a 7d 0a 0a 2f 2f 20 44 45 56   = 256.}..// DEV
a470: 4d 4f 44 45 2e 64 6d 49 43 4d 49 6e 74 65 6e 74  MODE.dmICMIntent
a480: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a  .enum : DWORD {.
a490: 20 20 20 20 44 4d 49 43 4d 5f 53 41 54 55 52 41      DMICM_SATURA
a4a0: 54 45 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0a  TE         = 1,.
a4b0: 20 20 20 20 44 4d 49 43 4d 5f 43 4f 4e 54 52 41      DMICM_CONTRA
a4c0: 53 54 20 20 20 20 20 20 20 20 20 3d 20 32 2c 0a  ST         = 2,.
a4d0: 20 20 20 20 44 4d 49 43 4d 5f 43 4f 4c 4f 52 49      DMICM_COLORI
a4e0: 4d 45 54 52 49 43 20 20 20 20 20 3d 20 33 2c 0a  METRIC     = 3,.
a4f0: 20 20 20 20 44 4d 49 43 4d 5f 41 42 53 5f 43 4f      DMICM_ABS_CO
a500: 4c 4f 52 49 4d 45 54 52 49 43 20 3d 20 34 2c 0a  LORIMETRIC = 4,.
a510: 20 20 20 20 44 4d 49 43 4d 5f 55 53 45 52 20 20      DMICM_USER  
a520: 20 20 20 20 20 20 20 20 20 20 20 3d 20 32 35 36             = 256
a530: 0a 7d 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45 2e 64  .}..// DEVMODE.d
a540: 6d 4d 65 64 69 61 54 79 70 65 0a 65 6e 75 6d 20  mMediaType.enum 
a550: 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20 20 44 4d  : DWORD {.    DM
a560: 4d 45 44 49 41 5f 53 54 41 4e 44 41 52 44 20 20  MEDIA_STANDARD  
a570: 20 20 20 3d 20 31 2c 0a 20 20 20 20 44 4d 4d 45     = 1,.    DMME
a580: 44 49 41 5f 54 52 41 4e 53 50 41 52 45 4e 43 59  DIA_TRANSPARENCY
a590: 20 3d 20 32 2c 0a 20 20 20 20 44 4d 4d 45 44 49   = 2,.    DMMEDI
a5a0: 41 5f 47 4c 4f 53 53 59 20 20 20 20 20 20 20 3d  A_GLOSSY       =
a5b0: 20 33 2c 0a 20 20 20 20 44 4d 4d 45 44 49 41 5f   3,.    DMMEDIA_
a5c0: 55 53 45 52 20 20 20 20 20 20 20 20 20 3d 20 32  USER         = 2
a5d0: 35 36 0a 7d 0a 0a 2f 2f 20 44 45 56 4d 4f 44 45  56.}..// DEVMODE
a5e0: 2e 64 6d 44 69 74 68 65 72 54 79 70 65 0a 65 6e  .dmDitherType.en
a5f0: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 20 20 20  um : DWORD {.   
a600: 20 44 4d 44 49 54 48 45 52 5f 4e 4f 4e 45 20 3d   DMDITHER_NONE =
a610: 20 31 2c 0a 20 20 20 20 44 4d 44 49 54 48 45 52   1,.    DMDITHER
a620: 5f 43 4f 41 52 53 45 2c 0a 20 20 20 20 44 4d 44  _COARSE,.    DMD
a630: 49 54 48 45 52 5f 46 49 4e 45 2c 0a 20 20 20 20  ITHER_FINE,.    
a640: 44 4d 44 49 54 48 45 52 5f 4c 49 4e 45 41 52 54  DMDITHER_LINEART
a650: 2c 0a 20 20 20 20 44 4d 44 49 54 48 45 52 5f 45  ,.    DMDITHER_E
a660: 52 52 4f 52 44 49 46 46 55 53 49 4f 4e 2c 0a 20  RRORDIFFUSION,. 
a670: 20 20 20 44 4d 44 49 54 48 45 52 5f 52 45 53 45     DMDITHER_RESE
a680: 52 56 45 44 36 2c 0a 20 20 20 20 44 4d 44 49 54  RVED6,.    DMDIT
a690: 48 45 52 5f 52 45 53 45 52 56 45 44 37 2c 0a 20  HER_RESERVED7,. 
a6a0: 20 20 20 44 4d 44 49 54 48 45 52 5f 52 45 53 45     DMDITHER_RESE
a6b0: 52 56 45 44 38 2c 0a 20 20 20 20 44 4d 44 49 54  RVED8,.    DMDIT
a6c0: 48 45 52 5f 52 45 53 45 52 56 45 44 39 2c 0a 20  HER_RESERVED9,. 
a6d0: 20 20 20 44 4d 44 49 54 48 45 52 5f 47 52 41 59     DMDITHER_GRAY
a6e0: 53 43 41 4c 45 2c 0a 20 20 20 20 44 4d 44 49 54  SCALE,.    DMDIT
a6f0: 48 45 52 5f 55 53 45 52 20 3d 20 32 35 36 0a 7d  HER_USER = 256.}
a700: 0a 0a 2f 2f 20 2d 2d 2d 2d 0a 2f 2f 20 44 6f 63  ..// ----.// Doc
a710: 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73 28  umentProperties(
a720: 29 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 44 4d  ).const DWORD.DM
a730: 5f 55 50 44 41 54 45 20 20 20 20 20 20 3d 20 31  _UPDATE      = 1
a740: 2c 0a 44 4d 5f 43 4f 50 59 20 20 20 20 20 20 20  ,.DM_COPY       
a750: 20 3d 20 32 2c 0a 44 4d 5f 50 52 4f 4d 50 54 20   = 2,.DM_PROMPT 
a760: 20 20 20 20 20 3d 20 34 2c 0a 44 4d 5f 4d 4f 44       = 4,.DM_MOD
a770: 49 46 59 20 20 20 20 20 20 3d 20 38 2c 0a 44 4d  IFY      = 8,.DM
a780: 5f 49 4e 5f 42 55 46 46 45 52 20 20 20 3d 20 44  _IN_BUFFER   = D
a790: 4d 5f 4d 4f 44 49 46 59 2c 0a 44 4d 5f 49 4e 5f  M_MODIFY,.DM_IN_
a7a0: 50 52 4f 4d 50 54 20 20 20 3d 20 44 4d 5f 50 52  PROMPT   = DM_PR
a7b0: 4f 4d 50 54 2c 0a 44 4d 5f 4f 55 54 5f 42 55 46  OMPT,.DM_OUT_BUF
a7c0: 46 45 52 20 20 3d 20 44 4d 5f 43 4f 50 59 2c 0a  FER  = DM_COPY,.
a7d0: 44 4d 5f 4f 55 54 5f 44 45 46 41 55 4c 54 20 3d  DM_OUT_DEFAULT =
a7e0: 20 44 4d 5f 55 50 44 41 54 45 3b 0a 0a 2f 2f 20   DM_UPDATE;..// 
a7f0: 2d 2d 2d 0a 0a 63 6f 6e 73 74 20 47 44 49 5f 45  ---..const GDI_E
a800: 52 52 4f 52 20 3d 20 30 78 46 46 46 46 46 46 46  RROR = 0xFFFFFFF
a810: 46 3b 0a 63 6f 6e 73 74 20 48 47 44 49 5f 45 52  F;.const HGDI_ER
a820: 52 4f 52 3d 20 63 61 73 74 28 48 41 4e 44 4c 45  ROR= cast(HANDLE
a830: 29 20 47 44 49 5f 45 52 52 4f 52 3b 0a 0a 2f 2f  ) GDI_ERROR;..//
a840: 20 54 45 58 54 4d 45 54 52 49 43 2e 74 6d 50 69   TEXTMETRIC.tmPi
a850: 74 63 68 41 6e 64 46 61 6d 69 6c 79 0a 63 6f 6e  tchAndFamily.con
a860: 73 74 20 42 59 54 45 0a 54 4d 50 46 5f 46 49 58  st BYTE.TMPF_FIX
a870: 45 44 5f 50 49 54 43 48 20 3d 20 31 2c 0a 54 4d  ED_PITCH = 1,.TM
a880: 50 46 5f 56 45 43 54 4f 52 20 20 20 20 20 20 3d  PF_VECTOR      =
a890: 20 32 2c 0a 54 4d 50 46 5f 54 52 55 45 54 59 50   2,.TMPF_TRUETYP
a8a0: 45 20 20 20 20 3d 20 34 2c 0a 54 4d 50 46 5f 44  E    = 4,.TMPF_D
a8b0: 45 56 49 43 45 20 20 20 20 20 20 3d 20 38 3b 0a  EVICE      = 8;.
a8c0: 0a 2f 2f 20 4e 45 57 54 45 58 54 4d 45 54 52 49  .// NEWTEXTMETRI
a8d0: 43 2e 6e 74 6d 46 6c 61 67 73 0a 63 6f 6e 73 74  C.ntmFlags.const
a8e0: 20 44 57 4f 52 44 0a 4e 54 4d 5f 49 54 41 4c 49   DWORD.NTM_ITALI
a8f0: 43 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  C         = 0x00
a900: 30 30 30 30 30 31 2c 0a 4e 54 4d 5f 42 4f 4c 44  000001,.NTM_BOLD
a910: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
a920: 30 30 30 30 30 32 30 2c 0a 4e 54 4d 5f 52 45 47  0000020,.NTM_REG
a930: 55 4c 41 52 20 20 20 20 20 20 20 20 3d 20 30 78  ULAR        = 0x
a940: 30 30 30 30 30 30 34 30 2c 0a 4e 54 4d 5f 4e 4f  00000040,.NTM_NO
a950: 4e 4e 45 47 41 54 49 56 45 5f 41 43 20 3d 20 30  NNEGATIVE_AC = 0
a960: 78 30 30 30 31 30 30 30 30 2c 0a 4e 54 4d 5f 50  x00010000,.NTM_P
a970: 53 5f 4f 50 45 4e 54 59 50 45 20 20 20 20 3d 20  S_OPENTYPE    = 
a980: 30 78 30 30 30 32 30 30 30 30 2c 0a 4e 54 4d 5f  0x00020000,.NTM_
a990: 54 54 5f 4f 50 45 4e 54 59 50 45 20 20 20 20 3d  TT_OPENTYPE    =
a9a0: 20 30 78 30 30 30 34 30 30 30 30 2c 0a 4e 54 4d   0x00040000,.NTM
a9b0: 5f 4d 55 4c 54 49 50 4c 45 4d 41 53 54 45 52 20  _MULTIPLEMASTER 
a9c0: 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 4e 54  = 0x00080000,.NT
a9d0: 4d 5f 54 59 50 45 31 20 20 20 20 20 20 20 20 20  M_TYPE1         
a9e0: 20 3d 20 30 78 30 30 31 30 30 30 30 30 2c 0a 4e   = 0x00100000,.N
a9f0: 54 4d 5f 44 53 49 47 20 20 20 20 20 20 20 20 20  TM_DSIG         
aa00: 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 3b 0a    = 0x00200000;.
aa10: 0a 2f 2f 20 2d 2d 2d 0a 63 6f 6e 73 74 20 44 57  .// ---.const DW
aa20: 4f 52 44 20 54 54 5f 50 4f 4c 59 47 4f 4e 5f 54  ORD TT_POLYGON_T
aa30: 59 50 45 20 3d 20 32 34 3b 0a 0a 2f 2f 20 54 54  YPE = 24;..// TT
aa40: 50 4f 4c 59 43 55 52 56 45 0a 65 6e 75 6d 20 3a  POLYCURVE.enum :
aa50: 20 57 4f 52 44 20 7b 0a 20 20 20 20 54 54 5f 50   WORD {.    TT_P
aa60: 52 49 4d 5f 4c 49 4e 45 20 20 20 20 3d 20 31 2c  RIM_LINE    = 1,
aa70: 0a 20 20 20 20 54 54 5f 50 52 49 4d 5f 51 53 50  .    TT_PRIM_QSP
aa80: 4c 49 4e 45 20 3d 20 32 2c 0a 20 20 20 20 54 54  LINE = 2,.    TT
aa90: 5f 50 52 49 4d 5f 43 53 50 4c 49 4e 45 20 3d 20  _PRIM_CSPLINE = 
aaa0: 33 2c 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 0a 63 6f 6e  3,.}..// ---.con
aab0: 73 74 20 46 4f 4e 54 4d 41 50 50 45 52 5f 4d 41  st FONTMAPPER_MA
aac0: 58 20 20 20 20 20 20 20 3d 20 31 30 3b 0a 63 6f  X       = 10;.co
aad0: 6e 73 74 20 45 4e 48 4d 45 54 41 5f 53 54 4f 43  nst ENHMETA_STOC
aae0: 4b 5f 4f 42 4a 45 43 54 20 3d 20 30 78 38 30 30  K_OBJECT = 0x800
aaf0: 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 57 47 4c  00000;.const WGL
ab00: 5f 46 4f 4e 54 5f 4c 49 4e 45 53 20 20 20 20 20  _FONT_LINES     
ab10: 20 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 57 47 4c    = 0;.const WGL
ab20: 5f 46 4f 4e 54 5f 50 4f 4c 59 47 4f 4e 53 20 20  _FONT_POLYGONS  
ab30: 20 20 3d 20 31 3b 0a 0a 2f 2f 20 2d 2d 2d 0a 2f    = 1;..// ---./
ab40: 2f 20 4c 41 59 45 52 50 4c 41 4e 45 44 45 53 43  / LAYERPLANEDESC
ab50: 52 49 50 54 4f 52 2e 64 77 46 6c 61 67 73 0a 63  RIPTOR.dwFlags.c
ab60: 6f 6e 73 74 20 44 57 4f 52 44 0a 4c 50 44 5f 44  onst DWORD.LPD_D
ab70: 4f 55 42 4c 45 42 55 46 46 45 52 20 20 20 3d 20  OUBLEBUFFER   = 
ab80: 31 2c 0a 4c 50 44 5f 53 54 45 52 45 4f 20 20 20  1,.LPD_STEREO   
ab90: 20 20 20 20 20 20 3d 20 32 2c 0a 4c 50 44 5f 53        = 2,.LPD_S
aba0: 55 50 50 4f 52 54 5f 47 44 49 20 20 20 20 3d 20  UPPORT_GDI    = 
abb0: 31 36 2c 0a 4c 50 44 5f 53 55 50 50 4f 52 54 5f  16,.LPD_SUPPORT_
abc0: 4f 50 45 4e 47 4c 20 3d 20 33 32 2c 0a 4c 50 44  OPENGL = 32,.LPD
abd0: 5f 53 48 41 52 45 5f 44 45 50 54 48 20 20 20 20  _SHARE_DEPTH    
abe0: 3d 20 36 34 2c 0a 4c 50 44 5f 53 48 41 52 45 5f  = 64,.LPD_SHARE_
abf0: 53 54 45 4e 43 49 4c 20 20 3d 20 31 32 38 2c 0a  STENCIL  = 128,.
ac00: 4c 50 44 5f 53 48 41 52 45 5f 41 43 43 55 4d 20  LPD_SHARE_ACCUM 
ac10: 20 20 20 3d 20 32 35 36 2c 0a 4c 50 44 5f 53 57     = 256,.LPD_SW
ac20: 41 50 5f 45 58 43 48 41 4e 47 45 20 20 3d 20 35  AP_EXCHANGE  = 5
ac30: 31 32 2c 0a 4c 50 44 5f 53 57 41 50 5f 43 4f 50  12,.LPD_SWAP_COP
ac40: 59 20 20 20 20 20 20 3d 20 31 30 32 34 2c 0a 4c  Y      = 1024,.L
ac50: 50 44 5f 54 52 41 4e 53 50 41 52 45 4e 54 20 20  PD_TRANSPARENT  
ac60: 20 20 3d 20 34 30 39 36 3b 0a 0a 2f 2f 20 4c 41    = 4096;..// LA
ac70: 59 45 52 50 4c 41 4e 45 44 45 53 43 52 49 50 54  YERPLANEDESCRIPT
ac80: 4f 52 2e 69 50 69 78 65 6c 54 79 70 65 0a 65 6e  OR.iPixelType.en
ac90: 75 6d 20 3a 20 42 59 54 45 20 7b 0a 20 20 20 20  um : BYTE {.    
aca0: 4c 50 44 5f 54 59 50 45 5f 52 47 42 41 20 20 20  LPD_TYPE_RGBA   
acb0: 20 20 20 20 3d 20 30 2c 0a 20 20 20 20 4c 50 44      = 0,.    LPD
acc0: 5f 54 59 50 45 5f 43 4f 4c 4f 52 49 4e 44 45 58  _TYPE_COLORINDEX
acd0: 20 3d 20 31 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 0a 0a   = 1.}..// ---..
ace0: 2f 2f 20 77 67 6c 53 77 61 70 4c 61 79 65 72 42  // wglSwapLayerB
acf0: 75 66 66 65 72 73 28 29 0a 63 6f 6e 73 74 20 55  uffers().const U
ad00: 49 4e 54 0a 57 47 4c 5f 53 57 41 50 5f 4d 41 49  INT.WGL_SWAP_MAI
ad10: 4e 5f 50 4c 41 4e 45 20 3d 20 31 2c 0a 57 47 4c  N_PLANE = 1,.WGL
ad20: 5f 53 57 41 50 5f 4f 56 45 52 4c 41 59 31 20 20  _SWAP_OVERLAY1  
ad30: 20 3d 20 32 2c 0a 57 47 4c 5f 53 57 41 50 5f 4f   = 2,.WGL_SWAP_O
ad40: 56 45 52 4c 41 59 32 20 20 20 3d 20 34 2c 0a 57  VERLAY2   = 4,.W
ad50: 47 4c 5f 53 57 41 50 5f 4f 56 45 52 4c 41 59 33  GL_SWAP_OVERLAY3
ad60: 20 20 20 3d 20 38 2c 0a 57 47 4c 5f 53 57 41 50     = 8,.WGL_SWAP
ad70: 5f 4f 56 45 52 4c 41 59 34 20 20 20 3d 20 31 36  _OVERLAY4   = 16
ad80: 2c 0a 57 47 4c 5f 53 57 41 50 5f 4f 56 45 52 4c  ,.WGL_SWAP_OVERL
ad90: 41 59 35 20 20 20 3d 20 33 32 2c 0a 57 47 4c 5f  AY5   = 32,.WGL_
ada0: 53 57 41 50 5f 4f 56 45 52 4c 41 59 36 20 20 20  SWAP_OVERLAY6   
adb0: 3d 20 36 34 2c 0a 57 47 4c 5f 53 57 41 50 5f 4f  = 64,.WGL_SWAP_O
adc0: 56 45 52 4c 41 59 37 20 20 20 3d 20 31 32 38 2c  VERLAY7   = 128,
add0: 0a 57 47 4c 5f 53 57 41 50 5f 4f 56 45 52 4c 41  .WGL_SWAP_OVERLA
ade0: 59 38 20 20 20 3d 20 32 35 36 2c 0a 57 47 4c 5f  Y8   = 256,.WGL_
adf0: 53 57 41 50 5f 4f 56 45 52 4c 41 59 39 20 20 20  SWAP_OVERLAY9   
ae00: 3d 20 35 31 32 2c 0a 57 47 4c 5f 53 57 41 50 5f  = 512,.WGL_SWAP_
ae10: 4f 56 45 52 4c 41 59 31 30 20 20 3d 20 31 30 32  OVERLAY10  = 102
ae20: 34 2c 0a 57 47 4c 5f 53 57 41 50 5f 4f 56 45 52  4,.WGL_SWAP_OVER
ae30: 4c 41 59 31 31 20 20 3d 20 32 30 34 38 2c 0a 57  LAY11  = 2048,.W
ae40: 47 4c 5f 53 57 41 50 5f 4f 56 45 52 4c 41 59 31  GL_SWAP_OVERLAY1
ae50: 32 20 20 3d 20 34 30 39 36 2c 0a 57 47 4c 5f 53  2  = 4096,.WGL_S
ae60: 57 41 50 5f 4f 56 45 52 4c 41 59 31 33 20 20 3d  WAP_OVERLAY13  =
ae70: 20 38 31 39 32 2c 0a 57 47 4c 5f 53 57 41 50 5f   8192,.WGL_SWAP_
ae80: 4f 56 45 52 4c 41 59 31 34 20 20 3d 20 31 36 33  OVERLAY14  = 163
ae90: 38 34 2c 0a 57 47 4c 5f 53 57 41 50 5f 4f 56 45  84,.WGL_SWAP_OVE
aea0: 52 4c 41 59 31 35 20 20 3d 20 33 32 37 36 38 2c  RLAY15  = 32768,
aeb0: 0a 57 47 4c 5f 53 57 41 50 5f 55 4e 44 45 52 4c  .WGL_SWAP_UNDERL
aec0: 41 59 31 20 20 3d 20 36 35 35 33 36 2c 0a 57 47  AY1  = 65536,.WG
aed0: 4c 5f 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 32  L_SWAP_UNDERLAY2
aee0: 20 20 3d 20 30 78 32 30 30 30 30 2c 0a 57 47 4c    = 0x20000,.WGL
aef0: 5f 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 33 20  _SWAP_UNDERLAY3 
af00: 20 3d 20 30 78 34 30 30 30 30 2c 0a 57 47 4c 5f   = 0x40000,.WGL_
af10: 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 34 20 20  SWAP_UNDERLAY4  
af20: 3d 20 30 78 38 30 30 30 30 2c 0a 57 47 4c 5f 53  = 0x80000,.WGL_S
af30: 57 41 50 5f 55 4e 44 45 52 4c 41 59 35 20 20 3d  WAP_UNDERLAY5  =
af40: 20 30 78 31 30 30 30 30 30 2c 0a 57 47 4c 5f 53   0x100000,.WGL_S
af50: 57 41 50 5f 55 4e 44 45 52 4c 41 59 36 20 20 3d  WAP_UNDERLAY6  =
af60: 20 30 78 32 30 30 30 30 30 2c 0a 57 47 4c 5f 53   0x200000,.WGL_S
af70: 57 41 50 5f 55 4e 44 45 52 4c 41 59 37 20 20 3d  WAP_UNDERLAY7  =
af80: 20 30 78 34 30 30 30 30 30 2c 0a 57 47 4c 5f 53   0x400000,.WGL_S
af90: 57 41 50 5f 55 4e 44 45 52 4c 41 59 38 20 20 3d  WAP_UNDERLAY8  =
afa0: 20 30 78 38 30 30 30 30 30 2c 0a 57 47 4c 5f 53   0x800000,.WGL_S
afb0: 57 41 50 5f 55 4e 44 45 52 4c 41 59 39 20 20 3d  WAP_UNDERLAY9  =
afc0: 20 30 78 31 30 30 30 30 30 30 2c 0a 57 47 4c 5f   0x1000000,.WGL_
afd0: 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 31 30 20  SWAP_UNDERLAY10 
afe0: 3d 20 30 78 32 30 30 30 30 30 30 2c 0a 57 47 4c  = 0x2000000,.WGL
aff0: 5f 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 31 31  _SWAP_UNDERLAY11
b000: 20 3d 20 30 78 34 30 30 30 30 30 30 2c 0a 57 47   = 0x4000000,.WG
b010: 4c 5f 53 57 41 50 5f 55 4e 44 45 52 4c 41 59 31  L_SWAP_UNDERLAY1
b020: 32 20 3d 20 30 78 38 30 30 30 30 30 30 2c 0a 57  2 = 0x8000000,.W
b030: 47 4c 5f 53 57 41 50 5f 55 4e 44 45 52 4c 41 59  GL_SWAP_UNDERLAY
b040: 31 33 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c  13 = 0x10000000,
b050: 0a 57 47 4c 5f 53 57 41 50 5f 55 4e 44 45 52 4c  .WGL_SWAP_UNDERL
b060: 41 59 31 34 20 3d 20 30 78 32 30 30 30 30 30 30  AY14 = 0x2000000
b070: 30 2c 0a 57 47 4c 5f 53 57 41 50 5f 55 4e 44 45  0,.WGL_SWAP_UNDE
b080: 52 4c 41 59 31 35 20 3d 20 30 78 34 30 30 30 30  RLAY15 = 0x40000
b090: 30 30 30 3b 0a 0a 63 6f 6e 73 74 20 41 43 5f 53  000;..const AC_S
b0a0: 52 43 5f 4f 56 45 52 20 20 3d 20 30 78 30 30 3b  RC_OVER  = 0x00;
b0b0: 0a 63 6f 6e 73 74 20 41 43 5f 53 52 43 5f 41 4c  .const AC_SRC_AL
b0c0: 50 48 41 20 3d 20 30 78 30 31 3b 0a 0a 2f 2f 20  PHA = 0x01;..// 
b0d0: 3f 3f 3f 0a 63 6f 6e 73 74 20 41 43 5f 53 52 43  ???.const AC_SRC
b0e0: 5f 4e 4f 5f 50 52 45 4d 55 4c 54 5f 41 4c 50 48  _NO_PREMULT_ALPH
b0f0: 41 20 3d 20 30 78 30 31 3b 0a 63 6f 6e 73 74 20  A = 0x01;.const 
b100: 41 43 5f 53 52 43 5f 4e 4f 5f 41 4c 50 48 41 20  AC_SRC_NO_ALPHA 
b110: 20 20 20 20 20 20 20 20 3d 20 30 78 30 32 3b 0a          = 0x02;.
b120: 63 6f 6e 73 74 20 41 43 5f 44 53 54 5f 4e 4f 5f  const AC_DST_NO_
b130: 50 52 45 4d 55 4c 54 5f 41 4c 50 48 41 20 3d 20  PREMULT_ALPHA = 
b140: 30 78 31 30 3b 0a 63 6f 6e 73 74 20 41 43 5f 44  0x10;.const AC_D
b150: 53 54 5f 4e 4f 5f 41 4c 50 48 41 20 20 20 20 20  ST_NO_ALPHA     
b160: 20 20 20 20 3d 20 30 78 32 30 3b 0a 0a 63 6f 6e      = 0x20;..con
b170: 73 74 20 4c 41 59 4f 55 54 5f 52 54 4c 20 3d 20  st LAYOUT_RTL = 
b180: 31 3b 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f  1;.const LAYOUT_
b190: 42 54 54 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4c  BTT = 2;.const L
b1a0: 41 59 4f 55 54 5f 56 42 48 20 3d 20 34 3b 0a 63  AYOUT_VBH = 4;.c
b1b0: 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 42 49 54 4d  onst LAYOUT_BITM
b1c0: 41 50 4f 52 49 45 4e 54 41 54 49 4f 4e 50 52 45  APORIENTATIONPRE
b1d0: 53 45 52 56 45 44 20 3d 20 38 3b 0a 0a 73 74 61  SERVED = 8;..sta
b1e0: 74 69 63 0a 0a 69 66 20 28 57 49 4e 56 45 52 20  tic..if (WINVER 
b1f0: 3e 20 30 78 30 34 30 30 29 0a 7b 0a 20 20 20 20  > 0x0400).{.    
b200: 63 6f 6e 73 74 20 43 53 5f 45 4e 41 42 4c 45 20  const CS_ENABLE 
b210: 20 3d 20 30 78 30 30 30 30 30 30 30 31 3b 0a 20   = 0x00000001;. 
b220: 20 20 20 63 6f 6e 73 74 20 43 53 5f 44 49 53 41     const CS_DISA
b230: 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 32  BLE = 0x00000002
b240: 3b 0a 20 20 20 20 63 6f 6e 73 74 20 43 53 5f 44  ;.    const CS_D
b250: 45 4c 45 54 45 5f 54 52 41 4e 53 46 4f 52 4d 20  ELETE_TRANSFORM 
b260: 3d 20 30 78 30 30 30 30 30 30 30 33 3b 0a 7d 0a  = 0x00000003;.}.
b270: 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49 4e  .static..if (WIN
b280: 56 45 52 20 3e 20 30 78 30 35 30 30 29 0a 7b 0a  VER > 0x0500).{.
b290: 20 20 20 20 63 6f 6e 73 74 20 47 52 41 44 49 45      const GRADIE
b2a0: 4e 54 5f 46 49 4c 4c 5f 52 45 43 54 5f 48 20 20  NT_FILL_RECT_H  
b2b0: 20 20 20 20 3d 30 78 30 30 3b 0a 20 20 20 20 63      =0x00;.    c
b2c0: 6f 6e 73 74 20 47 52 41 44 49 45 4e 54 5f 46 49  onst GRADIENT_FI
b2d0: 4c 4c 5f 52 45 43 54 5f 56 20 20 20 20 20 20 3d  LL_RECT_V      =
b2e0: 30 78 30 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20  0x01;.    const 
b2f0: 47 52 41 44 49 45 4e 54 5f 46 49 4c 4c 5f 54 52  GRADIENT_FILL_TR
b300: 49 41 4e 47 4c 45 20 20 20 20 3d 30 78 30 32 3b  IANGLE    =0x02;
b310: 0a 20 20 20 20 63 6f 6e 73 74 20 47 52 41 44 49  .    const GRADI
b320: 45 4e 54 5f 46 49 4c 4c 5f 4f 50 5f 46 4c 41 47  ENT_FILL_OP_FLAG
b330: 20 20 20 20 20 3d 30 78 66 66 3b 0a 20 20 20 20       =0xff;.    
b340: 63 6f 6e 73 74 20 43 4f 4c 4f 52 4d 41 54 43 48  const COLORMATCH
b350: 54 4f 54 41 52 47 45 54 5f 45 4d 42 45 44 45 44  TOTARGET_EMBEDED
b360: 3d 30 78 30 30 30 30 30 30 30 31 3b 0a 20 20 20  =0x00000001;.   
b370: 20 63 6f 6e 73 74 20 43 52 45 41 54 45 43 4f 4c   const CREATECOL
b380: 4f 52 53 50 41 43 45 5f 45 4d 42 45 44 45 44 20  ORSPACE_EMBEDED 
b390: 20 3d 30 78 30 30 30 30 30 30 30 31 3b 0a 20 20   =0x00000001;.  
b3a0: 20 20 63 6f 6e 73 74 20 53 45 54 49 43 4d 50 52    const SETICMPR
b3b0: 4f 46 49 4c 45 5f 45 4d 42 45 44 45 44 20 20 20  OFILE_EMBEDED   
b3c0: 20 20 3d 30 78 30 30 30 30 30 30 30 31 3b 0a 7d    =0x00000001;.}
b3d0: 0a 0a 2f 2f 20 44 49 53 50 4c 41 59 5f 44 45 56  ..// DISPLAY_DEV
b3e0: 49 43 45 2e 53 74 61 74 65 46 6c 61 67 73 0a 63  ICE.StateFlags.c
b3f0: 6f 6e 73 74 20 44 57 4f 52 44 0a 44 49 53 50 4c  onst DWORD.DISPL
b400: 41 59 5f 44 45 56 49 43 45 5f 41 54 54 41 43 48  AY_DEVICE_ATTACH
b410: 45 44 5f 54 4f 5f 44 45 53 4b 54 4f 50 20 3d 20  ED_TO_DESKTOP = 
b420: 30 78 30 30 30 30 30 30 30 31 2c 0a 44 49 53 50  0x00000001,.DISP
b430: 4c 41 59 5f 44 45 56 49 43 45 5f 4d 55 4c 54 49  LAY_DEVICE_MULTI
b440: 5f 44 52 49 56 45 52 20 20 20 20 20 20 20 20 3d  _DRIVER        =
b450: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 44 49 53   0x00000002,.DIS
b460: 50 4c 41 59 5f 44 45 56 49 43 45 5f 50 52 49 4d  PLAY_DEVICE_PRIM
b470: 41 52 59 5f 44 45 56 49 43 45 20 20 20 20 20 20  ARY_DEVICE      
b480: 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0a 44 49  = 0x00000004,.DI
b490: 53 50 4c 41 59 5f 44 45 56 49 43 45 5f 4d 49 52  SPLAY_DEVICE_MIR
b4a0: 52 4f 52 49 4e 47 5f 44 52 49 56 45 52 20 20 20  RORING_DRIVER   
b4b0: 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 44   = 0x00000008,.D
b4c0: 49 53 50 4c 41 59 5f 44 45 56 49 43 45 5f 56 47  ISPLAY_DEVICE_VG
b4d0: 41 5f 43 4f 4d 50 41 54 49 42 4c 45 20 20 20 20  A_COMPATIBLE    
b4e0: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a    = 0x00000010,.
b4f0: 44 49 53 50 4c 41 59 5f 44 45 56 49 43 45 5f 52  DISPLAY_DEVICE_R
b500: 45 4d 4f 56 41 42 4c 45 20 20 20 20 20 20 20 20  EMOVABLE        
b510: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c     = 0x00000020,
b520: 0a 44 49 53 50 4c 41 59 5f 44 45 56 49 43 45 5f  .DISPLAY_DEVICE_
b530: 44 49 53 43 4f 4e 4e 45 43 54 20 20 20 20 20 20  DISCONNECT      
b540: 20 20 20 20 3d 20 30 78 30 32 30 30 30 30 30 30      = 0x02000000
b550: 2c 0a 44 49 53 50 4c 41 59 5f 44 45 56 49 43 45  ,.DISPLAY_DEVICE
b560: 5f 52 45 4d 4f 54 45 20 20 20 20 20 20 20 20 20  _REMOTE         
b570: 20 20 20 20 20 3d 20 30 78 30 34 30 30 30 30 30       = 0x0400000
b580: 30 2c 0a 44 49 53 50 4c 41 59 5f 44 45 56 49 43  0,.DISPLAY_DEVIC
b590: 45 5f 4d 4f 44 45 53 50 52 55 4e 45 44 20 20 20  E_MODESPRUNED   
b5a0: 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 30 30        = 0x080000
b5b0: 30 30 3b 0a 0a 2f 2a 20 43 68 69 6c 64 20 64 65  00;../* Child de
b5c0: 76 69 63 65 20 73 74 61 74 65 20 2a 2f 0a 63 6f  vice state */.co
b5d0: 6e 73 74 20 44 57 4f 52 44 0a 44 49 53 50 4c 41  nst DWORD.DISPLA
b5e0: 59 5f 44 45 56 49 43 45 5f 41 43 54 49 56 45 20  Y_DEVICE_ACTIVE 
b5f0: 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0a    = 0x00000001,.
b600: 44 49 53 50 4c 41 59 5f 44 45 56 49 43 45 5f 41  DISPLAY_DEVICE_A
b610: 54 54 41 43 48 45 44 20 3d 20 30 78 30 30 30 30  TTACHED = 0x0000
b620: 30 30 30 32 3b 0a 0a 73 74 61 74 69 63 0a 0a 69  0002;..static..i
b630: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
b640: 3e 3d 20 30 78 30 35 30 30 29 0a 7b 0a 20 20 20  >= 0x0500).{.   
b650: 20 63 6f 6e 73 74 20 47 47 49 5f 4d 41 52 4b 5f   const GGI_MARK_
b660: 4e 4f 4e 45 58 49 53 54 49 4e 47 5f 47 4c 59 50  NONEXISTING_GLYP
b670: 48 53 20 3d 20 31 3b 0a 7d 0a 0a 2f 2f 20 2d 2d  HS = 1;.}..// --
b680: 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 20 20 53 54  --------.//   ST
b690: 52 55 43 54 53 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d  RUCTS.// -------
b6a0: 2d 2d 2d 0a 0a 73 74 72 75 63 74 20 41 42 43 0a  ---..struct ABC.
b6b0: 7b 0a 20 20 20 20 69 6e 74 20 61 62 63 41 3b 0a  {.    int abcA;.
b6c0: 20 20 20 20 55 49 4e 54 20 61 62 63 42 3b 0a 20      UINT abcB;. 
b6d0: 20 20 20 69 6e 74 20 61 62 63 43 3b 0a 7d 0a 61     int abcC;.}.a
b6e0: 6c 69 61 73 20 41 42 43 2a 50 41 42 43 2c 20 4e  lias ABC*PABC, N
b6f0: 50 41 42 43 2c 20 4c 50 41 42 43 3b 0a 0a 73 74  PABC, LPABC;..st
b700: 72 75 63 74 20 41 42 43 46 4c 4f 41 54 0a 7b 0a  ruct ABCFLOAT.{.
b710: 20 20 20 20 46 4c 4f 41 54 20 61 62 63 66 41 3b      FLOAT abcfA;
b720: 0a 20 20 20 20 46 4c 4f 41 54 20 61 62 63 66 42  .    FLOAT abcfB
b730: 3b 0a 20 20 20 20 46 4c 4f 41 54 20 61 62 63 66  ;.    FLOAT abcf
b740: 43 3b 0a 7d 0a 61 6c 69 61 73 20 41 42 43 46 4c  C;.}.alias ABCFL
b750: 4f 41 54 2a 50 41 42 43 46 4c 4f 41 54 2c 20 4e  OAT*PABCFLOAT, N
b760: 50 41 42 43 46 4c 4f 41 54 2c 20 4c 50 41 42 43  PABCFLOAT, LPABC
b770: 46 4c 4f 41 54 3b 0a 0a 73 74 72 75 63 74 20 42  FLOAT;..struct B
b780: 49 54 4d 41 50 0a 7b 0a 20 20 20 20 4c 4f 4e 47  ITMAP.{.    LONG
b790: 20 62 6d 54 79 70 65 3b 0a 20 20 20 20 4c 4f 4e   bmType;.    LON
b7a0: 47 20 62 6d 57 69 64 74 68 3b 0a 20 20 20 20 4c  G bmWidth;.    L
b7b0: 4f 4e 47 20 62 6d 48 65 69 67 68 74 3b 0a 20 20  ONG bmHeight;.  
b7c0: 20 20 4c 4f 4e 47 20 62 6d 57 69 64 74 68 42 79    LONG bmWidthBy
b7d0: 74 65 73 3b 0a 20 20 20 20 57 4f 52 44 20 62 6d  tes;.    WORD bm
b7e0: 50 6c 61 6e 65 73 3b 0a 20 20 20 20 57 4f 52 44  Planes;.    WORD
b7f0: 20 62 6d 42 69 74 73 50 69 78 65 6c 3b 0a 20 20   bmBitsPixel;.  
b800: 20 20 4c 50 56 4f 49 44 20 62 6d 42 69 74 73 3b    LPVOID bmBits;
b810: 0a 7d 0a 61 6c 69 61 73 20 42 49 54 4d 41 50 2a  .}.alias BITMAP*
b820: 50 42 49 54 4d 41 50 2c 20 4e 50 42 49 54 4d 41  PBITMAP, NPBITMA
b830: 50 2c 20 4c 50 42 49 54 4d 41 50 3b 0a 0a 73 74  P, LPBITMAP;..st
b840: 72 75 63 74 20 42 49 54 4d 41 50 43 4f 52 45 48  ruct BITMAPCOREH
b850: 45 41 44 45 52 0a 7b 0a 20 20 20 20 44 57 4f 52  EADER.{.    DWOR
b860: 44 20 62 63 53 69 7a 65 3b 0a 20 20 20 20 57 4f  D bcSize;.    WO
b870: 52 44 20 62 63 57 69 64 74 68 3b 0a 20 20 20 20  RD bcWidth;.    
b880: 57 4f 52 44 20 62 63 48 65 69 67 68 74 3b 0a 20  WORD bcHeight;. 
b890: 20 20 20 57 4f 52 44 20 62 63 50 6c 61 6e 65 73     WORD bcPlanes
b8a0: 3b 0a 20 20 20 20 57 4f 52 44 20 62 63 42 69 74  ;.    WORD bcBit
b8b0: 43 6f 75 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 42  Count;.}.alias B
b8c0: 49 54 4d 41 50 43 4f 52 45 48 45 41 44 45 52 2a  ITMAPCOREHEADER*
b8d0: 50 42 49 54 4d 41 50 43 4f 52 45 48 45 41 44 45  PBITMAPCOREHEADE
b8e0: 52 2c 20 4c 50 42 49 54 4d 41 50 43 4f 52 45 48  R, LPBITMAPCOREH
b8f0: 45 41 44 45 52 3b 0a 0a 61 6c 69 67 6e 20 28 31  EADER;..align (1
b900: 29 20 3a 0a 73 74 72 75 63 74 20 52 47 42 54 52  ) :.struct RGBTR
b910: 49 50 4c 45 0a 7b 0a 20 20 20 20 42 59 54 45 20  IPLE.{.    BYTE 
b920: 72 67 62 74 42 6c 75 65 3b 0a 20 20 20 20 42 59  rgbtBlue;.    BY
b930: 54 45 20 72 67 62 74 47 72 65 65 6e 3b 0a 20 20  TE rgbtGreen;.  
b940: 20 20 42 59 54 45 20 72 67 62 74 52 65 64 3b 0a    BYTE rgbtRed;.
b950: 7d 0a 61 6c 69 61 73 20 52 47 42 54 52 49 50 4c  }.alias RGBTRIPL
b960: 45 2a 4c 50 52 47 42 54 52 49 50 4c 45 3b 0a 0a  E*LPRGBTRIPLE;..
b970: 61 6c 69 67 6e 20 28 32 29 20 3a 0a 73 74 72 75  align (2) :.stru
b980: 63 74 20 42 49 54 4d 41 50 46 49 4c 45 48 45 41  ct BITMAPFILEHEA
b990: 44 45 52 0a 7b 0a 20 20 20 20 57 4f 52 44 20 62  DER.{.    WORD b
b9a0: 66 54 79 70 65 3b 0a 20 20 20 20 44 57 4f 52 44  fType;.    DWORD
b9b0: 20 62 66 53 69 7a 65 3b 0a 20 20 20 20 57 4f 52   bfSize;.    WOR
b9c0: 44 20 62 66 52 65 73 65 72 76 65 64 31 3b 0a 20  D bfReserved1;. 
b9d0: 20 20 20 57 4f 52 44 20 62 66 52 65 73 65 72 76     WORD bfReserv
b9e0: 65 64 32 3b 0a 20 20 20 20 44 57 4f 52 44 20 62  ed2;.    DWORD b
b9f0: 66 4f 66 66 42 69 74 73 3b 0a 7d 0a 61 6c 69 61  fOffBits;.}.alia
ba00: 73 20 42 49 54 4d 41 50 46 49 4c 45 48 45 41 44  s BITMAPFILEHEAD
ba10: 45 52 2a 4c 50 42 49 54 4d 41 50 46 49 4c 45 48  ER*LPBITMAPFILEH
ba20: 45 41 44 45 52 2c 20 50 42 49 54 4d 41 50 46 49  EADER, PBITMAPFI
ba30: 4c 45 48 45 41 44 45 52 3b 0a 0a 61 6c 69 67 6e  LEHEADER;..align
ba40: 20 3a 0a 0a 73 74 72 75 63 74 20 42 49 54 4d 41   :..struct BITMA
ba50: 50 43 4f 52 45 49 4e 46 4f 0a 7b 0a 20 20 20 20  PCOREINFO.{.    
ba60: 42 49 54 4d 41 50 43 4f 52 45 48 45 41 44 45 52  BITMAPCOREHEADER
ba70: 20 62 6d 63 69 48 65 61 64 65 72 3b 0a 20 20 20   bmciHeader;.   
ba80: 20 52 47 42 54 52 49 50 4c 45 5b 31 5d 20 20 20   RGBTRIPLE[1]   
ba90: 20 20 62 6d 63 69 43 6f 6c 6f 72 73 3b 0a 7d 0a    bmciColors;.}.
baa0: 61 6c 69 61 73 20 42 49 54 4d 41 50 43 4f 52 45  alias BITMAPCORE
bab0: 49 4e 46 4f 2a 4c 50 42 49 54 4d 41 50 43 4f 52  INFO*LPBITMAPCOR
bac0: 45 49 4e 46 4f 2c 20 50 42 49 54 4d 41 50 43 4f  EINFO, PBITMAPCO
bad0: 52 45 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20  REINFO;..struct 
bae0: 42 49 54 4d 41 50 49 4e 46 4f 48 45 41 44 45 52  BITMAPINFOHEADER
baf0: 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20 62 69 53  .{.    DWORD biS
bb00: 69 7a 65 3b 0a 20 20 20 20 4c 4f 4e 47 20 62 69  ize;.    LONG bi
bb10: 57 69 64 74 68 3b 0a 20 20 20 20 4c 4f 4e 47 20  Width;.    LONG 
bb20: 62 69 48 65 69 67 68 74 3b 0a 20 20 20 20 57 4f  biHeight;.    WO
bb30: 52 44 20 62 69 50 6c 61 6e 65 73 3b 0a 20 20 20  RD biPlanes;.   
bb40: 20 57 4f 52 44 20 62 69 42 69 74 43 6f 75 6e 74   WORD biBitCount
bb50: 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 69 43 6f  ;.    DWORD biCo
bb60: 6d 70 72 65 73 73 69 6f 6e 3b 0a 20 20 20 20 44  mpression;.    D
bb70: 57 4f 52 44 20 62 69 53 69 7a 65 49 6d 61 67 65  WORD biSizeImage
bb80: 3b 0a 20 20 20 20 4c 4f 4e 47 20 62 69 58 50 65  ;.    LONG biXPe
bb90: 6c 73 50 65 72 4d 65 74 65 72 3b 0a 20 20 20 20  lsPerMeter;.    
bba0: 4c 4f 4e 47 20 62 69 59 50 65 6c 73 50 65 72 4d  LONG biYPelsPerM
bbb0: 65 74 65 72 3b 0a 20 20 20 20 44 57 4f 52 44 20  eter;.    DWORD 
bbc0: 62 69 43 6c 72 55 73 65 64 3b 0a 20 20 20 20 44  biClrUsed;.    D
bbd0: 57 4f 52 44 20 62 69 43 6c 72 49 6d 70 6f 72 74  WORD biClrImport
bbe0: 61 6e 74 3b 0a 7d 0a 0a 61 6c 69 61 73 20 42 49  ant;.}..alias BI
bbf0: 54 4d 41 50 49 4e 46 4f 48 45 41 44 45 52 2a 4c  TMAPINFOHEADER*L
bc00: 50 42 49 54 4d 41 50 49 4e 46 4f 48 45 41 44 45  PBITMAPINFOHEADE
bc10: 52 2c 20 50 42 49 54 4d 41 50 49 4e 46 4f 48 45  R, PBITMAPINFOHE
bc20: 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 52 47  ADER;..struct RG
bc30: 42 51 55 41 44 0a 7b 0a 20 20 20 20 42 59 54 45  BQUAD.{.    BYTE
bc40: 20 72 67 62 42 6c 75 65 3b 0a 20 20 20 20 42 59   rgbBlue;.    BY
bc50: 54 45 20 72 67 62 47 72 65 65 6e 3b 0a 20 20 20  TE rgbGreen;.   
bc60: 20 42 59 54 45 20 72 67 62 52 65 64 3b 0a 20 20   BYTE rgbRed;.  
bc70: 20 20 42 59 54 45 20 72 67 62 52 65 73 65 72 76    BYTE rgbReserv
bc80: 65 64 3b 0a 7d 3b 0a 61 6c 69 61 73 20 52 47 42  ed;.};.alias RGB
bc90: 51 55 41 44 2a 4c 50 52 47 42 51 55 41 44 3b 0a  QUAD*LPRGBQUAD;.
bca0: 0a 73 74 72 75 63 74 20 42 49 54 4d 41 50 49 4e  .struct BITMAPIN
bcb0: 46 4f 0a 7b 0a 20 20 20 20 42 49 54 4d 41 50 49  FO.{.    BITMAPI
bcc0: 4e 46 4f 48 45 41 44 45 52 20 62 6d 69 48 65 61  NFOHEADER bmiHea
bcd0: 64 65 72 3b 0a 20 20 20 20 52 47 42 51 55 41 44  der;.    RGBQUAD
bce0: 5b 31 5d 20 20 20 20 20 20 20 62 6d 69 43 6f 6c  [1]       bmiCol
bcf0: 6f 72 73 3b 0a 7d 3b 0a 61 6c 69 61 73 20 42 49  ors;.};.alias BI
bd00: 54 4d 41 50 49 4e 46 4f 2a 50 42 49 54 4d 41 50  TMAPINFO*PBITMAP
bd10: 49 4e 46 4f 2c 20 4c 50 42 49 54 4d 41 50 49 4e  INFO, LPBITMAPIN
bd20: 46 4f 3b 0a 0a 61 6c 69 61 73 20 69 6e 74 20 46  FO;..alias int F
bd30: 58 50 54 31 36 44 4f 54 31 36 3b 0a 61 6c 69 61  XPT16DOT16;.alia
bd40: 73 20 69 6e 74 2a 4c 50 46 58 50 54 31 36 44 4f  s int*LPFXPT16DO
bd50: 54 31 36 3b 0a 61 6c 69 61 73 20 69 6e 74 20 46  T16;.alias int F
bd60: 58 50 54 32 44 4f 54 33 30 3b 0a 61 6c 69 61 73  XPT2DOT30;.alias
bd70: 20 69 6e 74 2a 4c 50 46 58 50 54 32 44 4f 54 33   int*LPFXPT2DOT3
bd80: 30 3b 0a 0a 73 74 72 75 63 74 20 43 49 45 58 59  0;..struct CIEXY
bd90: 5a 0a 7b 0a 20 20 20 20 46 58 50 54 32 44 4f 54  Z.{.    FXPT2DOT
bda0: 33 30 20 63 69 65 78 79 7a 58 3b 0a 20 20 20 20  30 ciexyzX;.    
bdb0: 46 58 50 54 32 44 4f 54 33 30 20 63 69 65 78 79  FXPT2DOT30 ciexy
bdc0: 7a 59 3b 0a 20 20 20 20 46 58 50 54 32 44 4f 54  zY;.    FXPT2DOT
bdd0: 33 30 20 63 69 65 78 79 7a 5a 3b 0a 7d 0a 61 6c  30 ciexyzZ;.}.al
bde0: 69 61 73 20 43 49 45 58 59 5a 2a 4c 50 43 49 45  ias CIEXYZ*LPCIE
bdf0: 58 59 5a 3b 0a 0a 73 74 72 75 63 74 20 43 49 45  XYZ;..struct CIE
be00: 58 59 5a 54 52 49 50 4c 45 0a 7b 0a 20 20 20 20  XYZTRIPLE.{.    
be10: 43 49 45 58 59 5a 20 63 69 65 78 79 7a 52 65 64  CIEXYZ ciexyzRed
be20: 3b 0a 20 20 20 20 43 49 45 58 59 5a 20 63 69 65  ;.    CIEXYZ cie
be30: 78 79 7a 47 72 65 65 6e 3b 0a 20 20 20 20 43 49  xyzGreen;.    CI
be40: 45 58 59 5a 20 63 69 65 78 79 7a 42 6c 75 65 3b  EXYZ ciexyzBlue;
be50: 0a 7d 0a 61 6c 69 61 73 20 43 49 45 58 59 5a 54  .}.alias CIEXYZT
be60: 52 49 50 4c 45 2a 4c 50 43 49 45 58 59 5a 54 52  RIPLE*LPCIEXYZTR
be70: 49 50 4c 45 3b 0a 0a 73 74 72 75 63 74 20 42 49  IPLE;..struct BI
be80: 54 4d 41 50 56 34 48 45 41 44 45 52 0a 7b 0a 20  TMAPV4HEADER.{. 
be90: 20 20 20 44 57 4f 52 44 20 62 56 34 53 69 7a 65     DWORD bV4Size
bea0: 3b 0a 20 20 20 20 4c 4f 4e 47 20 62 56 34 57 69  ;.    LONG bV4Wi
beb0: 64 74 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 62 56  dth;.    LONG bV
bec0: 34 48 65 69 67 68 74 3b 0a 20 20 20 20 57 4f 52  4Height;.    WOR
bed0: 44 20 62 56 34 50 6c 61 6e 65 73 3b 0a 20 20 20  D bV4Planes;.   
bee0: 20 57 4f 52 44 20 62 56 34 42 69 74 43 6f 75 6e   WORD bV4BitCoun
bef0: 74 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 56 34  t;.    DWORD bV4
bf00: 56 34 43 6f 6d 70 72 65 73 73 69 6f 6e 3b 0a 20  V4Compression;. 
bf10: 20 20 20 44 57 4f 52 44 20 62 56 34 53 69 7a 65     DWORD bV4Size
bf20: 49 6d 61 67 65 3b 0a 20 20 20 20 4c 4f 4e 47 20  Image;.    LONG 
bf30: 62 56 34 58 50 65 6c 73 50 65 72 4d 65 74 65 72  bV4XPelsPerMeter
bf40: 3b 0a 20 20 20 20 4c 4f 4e 47 20 62 56 34 59 50  ;.    LONG bV4YP
bf50: 65 6c 73 50 65 72 4d 65 74 65 72 3b 0a 20 20 20  elsPerMeter;.   
bf60: 20 44 57 4f 52 44 20 62 56 34 43 6c 72 55 73 65   DWORD bV4ClrUse
bf70: 64 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 56 34  d;.    DWORD bV4
bf80: 43 6c 72 49 6d 70 6f 72 74 61 6e 74 3b 0a 20 20  ClrImportant;.  
bf90: 20 20 44 57 4f 52 44 20 62 56 34 52 65 64 4d 61    DWORD bV4RedMa
bfa0: 73 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 56  sk;.    DWORD bV
bfb0: 34 47 72 65 65 6e 4d 61 73 6b 3b 0a 20 20 20 20  4GreenMask;.    
bfc0: 44 57 4f 52 44 20 62 56 34 42 6c 75 65 4d 61 73  DWORD bV4BlueMas
bfd0: 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 56 34  k;.    DWORD bV4
bfe0: 41 6c 70 68 61 4d 61 73 6b 3b 0a 20 20 20 20 44  AlphaMask;.    D
bff0: 57 4f 52 44 20 62 56 34 43 53 54 79 70 65 3b 0a  WORD bV4CSType;.
c000: 20 20 20 20 43 49 45 58 59 5a 54 52 49 50 4c 45      CIEXYZTRIPLE
c010: 20 62 56 34 45 6e 64 70 6f 69 6e 74 73 3b 0a 20   bV4Endpoints;. 
c020: 20 20 20 44 57 4f 52 44 20 62 56 34 47 61 6d 6d     DWORD bV4Gamm
c030: 61 52 65 64 3b 0a 20 20 20 20 44 57 4f 52 44 20  aRed;.    DWORD 
c040: 62 56 34 47 61 6d 6d 61 47 72 65 65 6e 3b 0a 20  bV4GammaGreen;. 
c050: 20 20 20 44 57 4f 52 44 20 62 56 34 47 61 6d 6d     DWORD bV4Gamm
c060: 61 42 6c 75 65 3b 0a 7d 0a 61 6c 69 61 73 20 42  aBlue;.}.alias B
c070: 49 54 4d 41 50 56 34 48 45 41 44 45 52 2a 4c 50  ITMAPV4HEADER*LP
c080: 42 49 54 4d 41 50 56 34 48 45 41 44 45 52 2c 20  BITMAPV4HEADER, 
c090: 50 42 49 54 4d 41 50 56 34 48 45 41 44 45 52 3b  PBITMAPV4HEADER;
c0a0: 0a 0a 73 74 72 75 63 74 20 42 49 54 4d 41 50 56  ..struct BITMAPV
c0b0: 35 48 45 41 44 45 52 0a 7b 0a 20 20 20 20 44 57  5HEADER.{.    DW
c0c0: 4f 52 44 20 62 56 35 53 69 7a 65 3b 0a 20 20 20  ORD bV5Size;.   
c0d0: 20 4c 4f 4e 47 20 62 56 35 57 69 64 74 68 3b 0a   LONG bV5Width;.
c0e0: 20 20 20 20 4c 4f 4e 47 20 62 56 35 48 65 69 67      LONG bV5Heig
c0f0: 68 74 3b 0a 20 20 20 20 57 4f 52 44 20 62 56 35  ht;.    WORD bV5
c100: 50 6c 61 6e 65 73 3b 0a 20 20 20 20 57 4f 52 44  Planes;.    WORD
c110: 20 62 56 35 42 69 74 43 6f 75 6e 74 3b 0a 20 20   bV5BitCount;.  
c120: 20 20 44 57 4f 52 44 20 62 56 35 43 6f 6d 70 72    DWORD bV5Compr
c130: 65 73 73 69 6f 6e 3b 0a 20 20 20 20 44 57 4f 52  ession;.    DWOR
c140: 44 20 62 56 35 53 69 7a 65 49 6d 61 67 65 3b 0a  D bV5SizeImage;.
c150: 20 20 20 20 4c 4f 4e 47 20 62 56 35 58 50 65 6c      LONG bV5XPel
c160: 73 50 65 72 4d 65 74 65 72 3b 0a 20 20 20 20 4c  sPerMeter;.    L
c170: 4f 4e 47 20 62 56 35 59 50 65 6c 73 50 65 72 4d  ONG bV5YPelsPerM
c180: 65 74 65 72 3b 0a 20 20 20 20 44 57 4f 52 44 20  eter;.    DWORD 
c190: 62 56 35 43 6c 72 55 73 65 64 3b 0a 20 20 20 20  bV5ClrUsed;.    
c1a0: 44 57 4f 52 44 20 62 56 35 43 6c 72 49 6d 70 6f  DWORD bV5ClrImpo
c1b0: 72 74 61 6e 74 3b 0a 20 20 20 20 44 57 4f 52 44  rtant;.    DWORD
c1c0: 20 62 56 35 52 65 64 4d 61 73 6b 3b 0a 20 20 20   bV5RedMask;.   
c1d0: 20 44 57 4f 52 44 20 62 56 35 47 72 65 65 6e 4d   DWORD bV5GreenM
c1e0: 61 73 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 62  ask;.    DWORD b
c1f0: 56 35 42 6c 75 65 4d 61 73 6b 3b 0a 20 20 20 20  V5BlueMask;.    
c200: 44 57 4f 52 44 20 62 56 35 41 6c 70 68 61 4d 61  DWORD bV5AlphaMa
c210: 73 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 62 56  sk;.    DWORD bV
c220: 35 43 53 54 79 70 65 3b 0a 20 20 20 20 43 49 45  5CSType;.    CIE
c230: 58 59 5a 54 52 49 50 4c 45 20 62 56 35 45 6e 64  XYZTRIPLE bV5End
c240: 70 6f 69 6e 74 73 3b 0a 20 20 20 20 44 57 4f 52  points;.    DWOR
c250: 44 20 62 56 35 47 61 6d 6d 61 52 65 64 3b 0a 20  D bV5GammaRed;. 
c260: 20 20 20 44 57 4f 52 44 20 62 56 35 47 61 6d 6d     DWORD bV5Gamm
c270: 61 47 72 65 65 6e 3b 0a 20 20 20 20 44 57 4f 52  aGreen;.    DWOR
c280: 44 20 62 56 35 47 61 6d 6d 61 42 6c 75 65 3b 0a  D bV5GammaBlue;.
c290: 20 20 20 20 44 57 4f 52 44 20 62 56 35 49 6e 74      DWORD bV5Int
c2a0: 65 6e 74 3b 0a 20 20 20 20 44 57 4f 52 44 20 62  ent;.    DWORD b
c2b0: 56 35 50 72 6f 66 69 6c 65 44 61 74 61 3b 0a 20  V5ProfileData;. 
c2c0: 20 20 20 44 57 4f 52 44 20 62 56 35 50 72 6f 66     DWORD bV5Prof
c2d0: 69 6c 65 53 69 7a 65 3b 0a 20 20 20 20 44 57 4f  ileSize;.    DWO
c2e0: 52 44 20 62 56 35 52 65 73 65 72 76 65 64 3b 0a  RD bV5Reserved;.
c2f0: 7d 0a 61 6c 69 61 73 20 42 49 54 4d 41 50 56 35  }.alias BITMAPV5
c300: 48 45 41 44 45 52 2a 4c 50 42 49 54 4d 41 50 56  HEADER*LPBITMAPV
c310: 35 48 45 41 44 45 52 2c 20 50 42 49 54 4d 41 50  5HEADER, PBITMAP
c320: 56 35 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63  V5HEADER;..struc
c330: 74 20 46 4f 4e 54 53 49 47 4e 41 54 55 52 45 0a  t FONTSIGNATURE.
c340: 7b 0a 20 20 20 20 44 57 4f 52 44 5b 34 5d 20 66  {.    DWORD[4] f
c350: 73 55 73 62 3b 0a 20 20 20 20 44 57 4f 52 44 5b  sUsb;.    DWORD[
c360: 32 5d 20 66 73 43 73 62 3b 0a 7d 0a 61 6c 69 61  2] fsCsb;.}.alia
c370: 73 20 46 4f 4e 54 53 49 47 4e 41 54 55 52 45 2a  s FONTSIGNATURE*
c380: 50 46 4f 4e 54 53 49 47 4e 41 54 55 52 45 2c 20  PFONTSIGNATURE, 
c390: 4c 50 46 4f 4e 54 53 49 47 4e 41 54 55 52 45 3b  LPFONTSIGNATURE;
c3a0: 0a 0a 73 74 72 75 63 74 20 43 48 41 52 53 45 54  ..struct CHARSET
c3b0: 49 4e 46 4f 0a 7b 0a 20 20 20 20 55 49 4e 54 20  INFO.{.    UINT 
c3c0: 63 69 43 68 61 72 73 65 74 3b 0a 20 20 20 20 55  ciCharset;.    U
c3d0: 49 4e 54 20 63 69 41 43 50 3b 0a 20 20 20 20 46  INT ciACP;.    F
c3e0: 4f 4e 54 53 49 47 4e 41 54 55 52 45 20 66 73 3b  ONTSIGNATURE fs;
c3f0: 0a 7d 0a 61 6c 69 61 73 20 43 48 41 52 53 45 54  .}.alias CHARSET
c400: 49 4e 46 4f 2a 50 43 48 41 52 53 45 54 49 4e 46  INFO*PCHARSETINF
c410: 4f 2c 20 4e 50 43 48 41 52 53 45 54 49 4e 46 4f  O, NPCHARSETINFO
c420: 2c 20 4c 50 43 48 41 52 53 45 54 49 4e 46 4f 3b  , LPCHARSETINFO;
c430: 0a 0a 73 74 72 75 63 74 20 43 4f 4c 4f 52 41 44  ..struct COLORAD
c440: 4a 55 53 54 4d 45 4e 54 0a 7b 0a 20 20 20 20 57  JUSTMENT.{.    W
c450: 4f 52 44 20 63 61 53 69 7a 65 3b 0a 20 20 20 20  ORD caSize;.    
c460: 57 4f 52 44 20 63 61 46 6c 61 67 73 3b 0a 20 20  WORD caFlags;.  
c470: 20 20 57 4f 52 44 20 63 61 49 6c 6c 75 6d 69 6e    WORD caIllumin
c480: 61 6e 74 49 6e 64 65 78 3b 0a 20 20 20 20 57 4f  antIndex;.    WO
c490: 52 44 20 63 61 52 65 64 47 61 6d 6d 61 3b 0a 20  RD caRedGamma;. 
c4a0: 20 20 20 57 4f 52 44 20 63 61 47 72 65 65 6e 47     WORD caGreenG
c4b0: 61 6d 6d 61 3b 0a 20 20 20 20 57 4f 52 44 20 63  amma;.    WORD c
c4c0: 61 42 6c 75 65 47 61 6d 6d 61 3b 0a 20 20 20 20  aBlueGamma;.    
c4d0: 57 4f 52 44 20 63 61 52 65 66 65 72 65 6e 63 65  WORD caReference
c4e0: 42 6c 61 63 6b 3b 0a 20 20 20 20 57 4f 52 44 20  Black;.    WORD 
c4f0: 63 61 52 65 66 65 72 65 6e 63 65 57 68 69 74 65  caReferenceWhite
c500: 3b 0a 20 20 20 20 53 48 4f 52 54 20 63 61 43 6f  ;.    SHORT caCo
c510: 6e 74 72 61 73 74 3b 0a 20 20 20 20 53 48 4f 52  ntrast;.    SHOR
c520: 54 20 63 61 42 72 69 67 68 74 6e 65 73 73 3b 0a  T caBrightness;.
c530: 20 20 20 20 53 48 4f 52 54 20 63 61 43 6f 6c 6f      SHORT caColo
c540: 72 66 75 6c 6e 65 73 73 3b 0a 20 20 20 20 53 48  rfulness;.    SH
c550: 4f 52 54 20 63 61 52 65 64 47 72 65 65 6e 54 69  ORT caRedGreenTi
c560: 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 43 4f 4c 4f  nt;.}.alias COLO
c570: 52 41 44 4a 55 53 54 4d 45 4e 54 2a 50 43 4f 4c  RADJUSTMENT*PCOL
c580: 4f 52 41 44 4a 55 53 54 4d 45 4e 54 2c 20 4c 50  ORADJUSTMENT, LP
c590: 43 4f 4c 4f 52 41 44 4a 55 53 54 4d 45 4e 54 3b  COLORADJUSTMENT;
c5a0: 0a 0a 73 74 72 75 63 74 20 44 45 56 4d 4f 44 45  ..struct DEVMODE
c5b0: 41 0a 7b 0a 20 20 20 20 42 59 54 45 5b 43 43 48  A.{.    BYTE[CCH
c5c0: 44 45 56 49 43 45 4e 41 4d 45 5d 20 64 6d 44 65  DEVICENAME] dmDe
c5d0: 76 69 63 65 4e 61 6d 65 3b 0a 20 20 20 20 57 4f  viceName;.    WO
c5e0: 52 44 20 64 6d 53 70 65 63 56 65 72 73 69 6f 6e  RD dmSpecVersion
c5f0: 3b 0a 20 20 20 20 57 4f 52 44 20 64 6d 44 72 69  ;.    WORD dmDri
c600: 76 65 72 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20  verVersion;.    
c610: 57 4f 52 44 20 64 6d 53 69 7a 65 3b 0a 20 20 20  WORD dmSize;.   
c620: 20 57 4f 52 44 20 64 6d 44 72 69 76 65 72 45 78   WORD dmDriverEx
c630: 74 72 61 3b 0a 20 20 20 20 44 57 4f 52 44 20 64  tra;.    DWORD d
c640: 6d 46 69 65 6c 64 73 3b 0a 20 20 20 20 75 6e 69  mFields;.    uni
c650: 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 73 74 72  on {.        str
c660: 75 63 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20  uct.        {.  
c670: 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 20            short 
c680: 64 6d 4f 72 69 65 6e 74 61 74 69 6f 6e 3b 0a 20  dmOrientation;. 
c690: 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74             short
c6a0: 20 64 6d 50 61 70 65 72 53 69 7a 65 3b 0a 20 20   dmPaperSize;.  
c6b0: 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 20            short 
c6c0: 64 6d 50 61 70 65 72 4c 65 6e 67 74 68 3b 0a 20  dmPaperLength;. 
c6d0: 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74             short
c6e0: 20 64 6d 50 61 70 65 72 57 69 64 74 68 3b 0a 20   dmPaperWidth;. 
c6f0: 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74             short
c700: 20 64 6d 53 63 61 6c 65 3b 0a 20 20 20 20 20 20   dmScale;.      
c710: 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d 43 6f        short dmCo
c720: 70 69 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20  pies;.          
c730: 20 20 73 68 6f 72 74 20 64 6d 44 65 66 61 75 6c    short dmDefaul
c740: 74 53 6f 75 72 63 65 3b 0a 20 20 20 20 20 20 20  tSource;.       
c750: 20 20 20 20 20 73 68 6f 72 74 20 64 6d 50 72 69       short dmPri
c760: 6e 74 51 75 61 6c 69 74 79 3b 0a 20 20 20 20 20  ntQuality;.     
c770: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 50 4f 49     }.        POI
c780: 4e 54 4c 20 64 6d 50 6f 73 69 74 69 6f 6e 3b 0a  NTL dmPosition;.
c790: 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 64 6d          DWORD dm
c7a0: 44 69 73 70 6c 61 79 4f 72 69 65 6e 74 61 74 69  DisplayOrientati
c7b0: 6f 6e 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  on;.        DWOR
c7c0: 44 20 64 6d 44 69 73 70 6c 61 79 46 69 78 65 64  D dmDisplayFixed
c7d0: 4f 75 74 70 75 74 3b 0a 20 20 20 20 7d 0a 20 20  Output;.    }.  
c7e0: 20 20 73 68 6f 72 74 20 64 6d 43 6f 6c 6f 72 3b    short dmColor;
c7f0: 0a 20 20 20 20 73 68 6f 72 74 20 64 6d 44 75 70  .    short dmDup
c800: 6c 65 78 3b 0a 20 20 20 20 73 68 6f 72 74 20 64  lex;.    short d
c810: 6d 59 52 65 73 6f 6c 75 74 69 6f 6e 3b 0a 20 20  mYResolution;.  
c820: 20 20 73 68 6f 72 74 20 64 6d 54 54 4f 70 74 69    short dmTTOpti
c830: 6f 6e 3b 0a 20 20 20 20 73 68 6f 72 74 20 64 6d  on;.    short dm
c840: 43 6f 6c 6c 61 74 65 3b 0a 20 20 20 20 42 59 54  Collate;.    BYT
c850: 45 5b 43 43 48 46 4f 52 4d 4e 41 4d 45 5d 20 20  E[CCHFORMNAME]  
c860: 20 64 6d 46 6f 72 6d 4e 61 6d 65 3b 0a 20 20 20   dmFormName;.   
c870: 20 57 4f 52 44 20 64 6d 4c 6f 67 50 69 78 65 6c   WORD dmLogPixel
c880: 73 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 6d 42  s;.    DWORD dmB
c890: 69 74 73 50 65 72 50 65 6c 3b 0a 20 20 20 20 44  itsPerPel;.    D
c8a0: 57 4f 52 44 20 64 6d 50 65 6c 73 57 69 64 74 68  WORD dmPelsWidth
c8b0: 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 6d 50 65  ;.    DWORD dmPe
c8c0: 6c 73 48 65 69 67 68 74 3b 0a 20 20 20 20 75 6e  lsHeight;.    un
c8d0: 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 44 57  ion {.        DW
c8e0: 4f 52 44 20 64 6d 44 69 73 70 6c 61 79 46 6c 61  ORD dmDisplayFla
c8f0: 67 73 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  gs;.        DWOR
c900: 44 20 64 6d 4e 75 70 3b 0a 20 20 20 20 7d 0a 20  D dmNup;.    }. 
c910: 20 20 20 44 57 4f 52 44 20 64 6d 44 69 73 70 6c     DWORD dmDispl
c920: 61 79 46 72 65 71 75 65 6e 63 79 3b 0a 20 20 20  ayFrequency;.   
c930: 20 73 74 61 74 69 63 0a 0a 20 20 20 20 69 66 20   static..    if 
c940: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
c950: 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20  0).    {.       
c960: 20 44 57 4f 52 44 20 64 6d 49 43 4d 4d 65 74 68   DWORD dmICMMeth
c970: 6f 64 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  od;.        DWOR
c980: 44 20 64 6d 49 43 4d 49 6e 74 65 6e 74 3b 0a 20  D dmICMIntent;. 
c990: 20 20 20 20 20 20 20 44 57 4f 52 44 20 64 6d 4d         DWORD dmM
c9a0: 65 64 69 61 54 79 70 65 3b 0a 20 20 20 20 20 20  ediaType;.      
c9b0: 20 20 44 57 4f 52 44 20 64 6d 44 69 74 68 65 72    DWORD dmDither
c9c0: 54 79 70 65 3b 0a 20 20 20 20 20 20 20 20 44 57  Type;.        DW
c9d0: 4f 52 44 20 64 6d 52 65 73 65 72 76 65 64 31 3b  ORD dmReserved1;
c9e0: 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 64  .        DWORD d
c9f0: 6d 52 65 73 65 72 76 65 64 32 3b 0a 20 20 20 20  mReserved2;.    
ca00: 20 20 20 20 73 74 61 74 69 63 0a 0a 20 20 20 20      static..    
ca10: 20 20 20 20 69 66 20 28 28 57 49 4e 56 45 52 20      if ((WINVER 
ca20: 3e 3d 20 30 78 30 35 30 30 29 20 7c 7c 20 28 5f  >= 0x0500) || (_
ca30: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
ca40: 78 30 34 30 30 29 29 0a 20 20 20 20 20 20 20 20  x0400)).        
ca50: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 57  {.            DW
ca60: 4f 52 44 20 64 6d 50 61 6e 6e 69 6e 67 57 69 64  ORD dmPanningWid
ca70: 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  th;.            
ca80: 44 57 4f 52 44 20 64 6d 50 61 6e 6e 69 6e 67 48  DWORD dmPanningH
ca90: 65 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 7d  eight;.        }
caa0: 0a 20 20 20 20 7d 0a 7d 0a 61 6c 69 61 73 20 44  .    }.}.alias D
cab0: 45 56 4d 4f 44 45 41 2a 50 44 45 56 4d 4f 44 45  EVMODEA*PDEVMODE
cac0: 41 2c 20 4e 50 44 45 56 4d 4f 44 45 41 2c 20 4c  A, NPDEVMODEA, L
cad0: 50 44 45 56 4d 4f 44 45 41 3b 0a 0a 73 74 72 75  PDEVMODEA;..stru
cae0: 63 74 20 44 45 56 4d 4f 44 45 57 0a 7b 0a 20 20  ct DEVMODEW.{.  
caf0: 20 20 57 43 48 41 52 5b 43 43 48 44 45 56 49 43    WCHAR[CCHDEVIC
cb00: 45 4e 41 4d 45 5d 20 20 20 64 6d 44 65 76 69 63  ENAME]   dmDevic
cb10: 65 4e 61 6d 65 3b 0a 20 20 20 20 57 4f 52 44 20  eName;.    WORD 
cb20: 64 6d 53 70 65 63 56 65 72 73 69 6f 6e 3b 0a 20  dmSpecVersion;. 
cb30: 20 20 20 57 4f 52 44 20 64 6d 44 72 69 76 65 72     WORD dmDriver
cb40: 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20 57 4f 52  Version;.    WOR
cb50: 44 20 64 6d 53 69 7a 65 3b 0a 20 20 20 20 57 4f  D dmSize;.    WO
cb60: 52 44 20 64 6d 44 72 69 76 65 72 45 78 74 72 61  RD dmDriverExtra
cb70: 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 6d 46 69  ;.    DWORD dmFi
cb80: 65 6c 64 73 3b 0a 20 20 20 20 75 6e 69 6f 6e 20  elds;.    union 
cb90: 7b 0a 20 20 20 20 20 20 20 20 73 74 72 75 63 74  {.        struct
cba0: 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20  .        {.     
cbb0: 20 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d 4f         short dmO
cbc0: 72 69 65 6e 74 61 74 69 6f 6e 3b 0a 20 20 20 20  rientation;.    
cbd0: 20 20 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d          short dm
cbe0: 50 61 70 65 72 53 69 7a 65 3b 0a 20 20 20 20 20  PaperSize;.     
cbf0: 20 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d 50         short dmP
cc00: 61 70 65 72 4c 65 6e 67 74 68 3b 0a 20 20 20 20  aperLength;.    
cc10: 20 20 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d          short dm
cc20: 50 61 70 65 72 57 69 64 74 68 3b 0a 20 20 20 20  PaperWidth;.    
cc30: 20 20 20 20 20 20 20 20 73 68 6f 72 74 20 64 6d          short dm
cc40: 53 63 61 6c 65 3b 0a 20 20 20 20 20 20 20 20 20  Scale;.         
cc50: 20 20 20 73 68 6f 72 74 20 64 6d 43 6f 70 69 65     short dmCopie
cc60: 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  s;.            s
cc70: 68 6f 72 74 20 64 6d 44 65 66 61 75 6c 74 53 6f  hort dmDefaultSo
cc80: 75 72 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20  urce;.          
cc90: 20 20 73 68 6f 72 74 20 64 6d 50 72 69 6e 74 51    short dmPrintQ
cca0: 75 61 6c 69 74 79 3b 0a 20 20 20 20 20 20 20 20  uality;.        
ccb0: 7d 0a 20 20 20 20 20 20 20 20 50 4f 49 4e 54 4c  }.        POINTL
ccc0: 20 64 6d 50 6f 73 69 74 69 6f 6e 3b 0a 20 20 20   dmPosition;.   
ccd0: 20 20 20 20 20 44 57 4f 52 44 20 64 6d 44 69 73       DWORD dmDis
cce0: 70 6c 61 79 4f 72 69 65 6e 74 61 74 69 6f 6e 3b  playOrientation;
ccf0: 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 64  .        DWORD d
cd00: 6d 44 69 73 70 6c 61 79 46 69 78 65 64 4f 75 74  mDisplayFixedOut
cd10: 70 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20  put;.    }..    
cd20: 73 68 6f 72 74 20 64 6d 43 6f 6c 6f 72 3b 0a 20  short dmColor;. 
cd30: 20 20 20 73 68 6f 72 74 20 64 6d 44 75 70 6c 65     short dmDuple
cd40: 78 3b 0a 20 20 20 20 73 68 6f 72 74 20 64 6d 59  x;.    short dmY
cd50: 52 65 73 6f 6c 75 74 69 6f 6e 3b 0a 20 20 20 20  Resolution;.    
cd60: 73 68 6f 72 74 20 64 6d 54 54 4f 70 74 69 6f 6e  short dmTTOption
cd70: 3b 0a 20 20 20 20 73 68 6f 72 74 20 64 6d 43 6f  ;.    short dmCo
cd80: 6c 6c 61 74 65 3b 0a 20 20 20 20 57 43 48 41 52  llate;.    WCHAR
cd90: 5b 43 43 48 46 4f 52 4d 4e 41 4d 45 5d 20 20 64  [CCHFORMNAME]  d
cda0: 6d 46 6f 72 6d 4e 61 6d 65 3b 0a 20 20 20 20 57  mFormName;.    W
cdb0: 4f 52 44 20 64 6d 4c 6f 67 50 69 78 65 6c 73 3b  ORD dmLogPixels;
cdc0: 0a 20 20 20 20 44 57 4f 52 44 20 64 6d 42 69 74  .    DWORD dmBit
cdd0: 73 50 65 72 50 65 6c 3b 0a 20 20 20 20 44 57 4f  sPerPel;.    DWO
cde0: 52 44 20 64 6d 50 65 6c 73 57 69 64 74 68 3b 0a  RD dmPelsWidth;.
cdf0: 20 20 20 20 44 57 4f 52 44 20 64 6d 50 65 6c 73      DWORD dmPels
ce00: 48 65 69 67 68 74 3b 0a 20 20 20 20 75 6e 69 6f  Height;.    unio
ce10: 6e 20 7b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  n {.        DWOR
ce20: 44 20 64 6d 44 69 73 70 6c 61 79 46 6c 61 67 73  D dmDisplayFlags
ce30: 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ;.        DWORD 
ce40: 64 6d 4e 75 70 3b 0a 20 20 20 20 7d 0a 20 20 20  dmNup;.    }.   
ce50: 20 44 57 4f 52 44 20 64 6d 44 69 73 70 6c 61 79   DWORD dmDisplay
ce60: 46 72 65 71 75 65 6e 63 79 3b 0a 20 20 20 20 73  Frequency;.    s
ce70: 74 61 74 69 63 0a 0a 20 20 20 20 69 66 20 28 57  tatic..    if (W
ce80: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
ce90: 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 44  .    {.        D
cea0: 57 4f 52 44 20 64 6d 49 43 4d 4d 65 74 68 6f 64  WORD dmICMMethod
ceb0: 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ;.        DWORD 
cec0: 64 6d 49 43 4d 49 6e 74 65 6e 74 3b 0a 20 20 20  dmICMIntent;.   
ced0: 20 20 20 20 20 44 57 4f 52 44 20 64 6d 4d 65 64       DWORD dmMed
cee0: 69 61 54 79 70 65 3b 0a 20 20 20 20 20 20 20 20  iaType;.        
cef0: 44 57 4f 52 44 20 64 6d 44 69 74 68 65 72 54 79  DWORD dmDitherTy
cf00: 70 65 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  pe;.        DWOR
cf10: 44 20 64 6d 52 65 73 65 72 76 65 64 31 3b 0a 20  D dmReserved1;. 
cf20: 20 20 20 20 20 20 20 44 57 4f 52 44 20 64 6d 52         DWORD dmR
cf30: 65 73 65 72 76 65 64 32 3b 0a 20 20 20 20 20 20  eserved2;.      
cf40: 20 20 73 74 61 74 69 63 0a 0a 20 20 20 20 20 20    static..      
cf50: 20 20 69 66 20 28 28 57 49 4e 56 45 52 20 3e 3d    if ((WINVER >=
cf60: 20 30 78 30 35 30 30 29 20 7c 7c 20 28 5f 57 49   0x0500) || (_WI
cf70: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
cf80: 34 30 30 29 29 0a 20 20 20 20 20 20 20 20 7b 0a  400)).        {.
cf90: 20 20 20 20 20 20 20 20 20 20 20 20 44 57 4f 52              DWOR
cfa0: 44 20 64 6d 50 61 6e 6e 69 6e 67 57 69 64 74 68  D dmPanningWidth
cfb0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 57  ;.            DW
cfc0: 4f 52 44 20 64 6d 50 61 6e 6e 69 6e 67 48 65 69  ORD dmPanningHei
cfd0: 67 68 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20  ght;.        }. 
cfe0: 20 20 20 7d 0a 7d 0a 61 6c 69 61 73 20 44 45 56     }.}.alias DEV
cff0: 4d 4f 44 45 57 2a 50 44 45 56 4d 4f 44 45 57 2c  MODEW*PDEVMODEW,
d000: 20 4e 50 44 45 56 4d 4f 44 45 57 2c 20 4c 50 44   NPDEVMODEW, LPD
d010: 45 56 4d 4f 44 45 57 3b 0a 0a 2f 2a 0a 20 2a 20  EVMODEW;../*. * 
d020: 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75  Information abou
d030: 74 20 6f 75 74 70 75 74 20 6f 70 74 69 6f 6e 73  t output options
d040: 0a 20 2a 2f 0a 73 74 72 75 63 74 20 50 53 46 45  . */.struct PSFE
d050: 41 54 55 52 45 5f 4f 55 54 50 55 54 0a 7b 0a 20  ATURE_OUTPUT.{. 
d060: 20 20 20 42 4f 4f 4c 20 62 50 61 67 65 49 6e 64     BOOL bPageInd
d070: 65 70 65 6e 64 65 6e 74 3b 0a 20 20 20 20 42 4f  ependent;.    BO
d080: 4f 4c 20 62 53 65 74 50 61 67 65 44 65 76 69 63  OL bSetPageDevic
d090: 65 3b 0a 7d 0a 61 6c 69 61 73 20 50 53 46 45 41  e;.}.alias PSFEA
d0a0: 54 55 52 45 5f 4f 55 54 50 55 54 2a 50 50 53 46  TURE_OUTPUT*PPSF
d0b0: 45 41 54 55 52 45 5f 4f 55 54 50 55 54 3b 0a 0a  EATURE_OUTPUT;..
d0c0: 2f 2a 0a 20 2a 20 49 6e 66 6f 72 6d 61 74 69 6f  /*. * Informatio
d0d0: 6e 20 61 62 6f 75 74 20 63 75 73 74 6f 6d 20 70  n about custom p
d0e0: 61 70 65 72 20 73 69 7a 65 0a 20 2a 2f 0a 73 74  aper size. */.st
d0f0: 72 75 63 74 20 50 53 46 45 41 54 55 52 45 5f 43  ruct PSFEATURE_C
d100: 55 53 54 50 41 50 45 52 0a 7b 0a 20 20 20 20 4c  USTPAPER.{.    L
d110: 4f 4e 47 20 6c 4f 72 69 65 6e 74 61 74 69 6f 6e  ONG lOrientation
d120: 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 57 69 64 74  ;.    LONG lWidt
d130: 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 48 65 69  h;.    LONG lHei
d140: 67 68 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 57  ght;.    LONG lW
d150: 69 64 74 68 4f 66 66 73 65 74 3b 0a 20 20 20 20  idthOffset;.    
d160: 4c 4f 4e 47 20 6c 48 65 69 67 68 74 4f 66 66 73  LONG lHeightOffs
d170: 65 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 53 46 45  et;.}.alias PSFE
d180: 41 54 55 52 45 5f 43 55 53 54 50 41 50 45 52 2a  ATURE_CUSTPAPER*
d190: 50 50 53 46 45 41 54 55 52 45 5f 43 55 53 54 50  PPSFEATURE_CUSTP
d1a0: 41 50 45 52 3b 0a 0a 73 74 72 75 63 74 20 44 49  APER;..struct DI
d1b0: 42 53 45 43 54 49 4f 4e 0a 7b 0a 20 20 20 20 42  BSECTION.{.    B
d1c0: 49 54 4d 41 50 20 64 73 42 6d 3b 0a 20 20 20 20  ITMAP dsBm;.    
d1d0: 42 49 54 4d 41 50 49 4e 46 4f 48 45 41 44 45 52  BITMAPINFOHEADER
d1e0: 20 64 73 42 6d 69 68 3b 0a 20 20 20 20 44 57 4f   dsBmih;.    DWO
d1f0: 52 44 5b 33 5d 20 20 20 20 20 20 20 20 20 64 73  RD[3]         ds
d200: 42 69 74 66 69 65 6c 64 73 3b 0a 20 20 20 20 48  Bitfields;.    H
d210: 41 4e 44 4c 45 20 64 73 68 53 65 63 74 69 6f 6e  ANDLE dshSection
d220: 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 73 4f 66  ;.    DWORD dsOf
d230: 66 73 65 74 3b 0a 7d 0a 61 6c 69 61 73 20 44 49  fset;.}.alias DI
d240: 42 53 45 43 54 49 4f 4e 2a 50 44 49 42 53 45 43  BSECTION*PDIBSEC
d250: 54 49 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 44 4f  TION;..struct DO
d260: 43 49 4e 46 4f 41 0a 7b 0a 20 20 20 20 69 6e 74  CINFOA.{.    int
d270: 20 63 62 53 69 7a 65 20 3d 20 44 4f 43 49 4e 46   cbSize = DOCINF
d280: 4f 41 2e 73 69 7a 65 6f 66 3b 0a 20 20 20 20 4c  OA.sizeof;.    L
d290: 50 43 53 54 52 20 6c 70 73 7a 44 6f 63 4e 61 6d  PCSTR lpszDocNam
d2a0: 65 3b 0a 20 20 20 20 4c 50 43 53 54 52 20 6c 70  e;.    LPCSTR lp
d2b0: 73 7a 4f 75 74 70 75 74 3b 0a 20 20 20 20 4c 50  szOutput;.    LP
d2c0: 43 53 54 52 20 6c 70 73 7a 44 61 74 61 74 79 70  CSTR lpszDatatyp
d2d0: 65 3b 0a 20 20 20 20 44 57 4f 52 44 20 66 77 54  e;.    DWORD fwT
d2e0: 79 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 4f 43  ype;.}.alias DOC
d2f0: 49 4e 46 4f 41 2a 4c 50 44 4f 43 49 4e 46 4f 41  INFOA*LPDOCINFOA
d300: 3b 0a 0a 73 74 72 75 63 74 20 44 4f 43 49 4e 46  ;..struct DOCINF
d310: 4f 57 0a 7b 0a 20 20 20 20 69 6e 74 20 63 62 53  OW.{.    int cbS
d320: 69 7a 65 20 3d 20 44 4f 43 49 4e 46 4f 57 2e 73  ize = DOCINFOW.s
d330: 69 7a 65 6f 66 3b 0a 20 20 20 20 4c 50 43 57 53  izeof;.    LPCWS
d340: 54 52 20 6c 70 73 7a 44 6f 63 4e 61 6d 65 3b 0a  TR lpszDocName;.
d350: 20 20 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a      LPCWSTR lpsz
d360: 4f 75 74 70 75 74 3b 0a 20 20 20 20 4c 50 43 57  Output;.    LPCW
d370: 53 54 52 20 6c 70 73 7a 44 61 74 61 74 79 70 65  STR lpszDatatype
d380: 3b 0a 20 20 20 20 44 57 4f 52 44 20 66 77 54 79  ;.    DWORD fwTy
d390: 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 4f 43 49  pe;.}.alias DOCI
d3a0: 4e 46 4f 57 2a 4c 50 44 4f 43 49 4e 46 4f 57 3b  NFOW*LPDOCINFOW;
d3b0: 0a 0a 73 74 72 75 63 74 20 50 41 4e 4f 53 45 0a  ..struct PANOSE.
d3c0: 7b 0a 20 20 20 20 42 59 54 45 20 62 46 61 6d 69  {.    BYTE bFami
d3d0: 6c 79 54 79 70 65 3b 0a 20 20 20 20 42 59 54 45  lyType;.    BYTE
d3e0: 20 62 53 65 72 69 66 53 74 79 6c 65 3b 0a 20 20   bSerifStyle;.  
d3f0: 20 20 42 59 54 45 20 62 57 65 69 67 68 74 3b 0a    BYTE bWeight;.
d400: 20 20 20 20 42 59 54 45 20 62 50 72 6f 70 6f 72      BYTE bPropor
d410: 74 69 6f 6e 3b 0a 20 20 20 20 42 59 54 45 20 62  tion;.    BYTE b
d420: 43 6f 6e 74 72 61 73 74 3b 0a 20 20 20 20 42 59  Contrast;.    BY
d430: 54 45 20 62 53 74 72 6f 6b 65 56 61 72 69 61 74  TE bStrokeVariat
d440: 69 6f 6e 3b 0a 20 20 20 20 42 59 54 45 20 62 41  ion;.    BYTE bA
d450: 72 6d 53 74 79 6c 65 3b 0a 20 20 20 20 42 59 54  rmStyle;.    BYT
d460: 45 20 62 4c 65 74 74 65 72 66 6f 72 6d 3b 0a 20  E bLetterform;. 
d470: 20 20 20 42 59 54 45 20 62 4d 69 64 6c 69 6e 65     BYTE bMidline
d480: 3b 0a 20 20 20 20 42 59 54 45 20 62 58 48 65 69  ;.    BYTE bXHei
d490: 67 68 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 41 4e  ght;.}.alias PAN
d4a0: 4f 53 45 2a 4c 50 50 41 4e 4f 53 45 3b 0a 0a 73  OSE*LPPANOSE;..s
d4b0: 74 72 75 63 74 20 4c 4f 47 46 4f 4e 54 41 0a 7b  truct LOGFONTA.{
d4c0: 0a 20 20 20 20 4c 4f 4e 47 20 6c 66 48 65 69 67  .    LONG lfHeig
d4d0: 68 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 66 57  ht;.    LONG lfW
d4e0: 69 64 74 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c  idth;.    LONG l
d4f0: 66 45 73 63 61 70 65 6d 65 6e 74 3b 0a 20 20 20  fEscapement;.   
d500: 20 4c 4f 4e 47 20 6c 66 4f 72 69 65 6e 74 61 74   LONG lfOrientat
d510: 69 6f 6e 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 66  ion;.    LONG lf
d520: 57 65 69 67 68 74 3b 0a 20 20 20 20 42 59 54 45  Weight;.    BYTE
d530: 20 6c 66 49 74 61 6c 69 63 3b 0a 20 20 20 20 42   lfItalic;.    B
d540: 59 54 45 20 6c 66 55 6e 64 65 72 6c 69 6e 65 3b  YTE lfUnderline;
d550: 0a 20 20 20 20 42 59 54 45 20 6c 66 53 74 72 69  .    BYTE lfStri
d560: 6b 65 4f 75 74 3b 0a 20 20 20 20 42 59 54 45 20  keOut;.    BYTE 
d570: 6c 66 43 68 61 72 53 65 74 3b 0a 20 20 20 20 42  lfCharSet;.    B
d580: 59 54 45 20 6c 66 4f 75 74 50 72 65 63 69 73 69  YTE lfOutPrecisi
d590: 6f 6e 3b 0a 20 20 20 20 42 59 54 45 20 6c 66 43  on;.    BYTE lfC
d5a0: 6c 69 70 50 72 65 63 69 73 69 6f 6e 3b 0a 20 20  lipPrecision;.  
d5b0: 20 20 42 59 54 45 20 6c 66 51 75 61 6c 69 74 79    BYTE lfQuality
d5c0: 3b 0a 20 20 20 20 42 59 54 45 20 6c 66 50 69 74  ;.    BYTE lfPit
d5d0: 63 68 41 6e 64 46 61 6d 69 6c 79 3b 0a 20 20 20  chAndFamily;.   
d5e0: 20 43 48 41 52 5b 4c 46 5f 46 41 43 45 53 49 5a   CHAR[LF_FACESIZ
d5f0: 45 5d 20 6c 66 46 61 63 65 4e 61 6d 65 3b 0a 7d  E] lfFaceName;.}
d600: 0a 61 6c 69 61 73 20 4c 4f 47 46 4f 4e 54 41 2a  .alias LOGFONTA*
d610: 50 4c 4f 47 46 4f 4e 54 41 2c 20 4e 50 4c 4f 47  PLOGFONTA, NPLOG
d620: 46 4f 4e 54 41 2c 20 4c 50 4c 4f 47 46 4f 4e 54  FONTA, LPLOGFONT
d630: 41 3b 0a 0a 73 74 72 75 63 74 20 4c 4f 47 46 4f  A;..struct LOGFO
d640: 4e 54 57 0a 7b 0a 20 20 20 20 4c 4f 4e 47 20 6c  NTW.{.    LONG l
d650: 66 48 65 69 67 68 74 3b 0a 20 20 20 20 4c 4f 4e  fHeight;.    LON
d660: 47 20 6c 66 57 69 64 74 68 3b 0a 20 20 20 20 4c  G lfWidth;.    L
d670: 4f 4e 47 20 6c 66 45 73 63 61 70 65 6d 65 6e 74  ONG lfEscapement
d680: 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 66 4f 72 69  ;.    LONG lfOri
d690: 65 6e 74 61 74 69 6f 6e 3b 0a 20 20 20 20 4c 4f  entation;.    LO
d6a0: 4e 47 20 6c 66 57 65 69 67 68 74 3b 0a 20 20 20  NG lfWeight;.   
d6b0: 20 42 59 54 45 20 6c 66 49 74 61 6c 69 63 3b 0a   BYTE lfItalic;.
d6c0: 20 20 20 20 42 59 54 45 20 6c 66 55 6e 64 65 72      BYTE lfUnder
d6d0: 6c 69 6e 65 3b 0a 20 20 20 20 42 59 54 45 20 6c  line;.    BYTE l
d6e0: 66 53 74 72 69 6b 65 4f 75 74 3b 0a 20 20 20 20  fStrikeOut;.    
d6f0: 42 59 54 45 20 6c 66 43 68 61 72 53 65 74 3b 0a  BYTE lfCharSet;.
d700: 20 20 20 20 42 59 54 45 20 6c 66 4f 75 74 50 72      BYTE lfOutPr
d710: 65 63 69 73 69 6f 6e 3b 0a 20 20 20 20 42 59 54  ecision;.    BYT
d720: 45 20 6c 66 43 6c 69 70 50 72 65 63 69 73 69 6f  E lfClipPrecisio
d730: 6e 3b 0a 20 20 20 20 42 59 54 45 20 6c 66 51 75  n;.    BYTE lfQu
d740: 61 6c 69 74 79 3b 0a 20 20 20 20 42 59 54 45 20  ality;.    BYTE 
d750: 6c 66 50 69 74 63 68 41 6e 64 46 61 6d 69 6c 79  lfPitchAndFamily
d760: 3b 0a 20 20 20 20 57 43 48 41 52 5b 4c 46 5f 46  ;.    WCHAR[LF_F
d770: 41 43 45 53 49 5a 45 5d 20 6c 66 46 61 63 65 4e  ACESIZE] lfFaceN
d780: 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f 47  ame;.}.alias LOG
d790: 46 4f 4e 54 57 2a 50 4c 4f 47 46 4f 4e 54 57 2c  FONTW*PLOGFONTW,
d7a0: 20 4e 50 4c 4f 47 46 4f 4e 54 57 2c 20 4c 50 4c   NPLOGFONTW, LPL
d7b0: 4f 47 46 4f 4e 54 57 3b 0a 0a 73 74 72 75 63 74  OGFONTW;..struct
d7c0: 20 45 58 54 4c 4f 47 46 4f 4e 54 41 0a 7b 0a 20   EXTLOGFONTA.{. 
d7d0: 20 20 20 4c 4f 47 46 4f 4e 54 41 20 65 6c 66 4c     LOGFONTA elfL
d7e0: 6f 67 46 6f 6e 74 3b 0a 20 20 20 20 42 59 54 45  ogFont;.    BYTE
d7f0: 5b 4c 46 5f 46 55 4c 4c 46 41 43 45 53 49 5a 45  [LF_FULLFACESIZE
d800: 5d 20 65 6c 66 46 75 6c 6c 4e 61 6d 65 3b 0a 20  ] elfFullName;. 
d810: 20 20 20 42 59 54 45 5b 4c 46 5f 46 41 43 45 53     BYTE[LF_FACES
d820: 49 5a 45 5d 20 20 20 20 20 65 6c 66 53 74 79 6c  IZE]     elfStyl
d830: 65 3b 0a 20 20 20 20 44 57 4f 52 44 20 65 6c 66  e;.    DWORD elf
d840: 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20 44 57 4f  Version;.    DWO
d850: 52 44 20 65 6c 66 53 74 79 6c 65 53 69 7a 65 3b  RD elfStyleSize;
d860: 0a 20 20 20 20 44 57 4f 52 44 20 65 6c 66 4d 61  .    DWORD elfMa
d870: 74 63 68 3b 0a 20 20 20 20 44 57 4f 52 44 20 65  tch;.    DWORD e
d880: 6c 66 52 65 73 65 72 76 65 64 3b 0a 20 20 20 20  lfReserved;.    
d890: 42 59 54 45 5b 45 4c 46 5f 56 45 4e 44 4f 52 5f  BYTE[ELF_VENDOR_
d8a0: 53 49 5a 45 5d 20 65 6c 66 56 65 6e 64 6f 72 49  SIZE] elfVendorI
d8b0: 64 3b 0a 20 20 20 20 44 57 4f 52 44 20 65 6c 66  d;.    DWORD elf
d8c0: 43 75 6c 74 75 72 65 3b 0a 20 20 20 20 50 41 4e  Culture;.    PAN
d8d0: 4f 53 45 20 65 6c 66 50 61 6e 6f 73 65 3b 0a 7d  OSE elfPanose;.}
d8e0: 0a 61 6c 69 61 73 20 45 58 54 4c 4f 47 46 4f 4e  .alias EXTLOGFON
d8f0: 54 41 2a 50 45 58 54 4c 4f 47 46 4f 4e 54 41 2c  TA*PEXTLOGFONTA,
d900: 20 4e 50 45 58 54 4c 4f 47 46 4f 4e 54 41 2c 20   NPEXTLOGFONTA, 
d910: 4c 50 45 58 54 4c 4f 47 46 4f 4e 54 41 3b 0a 0a  LPEXTLOGFONTA;..
d920: 73 74 72 75 63 74 20 45 58 54 4c 4f 47 46 4f 4e  struct EXTLOGFON
d930: 54 57 0a 7b 0a 20 20 20 20 4c 4f 47 46 4f 4e 54  TW.{.    LOGFONT
d940: 57 20 65 6c 66 4c 6f 67 46 6f 6e 74 3b 0a 20 20  W elfLogFont;.  
d950: 20 20 57 43 48 41 52 5b 4c 46 5f 46 55 4c 4c 46    WCHAR[LF_FULLF
d960: 41 43 45 53 49 5a 45 5d 20 65 6c 66 46 75 6c 6c  ACESIZE] elfFull
d970: 4e 61 6d 65 3b 0a 20 20 20 20 57 43 48 41 52 5b  Name;.    WCHAR[
d980: 4c 46 5f 46 41 43 45 53 49 5a 45 5d 20 20 20 20  LF_FACESIZE]    
d990: 20 65 6c 66 53 74 79 6c 65 3b 0a 20 20 20 20 44   elfStyle;.    D
d9a0: 57 4f 52 44 20 65 6c 66 56 65 72 73 69 6f 6e 3b  WORD elfVersion;
d9b0: 0a 20 20 20 20 44 57 4f 52 44 20 65 6c 66 53 74  .    DWORD elfSt
d9c0: 79 6c 65 53 69 7a 65 3b 0a 20 20 20 20 44 57 4f  yleSize;.    DWO
d9d0: 52 44 20 65 6c 66 4d 61 74 63 68 3b 0a 20 20 20  RD elfMatch;.   
d9e0: 20 44 57 4f 52 44 20 65 6c 66 52 65 73 65 72 76   DWORD elfReserv
d9f0: 65 64 3b 0a 20 20 20 20 42 59 54 45 5b 45 4c 46  ed;.    BYTE[ELF
da00: 5f 56 45 4e 44 4f 52 5f 53 49 5a 45 5d 20 20 65  _VENDOR_SIZE]  e
da10: 6c 66 56 65 6e 64 6f 72 49 64 3b 0a 20 20 20 20  lfVendorId;.    
da20: 44 57 4f 52 44 20 65 6c 66 43 75 6c 74 75 72 65  DWORD elfCulture
da30: 3b 0a 20 20 20 20 50 41 4e 4f 53 45 20 65 6c 66  ;.    PANOSE elf
da40: 50 61 6e 6f 73 65 3b 0a 7d 0a 61 6c 69 61 73 20  Panose;.}.alias 
da50: 45 58 54 4c 4f 47 46 4f 4e 54 57 2a 50 45 58 54  EXTLOGFONTW*PEXT
da60: 4c 4f 47 46 4f 4e 54 57 2c 20 4e 50 45 58 54 4c  LOGFONTW, NPEXTL
da70: 4f 47 46 4f 4e 54 57 2c 20 4c 50 45 58 54 4c 4f  OGFONTW, LPEXTLO
da80: 47 46 4f 4e 54 57 3b 0a 0a 73 74 72 75 63 74 20  GFONTW;..struct 
da90: 4c 4f 47 50 45 4e 0a 7b 0a 20 20 20 20 55 49 4e  LOGPEN.{.    UIN
daa0: 54 20 6c 6f 70 6e 53 74 79 6c 65 3b 0a 20 20 20  T lopnStyle;.   
dab0: 20 50 4f 49 4e 54 20 6c 6f 70 6e 57 69 64 74 68   POINT lopnWidth
dac0: 3b 0a 20 20 20 20 43 4f 4c 4f 52 52 45 46 20 6c  ;.    COLORREF l
dad0: 6f 70 6e 43 6f 6c 6f 72 3b 0a 7d 0a 61 6c 69 61  opnColor;.}.alia
dae0: 73 20 4c 4f 47 50 45 4e 2a 50 4c 4f 47 50 45 4e  s LOGPEN*PLOGPEN
daf0: 2c 20 4e 50 4c 4f 47 50 45 4e 2c 20 4c 50 4c 4f  , NPLOGPEN, LPLO
db00: 47 50 45 4e 3b 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d  GPEN;..// ------
db10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
db20: 20 45 4d 52 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   EMR -----------
db30: 2d 0a 0a 73 74 72 75 63 74 20 45 4d 52 0a 7b 0a  -..struct EMR.{.
db40: 20 20 20 20 44 57 4f 52 44 20 69 54 79 70 65 3b      DWORD iType;
db50: 0a 20 20 20 20 44 57 4f 52 44 20 6e 53 69 7a 65  .    DWORD nSize
db60: 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 2a 50 45  ;.}.alias EMR*PE
db70: 4d 52 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 41  MR;..struct EMRA
db80: 4e 47 4c 45 41 52 43 0a 7b 0a 20 20 20 20 45 4d  NGLEARC.{.    EM
db90: 52 20 65 6d 72 3b 0a 20 20 20 20 50 4f 49 4e 54  R emr;.    POINT
dba0: 4c 20 70 74 6c 43 65 6e 74 65 72 3b 0a 20 20 20  L ptlCenter;.   
dbb0: 20 44 57 4f 52 44 20 6e 52 61 64 69 75 73 3b 0a   DWORD nRadius;.
dbc0: 20 20 20 20 46 4c 4f 41 54 20 65 53 74 61 72 74      FLOAT eStart
dbd0: 41 6e 67 6c 65 3b 0a 20 20 20 20 46 4c 4f 41 54  Angle;.    FLOAT
dbe0: 20 65 53 77 65 65 70 41 6e 67 6c 65 3b 0a 7d 0a   eSweepAngle;.}.
dbf0: 61 6c 69 61 73 20 45 4d 52 41 4e 47 4c 45 41 52  alias EMRANGLEAR
dc00: 43 2a 50 45 4d 52 41 4e 47 4c 45 41 52 43 3b 0a  C*PEMRANGLEARC;.
dc10: 0a 73 74 72 75 63 74 20 45 4d 52 41 52 43 0a 7b  .struct EMRARC.{
dc20: 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20  .    EMR emr;.  
dc30: 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 78 3b 0a    RECTL rclBox;.
dc40: 20 20 20 20 50 4f 49 4e 54 4c 20 70 74 6c 53 74      POINTL ptlSt
dc50: 61 72 74 3b 0a 20 20 20 20 50 4f 49 4e 54 4c 20  art;.    POINTL 
dc60: 70 74 6c 45 6e 64 3b 0a 7d 0a 61 6c 69 61 73 20  ptlEnd;.}.alias 
dc70: 45 4d 52 41 52 43 2a 50 45 4d 52 41 52 43 3b 0a  EMRARC*PEMRARC;.
dc80: 61 6c 69 61 73 20 45 4d 52 41 52 43 20 45 4d 52  alias EMRARC EMR
dc90: 41 52 43 54 4f 3b 0a 61 6c 69 61 73 20 45 4d 52  ARCTO;.alias EMR
dca0: 41 52 43 54 4f 2a 50 45 4d 52 41 52 43 54 4f 3b  ARCTO*PEMRARCTO;
dcb0: 0a 61 6c 69 61 73 20 45 4d 52 41 52 43 20 45 4d  .alias EMRARC EM
dcc0: 52 43 48 4f 52 44 3b 0a 61 6c 69 61 73 20 45 4d  RCHORD;.alias EM
dcd0: 52 43 48 4f 52 44 2a 50 45 4d 52 43 48 4f 52 44  RCHORD*PEMRCHORD
dce0: 3b 0a 61 6c 69 61 73 20 45 4d 52 41 52 43 20 45  ;.alias EMRARC E
dcf0: 4d 52 50 49 45 3b 0a 61 6c 69 61 73 20 45 4d 52  MRPIE;.alias EMR
dd00: 50 49 45 2a 50 45 4d 52 50 49 45 3b 0a 0a 73 74  PIE*PEMRPIE;..st
dd10: 72 75 63 74 20 58 46 4f 52 4d 0a 7b 0a 20 20 20  ruct XFORM.{.   
dd20: 20 46 4c 4f 41 54 20 65 4d 31 31 3b 0a 20 20 20   FLOAT eM11;.   
dd30: 20 46 4c 4f 41 54 20 65 4d 31 32 3b 0a 20 20 20   FLOAT eM12;.   
dd40: 20 46 4c 4f 41 54 20 65 4d 32 31 3b 0a 20 20 20   FLOAT eM21;.   
dd50: 20 46 4c 4f 41 54 20 65 4d 32 32 3b 0a 20 20 20   FLOAT eM22;.   
dd60: 20 46 4c 4f 41 54 20 65 44 78 3b 0a 20 20 20 20   FLOAT eDx;.    
dd70: 46 4c 4f 41 54 20 65 44 79 3b 0a 7d 0a 61 6c 69  FLOAT eDy;.}.ali
dd80: 61 73 20 58 46 4f 52 4d 2a 50 58 46 4f 52 4d 2c  as XFORM*PXFORM,
dd90: 20 4c 50 58 46 4f 52 4d 3b 0a 0a 73 74 72 75 63   LPXFORM;..struc
dda0: 74 20 45 4d 52 42 49 54 42 4c 54 0a 7b 0a 20 20  t EMRBITBLT.{.  
ddb0: 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52    EMR emr;.    R
ddc0: 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73 3b 0a  ECTL rclBounds;.
ddd0: 20 20 20 20 4c 4f 4e 47 20 78 44 65 73 74 3b 0a      LONG xDest;.
dde0: 20 20 20 20 4c 4f 4e 47 20 79 44 65 73 74 3b 0a      LONG yDest;.
ddf0: 20 20 20 20 4c 4f 4e 47 20 63 78 44 65 73 74 3b      LONG cxDest;
de00: 0a 20 20 20 20 4c 4f 4e 47 20 63 79 44 65 73 74  .    LONG cyDest
de10: 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 77 52 6f  ;.    DWORD dwRo
de20: 70 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 53 72 63  p;.    LONG xSrc
de30: 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 53 72 63 3b  ;.    LONG ySrc;
de40: 0a 20 20 20 20 58 46 4f 52 4d 20 78 66 6f 72 6d  .    XFORM xform
de50: 53 72 63 3b 0a 20 20 20 20 43 4f 4c 4f 52 52 45  Src;.    COLORRE
de60: 46 20 63 72 42 6b 43 6f 6c 6f 72 53 72 63 3b 0a  F crBkColorSrc;.
de70: 20 20 20 20 44 57 4f 52 44 20 69 55 73 61 67 65      DWORD iUsage
de80: 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f  Src;.    DWORD o
de90: 66 66 42 6d 69 53 72 63 3b 0a 20 20 20 20 44 57  ffBmiSrc;.    DW
dea0: 4f 52 44 20 63 62 42 6d 69 53 72 63 3b 0a 20 20  ORD cbBmiSrc;.  
deb0: 20 20 44 57 4f 52 44 20 6f 66 66 42 69 74 73 53    DWORD offBitsS
dec0: 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 62  rc;.    DWORD cb
ded0: 42 69 74 73 53 72 63 3b 0a 7d 0a 61 6c 69 61 73  BitsSrc;.}.alias
dee0: 20 45 4d 52 42 49 54 42 4c 54 2a 50 45 4d 52 42   EMRBITBLT*PEMRB
def0: 49 54 42 4c 54 3b 0a 0a 73 74 72 75 63 74 20 4c  ITBLT;..struct L
df00: 4f 47 42 52 55 53 48 0a 7b 0a 20 20 20 20 55 49  OGBRUSH.{.    UI
df10: 4e 54 20 6c 62 53 74 79 6c 65 3b 0a 20 20 20 20  NT lbStyle;.    
df20: 43 4f 4c 4f 52 52 45 46 20 6c 62 43 6f 6c 6f 72  COLORREF lbColor
df30: 3b 0a 20 20 20 20 4c 4f 4e 47 20 6c 62 48 61 74  ;.    LONG lbHat
df40: 63 68 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f 47 42  ch;.}.alias LOGB
df50: 52 55 53 48 20 50 41 54 54 45 52 4e 3b 0a 61 6c  RUSH PATTERN;.al
df60: 69 61 73 20 4c 4f 47 42 52 55 53 48 2a 50 4c 4f  ias LOGBRUSH*PLO
df70: 47 42 52 55 53 48 2c 20 4e 50 4c 4f 47 42 52 55  GBRUSH, NPLOGBRU
df80: 53 48 2c 20 4c 50 4c 4f 47 42 52 55 53 48 3b 0a  SH, LPLOGBRUSH;.
df90: 61 6c 69 61 73 20 50 41 54 54 45 52 4e 20 2a 50  alias PATTERN *P
dfa0: 50 41 54 54 45 52 4e 2c 20 4e 50 50 41 54 54 45  PATTERN, NPPATTE
dfb0: 52 4e 2c 20 4c 50 50 41 54 54 45 52 4e 3b 0a 0a  RN, LPPATTERN;..
dfc0: 73 74 72 75 63 74 20 4c 4f 47 42 52 55 53 48 33  struct LOGBRUSH3
dfd0: 32 0a 7b 0a 20 20 20 20 55 49 4e 54 20 6c 62 53  2.{.    UINT lbS
dfe0: 74 79 6c 65 3b 0a 20 20 20 20 43 4f 4c 4f 52 52  tyle;.    COLORR
dff0: 45 46 20 6c 62 43 6f 6c 6f 72 3b 0a 20 20 20 20  EF lbColor;.    
e000: 55 4c 4f 4e 47 20 6c 62 48 61 74 63 68 3b 0a 7d  ULONG lbHatch;.}
e010: 0a 61 6c 69 61 73 20 4c 4f 47 42 52 55 53 48 33  .alias LOGBRUSH3
e020: 32 2a 50 4c 4f 47 42 52 55 53 48 33 32 2c 20 4e  2*PLOGBRUSH32, N
e030: 50 4c 4f 47 42 52 55 53 48 33 32 2c 20 4c 50 4c  PLOGBRUSH32, LPL
e040: 4f 47 42 52 55 53 48 33 32 3b 0a 0a 73 74 72 75  OGBRUSH32;..stru
e050: 63 74 20 45 4d 52 43 52 45 41 54 45 42 52 55 53  ct EMRCREATEBRUS
e060: 48 49 4e 44 49 52 45 43 54 0a 7b 0a 20 20 20 20  HINDIRECT.{.    
e070: 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44 57 4f  EMR emr;.    DWO
e080: 52 44 20 69 68 42 72 75 73 68 3b 0a 20 20 20 20  RD ihBrush;.    
e090: 4c 4f 47 42 52 55 53 48 33 32 20 6c 62 3b 0a 7d  LOGBRUSH32 lb;.}
e0a0: 0a 61 6c 69 61 73 20 45 4d 52 43 52 45 41 54 45  .alias EMRCREATE
e0b0: 42 52 55 53 48 49 4e 44 49 52 45 43 54 2a 50 45  BRUSHINDIRECT*PE
e0c0: 4d 52 43 52 45 41 54 45 42 52 55 53 48 49 4e 44  MRCREATEBRUSHIND
e0d0: 49 52 45 43 54 3b 0a 0a 61 6c 69 61 73 20 4c 4f  IRECT;..alias LO
e0e0: 4e 47 20 4c 43 53 43 53 54 59 50 45 2c 20 4c 43  NG LCSCSTYPE, LC
e0f0: 53 47 41 4d 55 54 4d 41 54 43 48 3b 0a 0a 73 74  SGAMUTMATCH;..st
e100: 72 75 63 74 20 4c 4f 47 43 4f 4c 4f 52 53 50 41  ruct LOGCOLORSPA
e110: 43 45 41 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20  CEA.{.    DWORD 
e120: 6c 63 73 53 69 67 6e 61 74 75 72 65 3b 0a 20 20  lcsSignature;.  
e130: 20 20 44 57 4f 52 44 20 6c 63 73 56 65 72 73 69    DWORD lcsVersi
e140: 6f 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20 6c 63  on;.    DWORD lc
e150: 73 53 69 7a 65 3b 0a 20 20 20 20 4c 43 53 43 53  sSize;.    LCSCS
e160: 54 59 50 45 20 6c 63 73 43 53 54 79 70 65 3b 0a  TYPE lcsCSType;.
e170: 20 20 20 20 4c 43 53 47 41 4d 55 54 4d 41 54 43      LCSGAMUTMATC
e180: 48 20 6c 63 73 49 6e 74 65 6e 74 3b 0a 20 20 20  H lcsIntent;.   
e190: 20 43 49 45 58 59 5a 54 52 49 50 4c 45 20 6c 63   CIEXYZTRIPLE lc
e1a0: 73 45 6e 64 70 6f 69 6e 74 73 3b 0a 20 20 20 20  sEndpoints;.    
e1b0: 44 57 4f 52 44 20 6c 63 73 47 61 6d 6d 61 52 65  DWORD lcsGammaRe
e1c0: 64 3b 0a 20 20 20 20 44 57 4f 52 44 20 6c 63 73  d;.    DWORD lcs
e1d0: 47 61 6d 6d 61 47 72 65 65 6e 3b 0a 20 20 20 20  GammaGreen;.    
e1e0: 44 57 4f 52 44 20 6c 63 73 47 61 6d 6d 61 42 6c  DWORD lcsGammaBl
e1f0: 75 65 3b 0a 20 20 20 20 43 48 41 52 5b 4d 41 58  ue;.    CHAR[MAX
e200: 5f 50 41 54 48 5d 20 6c 63 73 46 69 6c 65 6e 61  _PATH] lcsFilena
e210: 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f 47 43  me;.}.alias LOGC
e220: 4f 4c 4f 52 53 50 41 43 45 41 2a 4c 50 4c 4f 47  OLORSPACEA*LPLOG
e230: 43 4f 4c 4f 52 53 50 41 43 45 41 3b 0a 0a 73 74  COLORSPACEA;..st
e240: 72 75 63 74 20 4c 4f 47 43 4f 4c 4f 52 53 50 41  ruct LOGCOLORSPA
e250: 43 45 57 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20  CEW.{.    DWORD 
e260: 6c 63 73 53 69 67 6e 61 74 75 72 65 3b 0a 20 20  lcsSignature;.  
e270: 20 20 44 57 4f 52 44 20 6c 63 73 56 65 72 73 69    DWORD lcsVersi
e280: 6f 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20 6c 63  on;.    DWORD lc
e290: 73 53 69 7a 65 3b 0a 20 20 20 20 4c 43 53 43 53  sSize;.    LCSCS
e2a0: 54 59 50 45 20 6c 63 73 43 53 54 79 70 65 3b 0a  TYPE lcsCSType;.
e2b0: 20 20 20 20 4c 43 53 47 41 4d 55 54 4d 41 54 43      LCSGAMUTMATC
e2c0: 48 20 6c 63 73 49 6e 74 65 6e 74 3b 0a 20 20 20  H lcsIntent;.   
e2d0: 20 43 49 45 58 59 5a 54 52 49 50 4c 45 20 6c 63   CIEXYZTRIPLE lc
e2e0: 73 45 6e 64 70 6f 69 6e 74 73 3b 0a 20 20 20 20  sEndpoints;.    
e2f0: 44 57 4f 52 44 20 6c 63 73 47 61 6d 6d 61 52 65  DWORD lcsGammaRe
e300: 64 3b 0a 20 20 20 20 44 57 4f 52 44 20 6c 63 73  d;.    DWORD lcs
e310: 47 61 6d 6d 61 47 72 65 65 6e 3b 0a 20 20 20 20  GammaGreen;.    
e320: 44 57 4f 52 44 20 6c 63 73 47 61 6d 6d 61 42 6c  DWORD lcsGammaBl
e330: 75 65 3b 0a 20 20 20 20 57 43 48 41 52 5b 4d 41  ue;.    WCHAR[MA
e340: 58 5f 50 41 54 48 5d 20 6c 63 73 46 69 6c 65 6e  X_PATH] lcsFilen
e350: 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f 47  ame;.}.alias LOG
e360: 43 4f 4c 4f 52 53 50 41 43 45 57 2a 4c 50 4c 4f  COLORSPACEW*LPLO
e370: 47 43 4f 4c 4f 52 53 50 41 43 45 57 3b 0a 0a 61  GCOLORSPACEW;..a
e380: 6c 69 61 73 20 55 53 48 4f 52 54 20 43 4f 4c 4f  lias USHORT COLO
e390: 52 31 36 3b 0a 73 74 72 75 63 74 20 54 52 49 56  R16;.struct TRIV
e3a0: 45 52 54 45 58 0a 7b 0a 20 20 20 20 4c 4f 4e 47  ERTEX.{.    LONG
e3b0: 20 78 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 3b 0a   x;.    LONG y;.
e3c0: 20 20 20 20 43 4f 4c 4f 52 31 36 20 52 65 64 3b      COLOR16 Red;
e3d0: 0a 20 20 20 20 43 4f 4c 4f 52 31 36 20 47 72 65  .    COLOR16 Gre
e3e0: 65 6e 3b 0a 20 20 20 20 43 4f 4c 4f 52 31 36 20  en;.    COLOR16 
e3f0: 42 6c 75 65 3b 0a 20 20 20 20 43 4f 4c 4f 52 31  Blue;.    COLOR1
e400: 36 20 41 6c 70 68 61 3b 0a 7d 0a 61 6c 69 61 73  6 Alpha;.}.alias
e410: 20 54 52 49 56 45 52 54 45 58 2a 50 54 52 49 56   TRIVERTEX*PTRIV
e420: 45 52 54 45 58 2c 20 4c 50 54 52 49 56 45 52 54  ERTEX, LPTRIVERT
e430: 45 58 3b 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20  EX;..static..if 
e440: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
e450: 30 29 0a 7b 0a 20 20 20 20 73 74 72 75 63 74 20  0).{.    struct 
e460: 45 4d 52 47 4c 53 52 45 43 4f 52 44 0a 20 20 20  EMRGLSRECORD.   
e470: 20 7b 0a 20 20 20 20 20 20 20 20 45 4d 52 20 65   {.        EMR e
e480: 6d 72 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  mr;.        DWOR
e490: 44 20 63 62 44 61 74 61 3b 0a 20 20 20 20 20 20  D cbData;.      
e4a0: 20 20 42 59 54 45 5b 31 5d 20 44 61 74 61 3b 0a    BYTE[1] Data;.
e4b0: 20 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20      }.    alias 
e4c0: 45 4d 52 47 4c 53 52 45 43 4f 52 44 2a 50 45 4d  EMRGLSRECORD*PEM
e4d0: 52 47 4c 53 52 45 43 4f 52 44 3b 0a 0a 20 20 20  RGLSRECORD;..   
e4e0: 20 73 74 72 75 63 74 20 45 4d 52 47 4c 53 42 4f   struct EMRGLSBO
e4f0: 55 4e 44 45 44 52 45 43 4f 52 44 0a 20 20 20 20  UNDEDRECORD.    
e500: 7b 0a 20 20 20 20 20 20 20 20 45 4d 52 20 65 6d  {.        EMR em
e510: 72 3b 0a 20 20 20 20 20 20 20 20 52 45 43 54 4c  r;.        RECTL
e520: 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20 20   rclBounds;.    
e530: 20 20 20 20 44 57 4f 52 44 20 63 62 44 61 74 61      DWORD cbData
e540: 3b 0a 20 20 20 20 20 20 20 20 42 59 54 45 5b 31  ;.        BYTE[1
e550: 5d 20 44 61 74 61 3b 0a 20 20 20 20 7d 0a 20 20  ] Data;.    }.  
e560: 20 20 61 6c 69 61 73 20 45 4d 52 47 4c 53 42 4f    alias EMRGLSBO
e570: 55 4e 44 45 44 52 45 43 4f 52 44 2a 50 45 4d 52  UNDEDRECORD*PEMR
e580: 47 4c 53 42 4f 55 4e 44 45 44 52 45 43 4f 52 44  GLSBOUNDEDRECORD
e590: 3b 0a 0a 20 20 20 20 73 74 72 75 63 74 20 45 4d  ;..    struct EM
e5a0: 52 50 49 58 45 4c 46 4f 52 4d 41 54 0a 20 20 20  RPIXELFORMAT.   
e5b0: 20 7b 0a 20 20 20 20 20 20 20 20 45 4d 52 20 65   {.        EMR e
e5c0: 6d 72 3b 0a 20 20 20 20 20 20 20 20 50 49 58 45  mr;.        PIXE
e5d0: 4c 46 4f 52 4d 41 54 44 45 53 43 52 49 50 54 4f  LFORMATDESCRIPTO
e5e0: 52 20 70 66 64 3b 0a 20 20 20 20 7d 0a 20 20 20  R pfd;.    }.   
e5f0: 20 61 6c 69 61 73 20 45 4d 52 50 49 58 45 4c 46   alias EMRPIXELF
e600: 4f 52 4d 41 54 2a 50 45 4d 52 50 49 58 45 4c 46  ORMAT*PEMRPIXELF
e610: 4f 52 4d 41 54 3b 0a 0a 20 20 20 20 73 74 72 75  ORMAT;..    stru
e620: 63 74 20 45 4d 52 43 52 45 41 54 45 43 4f 4c 4f  ct EMRCREATECOLO
e630: 52 53 50 41 43 45 0a 20 20 20 20 7b 0a 20 20 20  RSPACE.    {.   
e640: 20 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20       EMR emr;.  
e650: 20 20 20 20 20 20 44 57 4f 52 44 20 69 68 43 53        DWORD ihCS
e660: 3b 0a 20 20 20 20 20 20 20 20 4c 4f 47 43 4f 4c  ;.        LOGCOL
e670: 4f 52 53 50 41 43 45 20 6c 63 73 3b 0a 20 20 20  ORSPACE lcs;.   
e680: 20 7d 0a 20 20 20 20 61 6c 69 61 73 20 45 4d 52   }.    alias EMR
e690: 43 52 45 41 54 45 43 4f 4c 4f 52 53 50 41 43 45  CREATECOLORSPACE
e6a0: 2a 50 45 4d 52 43 52 45 41 54 45 43 4f 4c 4f 52  *PEMRCREATECOLOR
e6b0: 53 50 41 43 45 3b 0a 0a 20 20 20 20 73 74 72 75  SPACE;..    stru
e6c0: 63 74 20 45 4d 52 53 45 54 43 4f 4c 4f 52 53 50  ct EMRSETCOLORSP
e6d0: 41 43 45 0a 20 20 20 20 7b 0a 20 20 20 20 20 20  ACE.    {.      
e6e0: 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 20    EMR emr;.     
e6f0: 20 20 20 44 57 4f 52 44 20 69 68 43 53 3b 0a 20     DWORD ihCS;. 
e700: 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20 45     }.    alias E
e710: 4d 52 53 45 54 43 4f 4c 4f 52 53 50 41 43 45 2a  MRSETCOLORSPACE*
e720: 50 45 4d 52 53 45 54 43 4f 4c 4f 52 53 50 41 43  PEMRSETCOLORSPAC
e730: 45 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 4d 52  E;.    alias EMR
e740: 53 45 54 43 4f 4c 4f 52 53 50 41 43 45 20 45 4d  SETCOLORSPACE EM
e750: 52 53 45 4c 45 43 54 43 4f 4c 4f 52 53 50 41 43  RSELECTCOLORSPAC
e760: 45 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 4d 52  E;.    alias EMR
e770: 53 45 4c 45 43 54 43 4f 4c 4f 52 53 50 41 43 45  SELECTCOLORSPACE
e780: 2a 50 45 4d 52 53 45 4c 45 43 54 43 4f 4c 4f 52  *PEMRSELECTCOLOR
e790: 53 50 41 43 45 3b 0a 20 20 20 20 61 6c 69 61 73  SPACE;.    alias
e7a0: 20 45 4d 52 53 45 54 43 4f 4c 4f 52 53 50 41 43   EMRSETCOLORSPAC
e7b0: 45 20 45 4d 52 44 45 4c 45 54 45 43 4f 4c 4f 52  E EMRDELETECOLOR
e7c0: 53 50 41 43 45 3b 0a 20 20 20 20 61 6c 69 61 73  SPACE;.    alias
e7d0: 20 45 4d 52 44 45 4c 45 54 45 43 4f 4c 4f 52 53   EMRDELETECOLORS
e7e0: 50 41 43 45 2a 50 45 4d 52 44 45 4c 45 54 45 43  PACE*PEMRDELETEC
e7f0: 4f 4c 4f 52 53 50 41 43 45 3b 0a 7d 0a 0a 73 74  OLORSPACE;.}..st
e800: 61 74 69 63 0a 0a 69 66 20 28 57 49 4e 56 45 52  atic..if (WINVER
e810: 20 3e 3d 20 30 78 30 35 30 30 29 0a 7b 0a 20 20   >= 0x0500).{.  
e820: 20 20 73 74 72 75 63 74 20 45 4d 52 45 58 54 45    struct EMREXTE
e830: 53 43 41 50 45 0a 20 20 20 20 7b 0a 20 20 20 20  SCAPE.    {.    
e840: 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
e850: 20 20 20 20 20 49 4e 54 20 69 45 73 63 61 70 65       INT iEscape
e860: 3b 0a 20 20 20 20 20 20 20 20 49 4e 54 20 63 62  ;.        INT cb
e870: 45 73 63 44 61 74 61 3b 0a 20 20 20 20 20 20 20  EscData;.       
e880: 20 42 59 54 45 5b 31 5d 20 45 73 63 44 61 74 61   BYTE[1] EscData
e890: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 6c 69 61  ;.    }.    alia
e8a0: 73 20 45 4d 52 45 58 54 45 53 43 41 50 45 2a 50  s EMREXTESCAPE*P
e8b0: 45 4d 52 45 58 54 45 53 43 41 50 45 3b 0a 20 20  EMREXTESCAPE;.  
e8c0: 20 20 61 6c 69 61 73 20 45 4d 52 45 58 54 45 53    alias EMREXTES
e8d0: 43 41 50 45 20 45 4d 52 44 52 41 57 45 53 43 41  CAPE EMRDRAWESCA
e8e0: 50 45 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 4d  PE;.    alias EM
e8f0: 52 44 52 41 57 45 53 43 41 50 45 2a 50 45 4d 52  RDRAWESCAPE*PEMR
e900: 44 52 41 57 45 53 43 41 50 45 3b 0a 0a 20 20 20  DRAWESCAPE;..   
e910: 20 73 74 72 75 63 74 20 45 4d 52 4e 41 4d 45 44   struct EMRNAMED
e920: 45 53 43 41 50 45 0a 20 20 20 20 7b 0a 20 20 20  ESCAPE.    {.   
e930: 20 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20       EMR emr;.  
e940: 20 20 20 20 20 20 49 4e 54 20 69 45 73 63 61 70        INT iEscap
e950: 65 3b 0a 20 20 20 20 20 20 20 20 49 4e 54 20 63  e;.        INT c
e960: 62 44 72 69 76 65 72 3b 0a 20 20 20 20 20 20 20  bDriver;.       
e970: 20 49 4e 54 20 63 62 45 73 63 44 61 74 61 3b 0a   INT cbEscData;.
e980: 20 20 20 20 20 20 20 20 42 59 54 45 5b 31 5d 20          BYTE[1] 
e990: 45 73 63 44 61 74 61 3b 0a 20 20 20 20 7d 0a 20  EscData;.    }. 
e9a0: 20 20 20 61 6c 69 61 73 20 45 4d 52 4e 41 4d 45     alias EMRNAME
e9b0: 44 45 53 43 41 50 45 2a 50 45 4d 52 4e 41 4d 45  DESCAPE*PEMRNAME
e9c0: 44 45 53 43 41 50 45 3b 0a 0a 20 20 20 20 73 74  DESCAPE;..    st
e9d0: 72 75 63 74 20 45 4d 52 53 45 54 49 43 4d 50 52  ruct EMRSETICMPR
e9e0: 4f 46 49 4c 45 0a 20 20 20 20 7b 0a 20 20 20 20  OFILE.    {.    
e9f0: 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
ea00: 20 20 20 20 20 44 57 4f 52 44 20 64 77 46 6c 61       DWORD dwFla
ea10: 67 73 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  gs;.        DWOR
ea20: 44 20 63 62 4e 61 6d 65 3b 0a 20 20 20 20 20 20  D cbName;.      
ea30: 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0a    DWORD cbData;.
ea40: 20 20 20 20 20 20 20 20 42 59 54 45 5b 31 5d 20          BYTE[1] 
ea50: 44 61 74 61 3b 0a 20 20 20 20 7d 0a 20 20 20 20  Data;.    }.    
ea60: 61 6c 69 61 73 20 45 4d 52 53 45 54 49 43 4d 50  alias EMRSETICMP
ea70: 52 4f 46 49 4c 45 2a 50 45 4d 52 53 45 54 49 43  ROFILE*PEMRSETIC
ea80: 4d 50 52 4f 46 49 4c 45 3b 0a 20 20 20 20 61 6c  MPROFILE;.    al
ea90: 69 61 73 20 45 4d 52 53 45 54 49 43 4d 50 52 4f  ias EMRSETICMPRO
eaa0: 46 49 4c 45 20 45 4d 52 53 45 54 49 43 4d 50 52  FILE EMRSETICMPR
eab0: 4f 46 49 4c 45 41 3b 0a 20 20 20 20 61 6c 69 61  OFILEA;.    alia
eac0: 73 20 45 4d 52 53 45 54 49 43 4d 50 52 4f 46 49  s EMRSETICMPROFI
ead0: 4c 45 41 2a 50 45 4d 52 53 45 54 49 43 4d 50 52  LEA*PEMRSETICMPR
eae0: 4f 46 49 4c 45 41 3b 0a 20 20 20 20 61 6c 69 61  OFILEA;.    alia
eaf0: 73 20 45 4d 52 53 45 54 49 43 4d 50 52 4f 46 49  s EMRSETICMPROFI
eb00: 4c 45 20 45 4d 52 53 45 54 49 43 4d 50 52 4f 46  LE EMRSETICMPROF
eb10: 49 4c 45 57 3b 0a 20 20 20 20 61 6c 69 61 73 20  ILEW;.    alias 
eb20: 45 4d 52 53 45 54 49 43 4d 50 52 4f 46 49 4c 45  EMRSETICMPROFILE
eb30: 57 2a 50 45 4d 52 53 45 54 49 43 4d 50 52 4f 46  W*PEMRSETICMPROF
eb40: 49 4c 45 57 3b 0a 0a 20 20 20 20 73 74 72 75 63  ILEW;..    struc
eb50: 74 20 45 4d 52 43 52 45 41 54 45 43 4f 4c 4f 52  t EMRCREATECOLOR
eb60: 53 50 41 43 45 57 0a 20 20 20 20 7b 0a 20 20 20  SPACEW.    {.   
eb70: 20 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20       EMR emr;.  
eb80: 20 20 20 20 20 20 44 57 4f 52 44 20 69 68 43 53        DWORD ihCS
eb90: 3b 0a 20 20 20 20 20 20 20 20 4c 4f 47 43 4f 4c  ;.        LOGCOL
eba0: 4f 52 53 50 41 43 45 57 20 6c 63 73 3b 0a 20 20  ORSPACEW lcs;.  
ebb0: 20 20 20 20 20 20 44 57 4f 52 44 20 64 77 46 6c        DWORD dwFl
ebc0: 61 67 73 3b 0a 20 20 20 20 20 20 20 20 44 57 4f  ags;.        DWO
ebd0: 52 44 20 63 62 44 61 74 61 3b 0a 20 20 20 20 20  RD cbData;.     
ebe0: 20 20 20 42 59 54 45 5b 31 5d 20 44 61 74 61 3b     BYTE[1] Data;
ebf0: 0a 20 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73  .    }.    alias
ec00: 20 45 4d 52 43 52 45 41 54 45 43 4f 4c 4f 52 53   EMRCREATECOLORS
ec10: 50 41 43 45 57 2a 50 45 4d 52 43 52 45 41 54 45  PACEW*PEMRCREATE
ec20: 43 4f 4c 4f 52 53 50 41 43 45 57 3b 0a 0a 20 20  COLORSPACEW;..  
ec30: 20 20 73 74 72 75 63 74 20 45 4d 52 43 4f 4c 4f    struct EMRCOLO
ec40: 52 4d 41 54 43 48 54 4f 54 41 52 47 45 54 0a 20  RMATCHTOTARGET. 
ec50: 20 20 20 7b 0a 20 20 20 20 20 20 20 20 45 4d 52     {.        EMR
ec60: 20 65 6d 72 3b 0a 20 20 20 20 20 20 20 20 44 57   emr;.        DW
ec70: 4f 52 44 20 64 77 41 63 74 69 6f 6e 3b 0a 20 20  ORD dwAction;.  
ec80: 20 20 20 20 20 20 44 57 4f 52 44 20 64 77 46 6c        DWORD dwFl
ec90: 61 67 73 3b 0a 20 20 20 20 20 20 20 20 44 57 4f  ags;.        DWO
eca0: 52 44 20 63 62 4e 61 6d 65 3b 0a 20 20 20 20 20  RD cbName;.     
ecb0: 20 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 3b     DWORD cbData;
ecc0: 0a 20 20 20 20 20 20 20 20 42 59 54 45 5b 31 5d  .        BYTE[1]
ecd0: 20 44 61 74 61 3b 0a 20 20 20 20 7d 0a 20 20 20   Data;.    }.   
ece0: 20 61 6c 69 61 73 20 45 4d 52 43 4f 4c 4f 52 4d   alias EMRCOLORM
ecf0: 41 54 43 48 54 4f 54 41 52 47 45 54 2a 50 45 4d  ATCHTOTARGET*PEM
ed00: 52 43 4f 4c 4f 52 4d 41 54 43 48 54 4f 54 41 52  RCOLORMATCHTOTAR
ed10: 47 45 54 3b 0a 0a 20 20 20 20 73 74 72 75 63 74  GET;..    struct
ed20: 20 45 4d 52 43 4f 4c 4f 52 43 4f 52 52 45 43 54   EMRCOLORCORRECT
ed30: 50 41 4c 45 54 54 45 0a 20 20 20 20 7b 0a 20 20  PALETTE.    {.  
ed40: 20 20 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20        EMR emr;. 
ed50: 20 20 20 20 20 20 20 44 57 4f 52 44 20 69 68 50         DWORD ihP
ed60: 61 6c 65 74 74 65 3b 0a 20 20 20 20 20 20 20 20  alette;.        
ed70: 44 57 4f 52 44 20 6e 46 69 72 73 74 45 6e 74 72  DWORD nFirstEntr
ed80: 79 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44  y;.        DWORD
ed90: 20 6e 50 61 6c 45 6e 74 72 69 65 73 3b 0a 20 20   nPalEntries;.  
eda0: 20 20 20 20 20 20 44 57 4f 52 44 20 6e 52 65 73        DWORD nRes
edb0: 65 72 76 65 64 3b 0a 20 20 20 20 7d 0a 20 20 20  erved;.    }.   
edc0: 20 61 6c 69 61 73 20 45 4d 52 43 4f 4c 4f 52 43   alias EMRCOLORC
edd0: 4f 52 52 45 43 54 50 41 4c 45 54 54 45 2a 50 45  ORRECTPALETTE*PE
ede0: 4d 52 43 4f 4c 4f 52 43 4f 52 52 45 43 54 50 41  MRCOLORCORRECTPA
edf0: 4c 45 54 54 45 3b 0a 0a 20 20 20 20 73 74 72 75  LETTE;..    stru
ee00: 63 74 20 45 4d 52 41 4c 50 48 41 42 4c 45 4e 44  ct EMRALPHABLEND
ee10: 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 45  .    {.        E
ee20: 4d 52 20 65 6d 72 3b 0a 20 20 20 20 20 20 20 20  MR emr;.        
ee30: 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73 3b  RECTL rclBounds;
ee40: 0a 20 20 20 20 20 20 20 20 4c 4f 4e 47 20 78 44  .        LONG xD
ee50: 65 73 74 3b 0a 20 20 20 20 20 20 20 20 4c 4f 4e  est;.        LON
ee60: 47 20 79 44 65 73 74 3b 0a 20 20 20 20 20 20 20  G yDest;.       
ee70: 20 4c 4f 4e 47 20 63 78 44 65 73 74 3b 0a 20 20   LONG cxDest;.  
ee80: 20 20 20 20 20 20 4c 4f 4e 47 20 63 79 44 65 73        LONG cyDes
ee90: 74 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44  t;.        DWORD
eea0: 20 64 77 52 6f 70 3b 0a 20 20 20 20 20 20 20 20   dwRop;.        
eeb0: 4c 4f 4e 47 20 78 53 72 63 3b 0a 20 20 20 20 20  LONG xSrc;.     
eec0: 20 20 20 4c 4f 4e 47 20 79 53 72 63 3b 0a 20 20     LONG ySrc;.  
eed0: 20 20 20 20 20 20 58 46 4f 52 4d 20 78 66 6f 72        XFORM xfor
eee0: 6d 53 72 63 3b 0a 20 20 20 20 20 20 20 20 43 4f  mSrc;.        CO
eef0: 4c 4f 52 52 45 46 20 63 72 42 6b 43 6f 6c 6f 72  LORREF crBkColor
ef00: 53 72 63 3b 0a 20 20 20 20 20 20 20 20 44 57 4f  Src;.        DWO
ef10: 52 44 20 69 55 73 61 67 65 53 72 63 3b 0a 20 20  RD iUsageSrc;.  
ef20: 20 20 20 20 20 20 44 57 4f 52 44 20 6f 66 66 42        DWORD offB
ef30: 6d 69 53 72 63 3b 0a 20 20 20 20 20 20 20 20 44  miSrc;.        D
ef40: 57 4f 52 44 20 63 62 42 6d 69 53 72 63 3b 0a 20  WORD cbBmiSrc;. 
ef50: 20 20 20 20 20 20 20 44 57 4f 52 44 20 6f 66 66         DWORD off
ef60: 42 69 74 73 53 72 63 3b 0a 20 20 20 20 20 20 20  BitsSrc;.       
ef70: 20 44 57 4f 52 44 20 63 62 42 69 74 73 53 72 63   DWORD cbBitsSrc
ef80: 3b 0a 20 20 20 20 20 20 20 20 4c 4f 4e 47 20 63  ;.        LONG c
ef90: 78 53 72 63 3b 0a 20 20 20 20 20 20 20 20 4c 4f  xSrc;.        LO
efa0: 4e 47 20 63 79 53 72 63 3b 0a 20 20 20 20 7d 0a  NG cySrc;.    }.
efb0: 20 20 20 20 61 6c 69 61 73 20 45 4d 52 41 4c 50      alias EMRALP
efc0: 48 41 42 4c 45 4e 44 2a 50 45 4d 52 41 4c 50 48  HABLEND*PEMRALPH
efd0: 41 42 4c 45 4e 44 3b 0a 0a 20 20 20 20 73 74 72  ABLEND;..    str
efe0: 75 63 74 20 45 4d 52 47 52 41 44 49 45 4e 54 46  uct EMRGRADIENTF
eff0: 49 4c 4c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20  ILL.    {.      
f000: 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 20    EMR emr;.     
f010: 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e     RECTL rclBoun
f020: 64 73 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  ds;.        DWOR
f030: 44 20 6e 56 65 72 3b 0a 20 20 20 20 20 20 20 20  D nVer;.        
f040: 44 57 4f 52 44 20 6e 54 72 69 3b 0a 20 20 20 20  DWORD nTri;.    
f050: 20 20 20 20 55 4c 4f 4e 47 20 75 6c 4d 6f 64 65      ULONG ulMode
f060: 3b 0a 20 20 20 20 20 20 20 20 54 52 49 56 45 52  ;.        TRIVER
f070: 54 45 58 5b 31 5d 20 56 65 72 3b 0a 20 20 20 20  TEX[1] Ver;.    
f080: 7d 0a 20 20 20 20 61 6c 69 61 73 20 45 4d 52 47  }.    alias EMRG
f090: 52 41 44 49 45 4e 54 46 49 4c 4c 2a 50 45 4d 52  RADIENTFILL*PEMR
f0a0: 47 52 41 44 49 45 4e 54 46 49 4c 4c 3b 0a 0a 20  GRADIENTFILL;.. 
f0b0: 20 20 20 73 74 72 75 63 74 20 45 4d 52 54 52 41     struct EMRTRA
f0c0: 4e 53 50 41 52 45 4e 54 42 4c 54 0a 20 20 20 20  NSPARENTBLT.    
f0d0: 7b 0a 20 20 20 20 20 20 20 20 45 4d 52 20 65 6d  {.        EMR em
f0e0: 72 3b 0a 20 20 20 20 20 20 20 20 52 45 43 54 4c  r;.        RECTL
f0f0: 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20 20   rclBounds;.    
f100: 20 20 20 20 4c 4f 4e 47 20 78 44 65 73 74 3b 0a      LONG xDest;.
f110: 20 20 20 20 20 20 20 20 4c 4f 4e 47 20 79 44 65          LONG yDe
f120: 73 74 3b 0a 20 20 20 20 20 20 20 20 4c 4f 4e 47  st;.        LONG
f130: 20 63 78 44 65 73 74 3b 0a 20 20 20 20 20 20 20   cxDest;.       
f140: 20 4c 4f 4e 47 20 63 79 44 65 73 74 3b 0a 20 20   LONG cyDest;.  
f150: 20 20 20 20 20 20 44 57 4f 52 44 20 64 77 52 6f        DWORD dwRo
f160: 70 3b 0a 20 20 20 20 20 20 20 20 4c 4f 4e 47 20  p;.        LONG 
f170: 78 53 72 63 3b 0a 20 20 20 20 20 20 20 20 4c 4f  xSrc;.        LO
f180: 4e 47 20 79 53 72 63 3b 0a 20 20 20 20 20 20 20  NG ySrc;.       
f190: 20 58 46 4f 52 4d 20 78 66 6f 72 6d 53 72 63 3b   XFORM xformSrc;
f1a0: 0a 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 52 45  .        COLORRE
f1b0: 46 20 63 72 42 6b 43 6f 6c 6f 72 53 72 63 3b 0a  F crBkColorSrc;.
f1c0: 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 69 55          DWORD iU
f1d0: 73 61 67 65 53 72 63 3b 0a 20 20 20 20 20 20 20  sageSrc;.       
f1e0: 20 44 57 4f 52 44 20 6f 66 66 42 6d 69 53 72 63   DWORD offBmiSrc
f1f0: 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ;.        DWORD 
f200: 63 62 42 6d 69 53 72 63 3b 0a 20 20 20 20 20 20  cbBmiSrc;.      
f210: 20 20 44 57 4f 52 44 20 6f 66 66 42 69 74 73 53    DWORD offBitsS
f220: 72 63 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52  rc;.        DWOR
f230: 44 20 63 62 42 69 74 73 53 72 63 3b 0a 20 20 20  D cbBitsSrc;.   
f240: 20 20 20 20 20 4c 4f 4e 47 20 63 78 53 72 63 3b       LONG cxSrc;
f250: 0a 20 20 20 20 20 20 20 20 4c 4f 4e 47 20 63 79  .        LONG cy
f260: 53 72 63 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61  Src;.    }.    a
f270: 6c 69 61 73 20 45 4d 52 54 52 41 4e 53 50 41 52  lias EMRTRANSPAR
f280: 45 4e 54 42 4c 54 2a 50 45 4d 52 54 52 41 4e 53  ENTBLT*PEMRTRANS
f290: 50 41 52 45 4e 54 42 4c 54 3b 0a 7d 0a 0a 73 74  PARENTBLT;.}..st
f2a0: 72 75 63 74 20 45 4d 52 43 52 45 41 54 45 44 49  ruct EMRCREATEDI
f2b0: 42 50 41 54 54 45 52 4e 42 52 55 53 48 50 54 0a  BPATTERNBRUSHPT.
f2c0: 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20  {.    EMR emr;. 
f2d0: 20 20 20 44 57 4f 52 44 20 69 68 42 72 75 73 68     DWORD ihBrush
f2e0: 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 55 73 61  ;.    DWORD iUsa
f2f0: 67 65 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f 66  ge;.    DWORD of
f300: 66 42 6d 69 3b 0a 20 20 20 20 44 57 4f 52 44 20  fBmi;.    DWORD 
f310: 63 62 42 6d 69 3b 0a 20 20 20 20 44 57 4f 52 44  cbBmi;.    DWORD
f320: 20 6f 66 66 42 69 74 73 3b 0a 20 20 20 20 44 57   offBits;.    DW
f330: 4f 52 44 20 63 62 42 69 74 73 3b 0a 7d 0a 61 6c  ORD cbBits;.}.al
f340: 69 61 73 20 45 4d 52 43 52 45 41 54 45 44 49 42  ias EMRCREATEDIB
f350: 50 41 54 54 45 52 4e 42 52 55 53 48 50 54 2a 50  PATTERNBRUSHPT*P
f360: 45 4d 52 43 52 45 41 54 45 44 49 42 50 41 54 54  EMRCREATEDIBPATT
f370: 45 52 4e 42 52 55 53 48 50 54 3b 0a 0a 73 74 72  ERNBRUSHPT;..str
f380: 75 63 74 20 45 4d 52 43 52 45 41 54 45 4d 4f 4e  uct EMRCREATEMON
f390: 4f 42 52 55 53 48 0a 7b 0a 20 20 20 20 45 4d 52  OBRUSH.{.    EMR
f3a0: 20 65 6d 72 3b 0a 20 20 20 20 44 57 4f 52 44 20   emr;.    DWORD 
f3b0: 69 68 42 72 75 73 68 3b 0a 20 20 20 20 44 57 4f  ihBrush;.    DWO
f3c0: 52 44 20 69 55 73 61 67 65 3b 0a 20 20 20 20 44  RD iUsage;.    D
f3d0: 57 4f 52 44 20 6f 66 66 42 6d 69 3b 0a 20 20 20  WORD offBmi;.   
f3e0: 20 44 57 4f 52 44 20 63 62 42 6d 69 3b 0a 20 20   DWORD cbBmi;.  
f3f0: 20 20 44 57 4f 52 44 20 6f 66 66 42 69 74 73 3b    DWORD offBits;
f400: 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42 69 74  .    DWORD cbBit
f410: 73 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 43 52  s;.}.alias EMRCR
f420: 45 41 54 45 4d 4f 4e 4f 42 52 55 53 48 2a 50 45  EATEMONOBRUSH*PE
f430: 4d 52 43 52 45 41 54 45 4d 4f 4e 4f 42 52 55 53  MRCREATEMONOBRUS
f440: 48 3b 0a 0a 73 74 72 75 63 74 20 50 41 4c 45 54  H;..struct PALET
f450: 54 45 45 4e 54 52 59 0a 7b 0a 20 20 20 20 42 59  TEENTRY.{.    BY
f460: 54 45 20 70 65 52 65 64 3b 0a 20 20 20 20 42 59  TE peRed;.    BY
f470: 54 45 20 70 65 47 72 65 65 6e 3b 0a 20 20 20 20  TE peGreen;.    
f480: 42 59 54 45 20 70 65 42 6c 75 65 3b 0a 20 20 20  BYTE peBlue;.   
f490: 20 42 59 54 45 20 70 65 46 6c 61 67 73 3b 0a 7d   BYTE peFlags;.}
f4a0: 0a 61 6c 69 61 73 20 50 41 4c 45 54 54 45 45 4e  .alias PALETTEEN
f4b0: 54 52 59 2a 50 50 41 4c 45 54 54 45 45 4e 54 52  TRY*PPALETTEENTR
f4c0: 59 2c 20 4c 50 50 41 4c 45 54 54 45 45 4e 54 52  Y, LPPALETTEENTR
f4d0: 59 3b 0a 0a 73 74 72 75 63 74 20 4c 4f 47 50 41  Y;..struct LOGPA
f4e0: 4c 45 54 54 45 0a 7b 0a 20 20 20 20 57 4f 52 44  LETTE.{.    WORD
f4f0: 20 70 61 6c 56 65 72 73 69 6f 6e 3b 0a 20 20 20   palVersion;.   
f500: 20 57 4f 52 44 20 70 61 6c 4e 75 6d 45 6e 74 72   WORD palNumEntr
f510: 69 65 73 3b 0a 20 20 20 20 50 41 4c 45 54 54 45  ies;.    PALETTE
f520: 45 4e 54 52 59 5b 31 5d 20 70 61 6c 50 61 6c 45  ENTRY[1] palPalE
f530: 6e 74 72 79 3b 0a 7d 0a 61 6c 69 61 73 20 4c 4f  ntry;.}.alias LO
f540: 47 50 41 4c 45 54 54 45 2a 50 4c 4f 47 50 41 4c  GPALETTE*PLOGPAL
f550: 45 54 54 45 2c 20 4e 50 4c 4f 47 50 41 4c 45 54  ETTE, NPLOGPALET
f560: 54 45 2c 20 4c 50 4c 4f 47 50 41 4c 45 54 54 45  TE, LPLOGPALETTE
f570: 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 43 52 45  ;..struct EMRCRE
f580: 41 54 45 50 41 4c 45 54 54 45 0a 7b 0a 20 20 20  ATEPALETTE.{.   
f590: 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44 57   EMR emr;.    DW
f5a0: 4f 52 44 20 69 68 50 61 6c 3b 0a 20 20 20 20 4c  ORD ihPal;.    L
f5b0: 4f 47 50 41 4c 45 54 54 45 20 6c 67 70 6c 3b 0a  OGPALETTE lgpl;.
f5c0: 7d 0a 61 6c 69 61 73 20 45 4d 52 43 52 45 41 54  }.alias EMRCREAT
f5d0: 45 50 41 4c 45 54 54 45 2a 50 45 4d 52 43 52 45  EPALETTE*PEMRCRE
f5e0: 41 54 45 50 41 4c 45 54 54 45 3b 0a 0a 73 74 72  ATEPALETTE;..str
f5f0: 75 63 74 20 45 4d 52 43 52 45 41 54 45 50 45 4e  uct EMRCREATEPEN
f600: 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a  .{.    EMR emr;.
f610: 20 20 20 20 44 57 4f 52 44 20 69 68 50 65 6e 3b      DWORD ihPen;
f620: 0a 20 20 20 20 4c 4f 47 50 45 4e 20 6c 6f 70 6e  .    LOGPEN lopn
f630: 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 43 52 45  ;.}.alias EMRCRE
f640: 41 54 45 50 45 4e 2a 50 45 4d 52 43 52 45 41 54  ATEPEN*PEMRCREAT
f650: 45 50 45 4e 3b 0a 0a 73 74 72 75 63 74 20 45 4d  EPEN;..struct EM
f660: 52 45 4c 4c 49 50 53 45 0a 7b 0a 20 20 20 20 45  RELLIPSE.{.    E
f670: 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52 45 43 54  MR emr;.    RECT
f680: 4c 20 72 63 6c 42 6f 78 3b 0a 7d 0a 61 6c 69 61  L rclBox;.}.alia
f690: 73 20 45 4d 52 45 4c 4c 49 50 53 45 2a 50 45 4d  s EMRELLIPSE*PEM
f6a0: 52 45 4c 4c 49 50 53 45 3b 0a 0a 61 6c 69 61 73  RELLIPSE;..alias
f6b0: 20 45 4d 52 45 4c 4c 49 50 53 45 20 45 4d 52 52   EMRELLIPSE EMRR
f6c0: 45 43 54 41 4e 47 4c 45 3b 0a 61 6c 69 61 73 20  ECTANGLE;.alias 
f6d0: 45 4d 52 52 45 43 54 41 4e 47 4c 45 2a 50 45 4d  EMRRECTANGLE*PEM
f6e0: 52 52 45 43 54 41 4e 47 4c 45 3b 0a 0a 73 74 72  RRECTANGLE;..str
f6f0: 75 63 74 20 45 4d 52 45 4f 46 0a 7b 0a 20 20 20  uct EMREOF.{.   
f700: 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44 57   EMR emr;.    DW
f710: 4f 52 44 20 6e 50 61 6c 45 6e 74 72 69 65 73 3b  ORD nPalEntries;
f720: 0a 20 20 20 20 44 57 4f 52 44 20 6f 66 66 50 61  .    DWORD offPa
f730: 6c 45 6e 74 72 69 65 73 3b 0a 20 20 20 20 44 57  lEntries;.    DW
f740: 4f 52 44 20 6e 53 69 7a 65 4c 61 73 74 3b 0a 7d  ORD nSizeLast;.}
f750: 0a 61 6c 69 61 73 20 45 4d 52 45 4f 46 2a 50 45  .alias EMREOF*PE
f760: 4d 52 45 4f 46 3b 0a 0a 73 74 72 75 63 74 20 45  MREOF;..struct E
f770: 4d 52 45 58 43 4c 55 44 45 43 4c 49 50 52 45 43  MREXCLUDECLIPREC
f780: 54 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  T.{.    EMR emr;
f790: 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c 43 6c  .    RECTL rclCl
f7a0: 69 70 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 45  ip;.}.alias EMRE
f7b0: 58 43 4c 55 44 45 43 4c 49 50 52 45 43 54 2a 50  XCLUDECLIPRECT*P
f7c0: 45 4d 52 45 58 43 4c 55 44 45 43 4c 49 50 52 45  EMREXCLUDECLIPRE
f7d0: 43 54 3b 0a 61 6c 69 61 73 20 45 4d 52 45 58 43  CT;.alias EMREXC
f7e0: 4c 55 44 45 43 4c 49 50 52 45 43 54 20 45 4d 52  LUDECLIPRECT EMR
f7f0: 49 4e 54 45 52 53 45 43 54 43 4c 49 50 52 45 43  INTERSECTCLIPREC
f800: 54 3b 0a 61 6c 69 61 73 20 45 4d 52 49 4e 54 45  T;.alias EMRINTE
f810: 52 53 45 43 54 43 4c 49 50 52 45 43 54 2a 50 45  RSECTCLIPRECT*PE
f820: 4d 52 49 4e 54 45 52 53 45 43 54 43 4c 49 50 52  MRINTERSECTCLIPR
f830: 45 43 54 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52  ECT;..struct EMR
f840: 45 58 54 43 52 45 41 54 45 46 4f 4e 54 49 4e 44  EXTCREATEFONTIND
f850: 49 52 45 43 54 57 0a 7b 0a 20 20 20 20 45 4d 52  IRECTW.{.    EMR
f860: 20 65 6d 72 3b 0a 20 20 20 20 44 57 4f 52 44 20   emr;.    DWORD 
f870: 69 68 46 6f 6e 74 3b 0a 20 20 20 20 45 58 54 4c  ihFont;.    EXTL
f880: 4f 47 46 4f 4e 54 57 20 65 6c 66 77 3b 0a 7d 0a  OGFONTW elfw;.}.
f890: 61 6c 69 61 73 20 45 4d 52 45 58 54 43 52 45 41  alias EMREXTCREA
f8a0: 54 45 46 4f 4e 54 49 4e 44 49 52 45 43 54 57 2a  TEFONTINDIRECTW*
f8b0: 50 45 4d 52 45 58 54 43 52 45 41 54 45 46 4f 4e  PEMREXTCREATEFON
f8c0: 54 49 4e 44 49 52 45 43 54 57 3b 0a 0a 73 74 72  TINDIRECTW;..str
f8d0: 75 63 74 20 45 58 54 4c 4f 47 50 45 4e 0a 7b 0a  uct EXTLOGPEN.{.
f8e0: 20 20 20 20 55 49 4e 54 20 65 6c 70 50 65 6e 53      UINT elpPenS
f8f0: 74 79 6c 65 3b 0a 20 20 20 20 55 49 4e 54 20 65  tyle;.    UINT e
f900: 6c 70 57 69 64 74 68 3b 0a 20 20 20 20 55 49 4e  lpWidth;.    UIN
f910: 54 20 65 6c 70 42 72 75 73 68 53 74 79 6c 65 3b  T elpBrushStyle;
f920: 0a 20 20 20 20 43 4f 4c 4f 52 52 45 46 20 65 6c  .    COLORREF el
f930: 70 43 6f 6c 6f 72 3b 0a 20 20 20 20 4c 4f 4e 47  pColor;.    LONG
f940: 20 65 6c 70 48 61 74 63 68 3b 0a 20 20 20 20 44   elpHatch;.    D
f950: 57 4f 52 44 20 65 6c 70 4e 75 6d 45 6e 74 72 69  WORD elpNumEntri
f960: 65 73 3b 0a 20 20 20 20 44 57 4f 52 44 5b 31 5d  es;.    DWORD[1]
f970: 20 65 6c 70 53 74 79 6c 65 45 6e 74 72 79 3b 0a   elpStyleEntry;.
f980: 7d 0a 61 6c 69 61 73 20 45 58 54 4c 4f 47 50 45  }.alias EXTLOGPE
f990: 4e 2a 50 45 58 54 4c 4f 47 50 45 4e 2c 20 4e 50  N*PEXTLOGPEN, NP
f9a0: 45 58 54 4c 4f 47 50 45 4e 2c 20 4c 50 45 58 54  EXTLOGPEN, LPEXT
f9b0: 4c 4f 47 50 45 4e 3b 0a 0a 73 74 72 75 63 74 20  LOGPEN;..struct 
f9c0: 45 4d 52 45 58 54 43 52 45 41 54 45 50 45 4e 0a  EMREXTCREATEPEN.
f9d0: 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20  {.    EMR emr;. 
f9e0: 20 20 20 44 57 4f 52 44 20 69 68 50 65 6e 3b 0a     DWORD ihPen;.
f9f0: 20 20 20 20 44 57 4f 52 44 20 6f 66 66 42 6d 69      DWORD offBmi
fa00: 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42 6d  ;.    DWORD cbBm
fa10: 69 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f 66 66  i;.    DWORD off
fa20: 42 69 74 73 3b 0a 20 20 20 20 44 57 4f 52 44 20  Bits;.    DWORD 
fa30: 63 62 42 69 74 73 3b 0a 20 20 20 20 45 58 54 4c  cbBits;.    EXTL
fa40: 4f 47 50 45 4e 20 65 6c 70 3b 0a 7d 0a 61 6c 69  OGPEN elp;.}.ali
fa50: 61 73 20 45 4d 52 45 58 54 43 52 45 41 54 45 50  as EMREXTCREATEP
fa60: 45 4e 2a 50 45 4d 52 45 58 54 43 52 45 41 54 45  EN*PEMREXTCREATE
fa70: 50 45 4e 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52  PEN;..struct EMR
fa80: 45 58 54 46 4c 4f 4f 44 46 49 4c 4c 0a 7b 0a 20  EXTFLOODFILL.{. 
fa90: 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20     EMR emr;.    
faa0: 50 4f 49 4e 54 4c 20 70 74 6c 53 74 61 72 74 3b  POINTL ptlStart;
fab0: 0a 20 20 20 20 43 4f 4c 4f 52 52 45 46 20 63 72  .    COLORREF cr
fac0: 43 6f 6c 6f 72 3b 0a 20 20 20 20 44 57 4f 52 44  Color;.    DWORD
fad0: 20 69 4d 6f 64 65 3b 0a 7d 0a 61 6c 69 61 73 20   iMode;.}.alias 
fae0: 45 4d 52 45 58 54 46 4c 4f 4f 44 46 49 4c 4c 2a  EMREXTFLOODFILL*
faf0: 50 45 4d 52 45 58 54 46 4c 4f 4f 44 46 49 4c 4c  PEMREXTFLOODFILL
fb00: 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 45 58 54  ;..struct EMREXT
fb10: 53 45 4c 45 43 54 43 4c 49 50 52 47 4e 0a 7b 0a  SELECTCLIPRGN.{.
fb20: 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
fb30: 20 44 57 4f 52 44 20 63 62 52 67 6e 44 61 74 61   DWORD cbRgnData
fb40: 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 4d 6f 64  ;.    DWORD iMod
fb50: 65 3b 0a 20 20 20 20 42 59 54 45 20 5b 31 5d 20  e;.    BYTE [1] 
fb60: 52 67 6e 44 61 74 61 3b 0a 7d 0a 61 6c 69 61 73  RgnData;.}.alias
fb70: 20 45 4d 52 45 58 54 53 45 4c 45 43 54 43 4c 49   EMREXTSELECTCLI
fb80: 50 52 47 4e 2a 50 45 4d 52 45 58 54 53 45 4c 45  PRGN*PEMREXTSELE
fb90: 43 54 43 4c 49 50 52 47 4e 3b 0a 0a 73 74 72 75  CTCLIPRGN;..stru
fba0: 63 74 20 45 4d 52 54 45 58 54 0a 7b 0a 20 20 20  ct EMRTEXT.{.   
fbb0: 20 50 4f 49 4e 54 4c 20 70 74 6c 52 65 66 65 72   POINTL ptlRefer
fbc0: 65 6e 63 65 3b 0a 20 20 20 20 44 57 4f 52 44 20  ence;.    DWORD 
fbd0: 6e 43 68 61 72 73 3b 0a 20 20 20 20 44 57 4f 52  nChars;.    DWOR
fbe0: 44 20 6f 66 66 53 74 72 69 6e 67 3b 0a 20 20 20  D offString;.   
fbf0: 20 44 57 4f 52 44 20 66 4f 70 74 69 6f 6e 73 3b   DWORD fOptions;
fc00: 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c 3b 0a  .    RECTL rcl;.
fc10: 20 20 20 20 44 57 4f 52 44 20 6f 66 66 44 78 3b      DWORD offDx;
fc20: 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 54 45 58 54  .}.alias EMRTEXT
fc30: 2a 50 45 4d 52 54 45 58 54 3b 0a 0a 73 74 72 75  *PEMRTEXT;..stru
fc40: 63 74 20 45 4d 52 45 58 54 54 45 58 54 4f 55 54  ct EMREXTTEXTOUT
fc50: 41 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  A.{.    EMR emr;
fc60: 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f  .    RECTL rclBo
fc70: 75 6e 64 73 3b 0a 20 20 20 20 44 57 4f 52 44 20  unds;.    DWORD 
fc80: 69 47 72 61 70 68 69 63 73 4d 6f 64 65 3b 0a 20  iGraphicsMode;. 
fc90: 20 20 20 46 4c 4f 41 54 20 65 78 53 63 61 6c 65     FLOAT exScale
fca0: 3b 0a 20 20 20 20 46 4c 4f 41 54 20 65 79 53 63  ;.    FLOAT eySc
fcb0: 61 6c 65 3b 0a 20 20 20 20 45 4d 52 54 45 58 54  ale;.    EMRTEXT
fcc0: 20 65 6d 72 74 65 78 74 3b 0a 7d 0a 61 6c 69 61   emrtext;.}.alia
fcd0: 73 20 45 4d 52 45 58 54 54 45 58 54 4f 55 54 41  s EMREXTTEXTOUTA
fce0: 2a 50 45 4d 52 45 58 54 54 45 58 54 4f 55 54 41  *PEMREXTTEXTOUTA
fcf0: 3b 0a 61 6c 69 61 73 20 45 4d 52 45 58 54 54 45  ;.alias EMREXTTE
fd00: 58 54 4f 55 54 41 20 45 4d 52 45 58 54 54 45 58  XTOUTA EMREXTTEX
fd10: 54 4f 55 54 57 3b 0a 61 6c 69 61 73 20 45 4d 52  TOUTW;.alias EMR
fd20: 45 58 54 54 45 58 54 4f 55 54 57 2a 50 45 4d 52  EXTTEXTOUTW*PEMR
fd30: 45 58 54 54 45 58 54 4f 55 54 57 3b 0a 0a 73 74  EXTTEXTOUTW;..st
fd40: 72 75 63 74 20 45 4d 52 46 49 4c 4c 50 41 54 48  ruct EMRFILLPATH
fd50: 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a  .{.    EMR emr;.
fd60: 20 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75      RECTL rclBou
fd70: 6e 64 73 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52  nds;.}.alias EMR
fd80: 46 49 4c 4c 50 41 54 48 2a 50 45 4d 52 46 49 4c  FILLPATH*PEMRFIL
fd90: 4c 50 41 54 48 3b 0a 0a 61 6c 69 61 73 20 45 4d  LPATH;..alias EM
fda0: 52 46 49 4c 4c 50 41 54 48 20 45 4d 52 53 54 52  RFILLPATH EMRSTR
fdb0: 4f 4b 45 41 4e 44 46 49 4c 4c 50 41 54 48 3b 0a  OKEANDFILLPATH;.
fdc0: 61 6c 69 61 73 20 45 4d 52 53 54 52 4f 4b 45 41  alias EMRSTROKEA
fdd0: 4e 44 46 49 4c 4c 50 41 54 48 2a 50 45 4d 52 53  NDFILLPATH*PEMRS
fde0: 54 52 4f 4b 45 41 4e 44 46 49 4c 4c 50 41 54 48  TROKEANDFILLPATH
fdf0: 3b 0a 0a 61 6c 69 61 73 20 45 4d 52 46 49 4c 4c  ;..alias EMRFILL
fe00: 50 41 54 48 20 45 4d 52 53 54 52 4f 4b 45 50 41  PATH EMRSTROKEPA
fe10: 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52 53 54 52  TH;.alias EMRSTR
fe20: 4f 4b 45 50 41 54 48 2a 50 45 4d 52 53 54 52 4f  OKEPATH*PEMRSTRO
fe30: 4b 45 50 41 54 48 3b 0a 0a 73 74 72 75 63 74 20  KEPATH;..struct 
fe40: 45 4d 52 46 49 4c 4c 52 47 4e 0a 7b 0a 20 20 20  EMRFILLRGN.{.   
fe50: 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52 45   EMR emr;.    RE
fe60: 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20  CTL rclBounds;. 
fe70: 20 20 20 44 57 4f 52 44 20 63 62 52 67 6e 44 61     DWORD cbRgnDa
fe80: 74 61 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 68  ta;.    DWORD ih
fe90: 42 72 75 73 68 3b 0a 20 20 20 20 42 59 54 45 5b  Brush;.    BYTE[
fea0: 31 5d 20 52 67 6e 44 61 74 61 3b 0a 7d 0a 61 6c  1] RgnData;.}.al
feb0: 69 61 73 20 45 4d 52 46 49 4c 4c 52 47 4e 2a 50  ias EMRFILLRGN*P
fec0: 45 4d 52 46 49 4c 4c 52 47 4e 3b 0a 0a 73 74 72  EMRFILLRGN;..str
fed0: 75 63 74 20 45 4d 52 46 4f 52 4d 41 54 0a 7b 0a  uct EMRFORMAT.{.
fee0: 20 20 20 20 44 57 4f 52 44 20 64 53 69 67 6e 61      DWORD dSigna
fef0: 74 75 72 65 3b 0a 20 20 20 20 44 57 4f 52 44 20  ture;.    DWORD 
ff00: 6e 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20 44 57  nVersion;.    DW
ff10: 4f 52 44 20 63 62 44 61 74 61 3b 0a 20 20 20 20  ORD cbData;.    
ff20: 44 57 4f 52 44 20 6f 66 66 44 61 74 61 3b 0a 7d  DWORD offData;.}
ff30: 0a 61 6c 69 61 73 20 45 4d 52 46 4f 52 4d 41 54  .alias EMRFORMAT
ff40: 2a 50 45 4d 52 46 4f 52 4d 41 54 3b 0a 0a 73 74  *PEMRFORMAT;..st
ff50: 72 75 63 74 20 45 4d 52 46 52 41 4d 45 52 47 4e  ruct EMRFRAMERGN
ff60: 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a  .{.    EMR emr;.
ff70: 20 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75      RECTL rclBou
ff80: 6e 64 73 3b 0a 20 20 20 20 44 57 4f 52 44 20 63  nds;.    DWORD c
ff90: 62 52 67 6e 44 61 74 61 3b 0a 20 20 20 20 44 57  bRgnData;.    DW
ffa0: 4f 52 44 20 69 68 42 72 75 73 68 3b 0a 20 20 20  ORD ihBrush;.   
ffb0: 20 53 49 5a 45 4c 20 73 7a 6c 53 74 72 6f 6b 65   SIZEL szlStroke
ffc0: 3b 0a 20 20 20 20 42 59 54 45 5b 31 5d 20 52 67  ;.    BYTE[1] Rg
ffd0: 6e 44 61 74 61 3b 0a 7d 0a 61 6c 69 61 73 20 45  nData;.}.alias E
ffe0: 4d 52 46 52 41 4d 45 52 47 4e 2a 50 45 4d 52 46  MRFRAMERGN*PEMRF
fff0: 52 41 4d 45 52 47 4e 3b 0a 0a 73 74 72 75 63 74  RAMERGN;..struct
10000 20 45 4d 52 47 44 49 43 4f 4d 4d 45 4e 54 0a 7b   EMRGDICOMMENT.{
10010 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20  .    EMR emr;.  
10020 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0a    DWORD cbData;.
10030 20 20 20 20 42 59 54 45 5b 31 5d 20 44 61 74 61      BYTE[1] Data
10040 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 47 44 49  ;.}.alias EMRGDI
10050 43 4f 4d 4d 45 4e 54 2a 50 45 4d 52 47 44 49 43  COMMENT*PEMRGDIC
10060 4f 4d 4d 45 4e 54 3b 0a 0a 73 74 72 75 63 74 20  OMMENT;..struct 
10070 45 4d 52 49 4e 56 45 52 54 52 47 4e 0a 7b 0a 20  EMRINVERTRGN.{. 
10080 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20     EMR emr;.    
10090 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73 3b  RECTL rclBounds;
100a0 0a 20 20 20 20 44 57 4f 52 44 20 63 62 52 67 6e  .    DWORD cbRgn
100b0 44 61 74 61 3b 0a 20 20 20 20 42 59 54 45 5b 31  Data;.    BYTE[1
100c0 5d 20 52 67 6e 44 61 74 61 3b 0a 7d 0a 61 6c 69  ] RgnData;.}.ali
100d0 61 73 20 45 4d 52 49 4e 56 45 52 54 52 47 4e 2a  as EMRINVERTRGN*
100e0 50 45 4d 52 49 4e 56 45 52 54 52 47 4e 3b 0a 61  PEMRINVERTRGN;.a
100f0 6c 69 61 73 20 45 4d 52 49 4e 56 45 52 54 52 47  lias EMRINVERTRG
10100 4e 20 45 4d 52 50 41 49 4e 54 52 47 4e 3b 0a 61  N EMRPAINTRGN;.a
10110 6c 69 61 73 20 45 4d 52 50 41 49 4e 54 52 47 4e  lias EMRPAINTRGN
10120 2a 50 45 4d 52 50 41 49 4e 54 52 47 4e 3b 0a 0a  *PEMRPAINTRGN;..
10130 73 74 72 75 63 74 20 45 4d 52 4c 49 4e 45 54 4f  struct EMRLINETO
10140 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a  .{.    EMR emr;.
10150 20 20 20 20 50 4f 49 4e 54 4c 20 70 74 6c 3b 0a      POINTL ptl;.
10160 7d 0a 61 6c 69 61 73 20 45 4d 52 4c 49 4e 45 54  }.alias EMRLINET
10170 4f 2a 50 45 4d 52 4c 49 4e 45 54 4f 3b 0a 61 6c  O*PEMRLINETO;.al
10180 69 61 73 20 45 4d 52 4c 49 4e 45 54 4f 20 45 4d  ias EMRLINETO EM
10190 52 4d 4f 56 45 54 4f 45 58 3b 0a 61 6c 69 61 73  RMOVETOEX;.alias
101a0 20 45 4d 52 4d 4f 56 45 54 4f 45 58 2a 50 45 4d   EMRMOVETOEX*PEM
101b0 52 4d 4f 56 45 54 4f 45 58 3b 0a 0a 73 74 72 75  RMOVETOEX;..stru
101c0 63 74 20 45 4d 52 4d 41 53 4b 42 4c 54 0a 7b 0a  ct EMRMASKBLT.{.
101d0 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
101e0 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73   RECTL rclBounds
101f0 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 44 65 73 74  ;.    LONG xDest
10200 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 44 65 73 74  ;.    LONG yDest
10210 3b 0a 20 20 20 20 4c 4f 4e 47 20 63 78 44 65 73  ;.    LONG cxDes
10220 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 63 79 44 65  t;.    LONG cyDe
10230 73 74 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 77  st;.    DWORD dw
10240 52 6f 70 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 53  Rop;.    LONG xS
10250 72 63 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 53 72  rc;.    LONG ySr
10260 63 3b 0a 20 20 20 20 58 46 4f 52 4d 20 78 66 6f  c;.    XFORM xfo
10270 72 6d 53 72 63 3b 0a 20 20 20 20 43 4f 4c 4f 52  rmSrc;.    COLOR
10280 52 45 46 20 63 72 42 6b 43 6f 6c 6f 72 53 72 63  REF crBkColorSrc
10290 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 55 73 61  ;.    DWORD iUsa
102a0 67 65 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44  geSrc;.    DWORD
102b0 20 6f 66 66 42 6d 69 53 72 63 3b 0a 20 20 20 20   offBmiSrc;.    
102c0 44 57 4f 52 44 20 63 62 42 6d 69 53 72 63 3b 0a  DWORD cbBmiSrc;.
102d0 20 20 20 20 44 57 4f 52 44 20 6f 66 66 42 69 74      DWORD offBit
102e0 73 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20  sSrc;.    DWORD 
102f0 63 62 42 69 74 73 53 72 63 3b 0a 20 20 20 20 4c  cbBitsSrc;.    L
10300 4f 4e 47 20 78 4d 61 73 6b 3b 0a 20 20 20 20 4c  ONG xMask;.    L
10310 4f 4e 47 20 79 4d 61 73 6b 3b 0a 20 20 20 20 44  ONG yMask;.    D
10320 57 4f 52 44 20 69 55 73 61 67 65 4d 61 73 6b 3b  WORD iUsageMask;
10330 0a 20 20 20 20 44 57 4f 52 44 20 6f 66 66 42 6d  .    DWORD offBm
10340 69 4d 61 73 6b 3b 0a 20 20 20 20 44 57 4f 52 44  iMask;.    DWORD
10350 20 63 62 42 6d 69 4d 61 73 6b 3b 0a 20 20 20 20   cbBmiMask;.    
10360 44 57 4f 52 44 20 6f 66 66 42 69 74 73 4d 61 73  DWORD offBitsMas
10370 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42  k;.    DWORD cbB
10380 69 74 73 4d 61 73 6b 3b 0a 7d 0a 61 6c 69 61 73  itsMask;.}.alias
10390 20 45 4d 52 4d 41 53 4b 42 4c 54 2a 50 45 4d 52   EMRMASKBLT*PEMR
103a0 4d 41 53 4b 42 4c 54 3b 0a 0a 73 74 72 75 63 74  MASKBLT;..struct
103b0 20 45 4d 52 4d 4f 44 49 46 59 57 4f 52 4c 44 54   EMRMODIFYWORLDT
103c0 52 41 4e 53 46 4f 52 4d 0a 7b 0a 20 20 20 20 45  RANSFORM.{.    E
103d0 4d 52 20 65 6d 72 3b 0a 20 20 20 20 58 46 4f 52  MR emr;.    XFOR
103e0 4d 20 78 66 6f 72 6d 3b 0a 20 20 20 20 44 57 4f  M xform;.    DWO
103f0 52 44 20 69 4d 6f 64 65 3b 0a 7d 0a 61 6c 69 61  RD iMode;.}.alia
10400 73 20 45 4d 52 4d 4f 44 49 46 59 57 4f 52 4c 44  s EMRMODIFYWORLD
10410 54 52 41 4e 53 46 4f 52 4d 2a 50 45 4d 52 4d 4f  TRANSFORM*PEMRMO
10420 44 49 46 59 57 4f 52 4c 44 54 52 41 4e 53 46 4f  DIFYWORLDTRANSFO
10430 52 4d 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 4f  RM;..struct EMRO
10440 46 46 53 45 54 43 4c 49 50 52 47 4e 0a 7b 0a 20  FFSETCLIPRGN.{. 
10450 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20     EMR emr;.    
10460 50 4f 49 4e 54 4c 20 70 74 6c 4f 66 66 73 65 74  POINTL ptlOffset
10470 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 4f 46 46  ;.}.alias EMROFF
10480 53 45 54 43 4c 49 50 52 47 4e 2a 50 45 4d 52 4f  SETCLIPRGN*PEMRO
10490 46 46 53 45 54 43 4c 49 50 52 47 4e 3b 0a 0a 73  FFSETCLIPRGN;..s
104a0 74 72 75 63 74 20 45 4d 52 50 4c 47 42 4c 54 0a  truct EMRPLGBLT.
104b0 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20  {.    EMR emr;. 
104c0 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e     RECTL rclBoun
104d0 64 73 3b 0a 20 20 20 20 50 4f 49 4e 54 4c 5b 33  ds;.    POINTL[3
104e0 5d 20 61 70 74 6c 44 65 73 74 3b 0a 20 20 20 20  ] aptlDest;.    
104f0 4c 4f 4e 47 20 78 53 72 63 3b 0a 20 20 20 20 4c  LONG xSrc;.    L
10500 4f 4e 47 20 79 53 72 63 3b 0a 20 20 20 20 4c 4f  ONG ySrc;.    LO
10510 4e 47 20 63 78 53 72 63 3b 0a 20 20 20 20 4c 4f  NG cxSrc;.    LO
10520 4e 47 20 63 79 53 72 63 3b 0a 20 20 20 20 58 46  NG cySrc;.    XF
10530 4f 52 4d 20 78 66 6f 72 6d 53 72 63 3b 0a 20 20  ORM xformSrc;.  
10540 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 42 6b 43    COLORREF crBkC
10550 6f 6c 6f 72 53 72 63 3b 0a 20 20 20 20 44 57 4f  olorSrc;.    DWO
10560 52 44 20 69 55 73 61 67 65 53 72 63 3b 0a 20 20  RD iUsageSrc;.  
10570 20 20 44 57 4f 52 44 20 6f 66 66 42 6d 69 53 72    DWORD offBmiSr
10580 63 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42  c;.    DWORD cbB
10590 6d 69 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44  miSrc;.    DWORD
105a0 20 6f 66 66 42 69 74 73 53 72 63 3b 0a 20 20 20   offBitsSrc;.   
105b0 20 44 57 4f 52 44 20 63 62 42 69 74 73 53 72 63   DWORD cbBitsSrc
105c0 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 4d 61 73 6b  ;.    LONG xMask
105d0 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 4d 61 73 6b  ;.    LONG yMask
105e0 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 55 73 61  ;.    DWORD iUsa
105f0 67 65 4d 61 73 6b 3b 0a 20 20 20 20 44 57 4f 52  geMask;.    DWOR
10600 44 20 6f 66 66 42 6d 69 4d 61 73 6b 3b 0a 20 20  D offBmiMask;.  
10610 20 20 44 57 4f 52 44 20 63 62 42 6d 69 4d 61 73    DWORD cbBmiMas
10620 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f 66 66  k;.    DWORD off
10630 42 69 74 73 4d 61 73 6b 3b 0a 20 20 20 20 44 57  BitsMask;.    DW
10640 4f 52 44 20 63 62 42 69 74 73 4d 61 73 6b 3b 0a  ORD cbBitsMask;.
10650 7d 0a 61 6c 69 61 73 20 45 4d 52 50 4c 47 42 4c  }.alias EMRPLGBL
10660 54 2a 50 45 4d 52 50 4c 47 42 4c 54 3b 0a 0a 73  T*PEMRPLGBLT;..s
10670 74 72 75 63 74 20 45 4d 52 50 4f 4c 59 44 52 41  truct EMRPOLYDRA
10680 57 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  W.{.    EMR emr;
10690 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f  .    RECTL rclBo
106a0 75 6e 64 73 3b 0a 20 20 20 20 44 57 4f 52 44 20  unds;.    DWORD 
106b0 63 70 74 6c 3b 0a 20 20 20 20 50 4f 49 4e 54 4c  cptl;.    POINTL
106c0 5b 31 5d 20 61 70 74 6c 3b 0a 20 20 20 20 42 59  [1] aptl;.    BY
106d0 54 45 5b 31 5d 20 61 62 54 79 70 65 73 3b 0a 7d  TE[1] abTypes;.}
106e0 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c 59 44 52  .alias EMRPOLYDR
106f0 41 57 2a 50 45 4d 52 50 4f 4c 59 44 52 41 57 3b  AW*PEMRPOLYDRAW;
10700 0a 0a 73 74 72 75 63 74 20 45 4d 52 50 4f 4c 59  ..struct EMRPOLY
10710 44 52 41 57 31 36 0a 7b 0a 20 20 20 20 45 4d 52  DRAW16.{.    EMR
10720 20 65 6d 72 3b 0a 20 20 20 20 52 45 43 54 4c 20   emr;.    RECTL 
10730 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20 20 44  rclBounds;.    D
10740 57 4f 52 44 20 63 70 74 73 3b 0a 20 20 20 20 50  WORD cpts;.    P
10750 4f 49 4e 54 53 5b 31 5d 20 61 70 74 73 3b 0a 20  OINTS[1] apts;. 
10760 20 20 20 42 59 54 45 5b 31 5d 20 61 62 54 79 70     BYTE[1] abTyp
10770 65 73 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 50  es;.}.alias EMRP
10780 4f 4c 59 44 52 41 57 31 36 2a 50 45 4d 52 50 4f  OLYDRAW16*PEMRPO
10790 4c 59 44 52 41 57 31 36 3b 0a 0a 73 74 72 75 63  LYDRAW16;..struc
107a0 74 20 45 4d 52 50 4f 4c 59 4c 49 4e 45 0a 7b 0a  t EMRPOLYLINE.{.
107b0 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
107c0 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73   RECTL rclBounds
107d0 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 70 74 6c  ;.    DWORD cptl
107e0 3b 0a 20 20 20 20 50 4f 49 4e 54 4c 5b 31 5d 20  ;.    POINTL[1] 
107f0 61 70 74 6c 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d  aptl;.}.alias EM
10800 52 50 4f 4c 59 4c 49 4e 45 2a 50 45 4d 52 50 4f  RPOLYLINE*PEMRPO
10810 4c 59 4c 49 4e 45 3b 0a 61 6c 69 61 73 20 45 4d  LYLINE;.alias EM
10820 52 50 4f 4c 59 4c 49 4e 45 20 45 4d 52 50 4f 4c  RPOLYLINE EMRPOL
10830 59 42 45 5a 49 45 52 3b 0a 61 6c 69 61 73 20 45  YBEZIER;.alias E
10840 4d 52 50 4f 4c 59 42 45 5a 49 45 52 2a 50 45 4d  MRPOLYBEZIER*PEM
10850 52 50 4f 4c 59 42 45 5a 49 45 52 3b 0a 61 6c 69  RPOLYBEZIER;.ali
10860 61 73 20 45 4d 52 50 4f 4c 59 4c 49 4e 45 20 45  as EMRPOLYLINE E
10870 4d 52 50 4f 4c 59 47 4f 4e 3b 0a 61 6c 69 61 73  MRPOLYGON;.alias
10880 20 45 4d 52 50 4f 4c 59 47 4f 4e 2a 50 45 4d 52   EMRPOLYGON*PEMR
10890 50 4f 4c 59 47 4f 4e 3b 0a 61 6c 69 61 73 20 45  POLYGON;.alias E
108a0 4d 52 50 4f 4c 59 4c 49 4e 45 20 45 4d 52 50 4f  MRPOLYLINE EMRPO
108b0 4c 59 42 45 5a 49 45 52 54 4f 3b 0a 61 6c 69 61  LYBEZIERTO;.alia
108c0 73 20 45 4d 52 50 4f 4c 59 42 45 5a 49 45 52 54  s EMRPOLYBEZIERT
108d0 4f 2a 50 45 4d 52 50 4f 4c 59 42 45 5a 49 45 52  O*PEMRPOLYBEZIER
108e0 54 4f 3b 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c  TO;.alias EMRPOL
108f0 59 4c 49 4e 45 20 45 4d 52 50 4f 4c 59 4c 49 4e  YLINE EMRPOLYLIN
10900 45 54 4f 3b 0a 61 6c 69 61 73 20 45 4d 52 50 4f  ETO;.alias EMRPO
10910 4c 59 4c 49 4e 45 54 4f 2a 50 45 4d 52 50 4f 4c  LYLINETO*PEMRPOL
10920 59 4c 49 4e 45 54 4f 3b 0a 0a 73 74 72 75 63 74  YLINETO;..struct
10930 20 45 4d 52 50 4f 4c 59 4c 49 4e 45 31 36 0a 7b   EMRPOLYLINE16.{
10940 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20  .    EMR emr;.  
10950 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64    RECTL rclBound
10960 73 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 70 74  s;.    DWORD cpt
10970 73 3b 0a 20 20 20 20 50 4f 49 4e 54 53 5b 31 5d  s;.    POINTS[1]
10980 20 61 70 74 73 3b 0a 7d 0a 61 6c 69 61 73 20 45   apts;.}.alias E
10990 4d 52 50 4f 4c 59 4c 49 4e 45 31 36 2a 50 45 4d  MRPOLYLINE16*PEM
109a0 52 50 4f 4c 59 4c 49 4e 45 31 36 3b 0a 61 6c 69  RPOLYLINE16;.ali
109b0 61 73 20 45 4d 52 50 4f 4c 59 4c 49 4e 45 31 36  as EMRPOLYLINE16
109c0 20 45 4d 52 50 4f 4c 59 42 45 5a 49 45 52 31 36   EMRPOLYBEZIER16
109d0 3b 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c 59 42  ;.alias EMRPOLYB
109e0 45 5a 49 45 52 31 36 2a 50 45 4d 52 50 4f 4c 59  EZIER16*PEMRPOLY
109f0 42 45 5a 49 45 52 31 36 3b 0a 61 6c 69 61 73 20  BEZIER16;.alias 
10a00 45 4d 52 50 4f 4c 59 4c 49 4e 45 31 36 20 45 4d  EMRPOLYLINE16 EM
10a10 52 50 4f 4c 59 47 4f 4e 31 36 3b 0a 61 6c 69 61  RPOLYGON16;.alia
10a20 73 20 45 4d 52 50 4f 4c 59 47 4f 4e 31 36 2a 50  s EMRPOLYGON16*P
10a30 45 4d 52 50 4f 4c 59 47 4f 4e 31 36 3b 0a 61 6c  EMRPOLYGON16;.al
10a40 69 61 73 20 45 4d 52 50 4f 4c 59 4c 49 4e 45 31  ias EMRPOLYLINE1
10a50 36 20 45 4d 52 50 4f 4c 59 42 45 5a 49 45 52 54  6 EMRPOLYBEZIERT
10a60 4f 31 36 3b 0a 61 6c 69 61 73 20 45 4d 52 50 4f  O16;.alias EMRPO
10a70 4c 59 42 45 5a 49 45 52 54 4f 31 36 2a 50 45 4d  LYBEZIERTO16*PEM
10a80 52 50 4f 4c 59 42 45 5a 49 45 52 54 4f 31 36 3b  RPOLYBEZIERTO16;
10a90 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c 59 4c 49  .alias EMRPOLYLI
10aa0 4e 45 31 36 20 45 4d 52 50 4f 4c 59 4c 49 4e 45  NE16 EMRPOLYLINE
10ab0 54 4f 31 36 3b 0a 61 6c 69 61 73 20 45 4d 52 50  TO16;.alias EMRP
10ac0 4f 4c 59 4c 49 4e 45 54 4f 31 36 2a 50 45 4d 52  OLYLINETO16*PEMR
10ad0 50 4f 4c 59 4c 49 4e 45 54 4f 31 36 3b 0a 0a 73  POLYLINETO16;..s
10ae0 74 72 75 63 74 20 45 4d 52 50 4f 4c 59 50 4f 4c  truct EMRPOLYPOL
10af0 59 4c 49 4e 45 0a 7b 0a 20 20 20 20 45 4d 52 20  YLINE.{.    EMR 
10b00 65 6d 72 3b 0a 20 20 20 20 52 45 43 54 4c 20 72  emr;.    RECTL r
10b10 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20 20 44 57  clBounds;.    DW
10b20 4f 52 44 20 6e 50 6f 6c 79 73 3b 0a 20 20 20 20  ORD nPolys;.    
10b30 44 57 4f 52 44 20 63 70 74 6c 3b 0a 20 20 20 20  DWORD cptl;.    
10b40 44 57 4f 52 44 5b 31 5d 20 61 50 6f 6c 79 43 6f  DWORD[1] aPolyCo
10b50 75 6e 74 73 3b 0a 20 20 20 20 50 4f 49 4e 54 4c  unts;.    POINTL
10b60 5b 31 5d 20 61 70 74 6c 3b 0a 7d 0a 61 6c 69 61  [1] aptl;.}.alia
10b70 73 20 45 4d 52 50 4f 4c 59 50 4f 4c 59 4c 49 4e  s EMRPOLYPOLYLIN
10b80 45 2a 50 45 4d 52 50 4f 4c 59 50 4f 4c 59 4c 49  E*PEMRPOLYPOLYLI
10b90 4e 45 3b 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c  NE;.alias EMRPOL
10ba0 59 50 4f 4c 59 4c 49 4e 45 20 45 4d 52 50 4f 4c  YPOLYLINE EMRPOL
10bb0 59 50 4f 4c 59 47 4f 4e 3b 0a 61 6c 69 61 73 20  YPOLYGON;.alias 
10bc0 45 4d 52 50 4f 4c 59 50 4f 4c 59 47 4f 4e 2a 50  EMRPOLYPOLYGON*P
10bd0 45 4d 52 50 4f 4c 59 50 4f 4c 59 47 4f 4e 3b 0a  EMRPOLYPOLYGON;.
10be0 0a 73 74 72 75 63 74 20 45 4d 52 50 4f 4c 59 50  .struct EMRPOLYP
10bf0 4f 4c 59 4c 49 4e 45 31 36 0a 7b 0a 20 20 20 20  OLYLINE16.{.    
10c00 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52 45 43  EMR emr;.    REC
10c10 54 4c 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20  TL rclBounds;.  
10c20 20 20 44 57 4f 52 44 20 6e 50 6f 6c 79 73 3b 0a    DWORD nPolys;.
10c30 20 20 20 20 44 57 4f 52 44 20 63 70 74 73 3b 0a      DWORD cpts;.
10c40 20 20 20 20 44 57 4f 52 44 5b 31 5d 20 61 50 6f      DWORD[1] aPo
10c50 6c 79 43 6f 75 6e 74 73 3b 0a 20 20 20 20 50 4f  lyCounts;.    PO
10c60 49 4e 54 53 5b 31 5d 20 61 70 74 73 3b 0a 7d 0a  INTS[1] apts;.}.
10c70 61 6c 69 61 73 20 45 4d 52 50 4f 4c 59 50 4f 4c  alias EMRPOLYPOL
10c80 59 4c 49 4e 45 31 36 2a 50 45 4d 52 50 4f 4c 59  YLINE16*PEMRPOLY
10c90 50 4f 4c 59 4c 49 4e 45 31 36 3b 0a 61 6c 69 61  POLYLINE16;.alia
10ca0 73 20 45 4d 52 50 4f 4c 59 50 4f 4c 59 4c 49 4e  s EMRPOLYPOLYLIN
10cb0 45 31 36 20 45 4d 52 50 4f 4c 59 50 4f 4c 59 47  E16 EMRPOLYPOLYG
10cc0 4f 4e 31 36 3b 0a 61 6c 69 61 73 20 45 4d 52 50  ON16;.alias EMRP
10cd0 4f 4c 59 50 4f 4c 59 47 4f 4e 31 36 2a 50 45 4d  OLYPOLYGON16*PEM
10ce0 52 50 4f 4c 59 50 4f 4c 59 47 4f 4e 31 36 3b 0a  RPOLYPOLYGON16;.
10cf0 0a 73 74 72 75 63 74 20 45 4d 52 50 4f 4c 59 54  .struct EMRPOLYT
10d00 45 58 54 4f 55 54 41 0a 7b 0a 20 20 20 20 45 4d  EXTOUTA.{.    EM
10d10 52 20 65 6d 72 3b 0a 20 20 20 20 52 45 43 54 4c  R emr;.    RECTL
10d20 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20 20   rclBounds;.    
10d30 44 57 4f 52 44 20 69 47 72 61 70 68 69 63 73 4d  DWORD iGraphicsM
10d40 6f 64 65 3b 0a 20 20 20 20 46 4c 4f 41 54 20 65  ode;.    FLOAT e
10d50 78 53 63 61 6c 65 3b 0a 20 20 20 20 46 4c 4f 41  xScale;.    FLOA
10d60 54 20 65 79 53 63 61 6c 65 3b 0a 20 20 20 20 4c  T eyScale;.    L
10d70 4f 4e 47 20 63 53 74 72 69 6e 67 73 3b 0a 20 20  ONG cStrings;.  
10d80 20 20 45 4d 52 54 45 58 54 5b 31 5d 20 61 65 6d    EMRTEXT[1] aem
10d90 72 74 65 78 74 3b 0a 7d 0a 61 6c 69 61 73 20 45  rtext;.}.alias E
10da0 4d 52 50 4f 4c 59 54 45 58 54 4f 55 54 41 2a 50  MRPOLYTEXTOUTA*P
10db0 45 4d 52 50 4f 4c 59 54 45 58 54 4f 55 54 41 3b  EMRPOLYTEXTOUTA;
10dc0 0a 61 6c 69 61 73 20 45 4d 52 50 4f 4c 59 54 45  .alias EMRPOLYTE
10dd0 58 54 4f 55 54 41 20 45 4d 52 50 4f 4c 59 54 45  XTOUTA EMRPOLYTE
10de0 58 54 4f 55 54 57 3b 0a 61 6c 69 61 73 20 45 4d  XTOUTW;.alias EM
10df0 52 50 4f 4c 59 54 45 58 54 4f 55 54 57 2a 50 45  RPOLYTEXTOUTW*PE
10e00 4d 52 50 4f 4c 59 54 45 58 54 4f 55 54 57 3b 0a  MRPOLYTEXTOUTW;.
10e10 0a 73 74 72 75 63 74 20 45 4d 52 52 45 53 49 5a  .struct EMRRESIZ
10e20 45 50 41 4c 45 54 54 45 0a 7b 0a 20 20 20 20 45  EPALETTE.{.    E
10e30 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44 57 4f 52  MR emr;.    DWOR
10e40 44 20 69 68 50 61 6c 3b 0a 20 20 20 20 44 57 4f  D ihPal;.    DWO
10e50 52 44 20 63 45 6e 74 72 69 65 73 3b 0a 7d 0a 61  RD cEntries;.}.a
10e60 6c 69 61 73 20 45 4d 52 52 45 53 49 5a 45 50 41  lias EMRRESIZEPA
10e70 4c 45 54 54 45 2a 50 45 4d 52 52 45 53 49 5a 45  LETTE*PEMRRESIZE
10e80 50 41 4c 45 54 54 45 3b 0a 0a 73 74 72 75 63 74  PALETTE;..struct
10e90 20 45 4d 52 52 45 53 54 4f 52 45 44 43 0a 7b 0a   EMRRESTOREDC.{.
10ea0 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20      EMR emr;.   
10eb0 20 4c 4f 4e 47 20 69 52 65 6c 61 74 69 76 65 3b   LONG iRelative;
10ec0 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 52 45 53 54  .}.alias EMRREST
10ed0 4f 52 45 44 43 2a 50 45 4d 52 52 45 53 54 4f 52  OREDC*PEMRRESTOR
10ee0 45 44 43 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52  EDC;..struct EMR
10ef0 52 4f 55 4e 44 52 45 43 54 0a 7b 0a 20 20 20 20  ROUNDRECT.{.    
10f00 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52 45 43  EMR emr;.    REC
10f10 54 4c 20 72 63 6c 42 6f 78 3b 0a 20 20 20 20 53  TL rclBox;.    S
10f20 49 5a 45 4c 20 73 7a 6c 43 6f 72 6e 65 72 3b 0a  IZEL szlCorner;.
10f30 7d 0a 61 6c 69 61 73 20 45 4d 52 52 4f 55 4e 44  }.alias EMRROUND
10f40 52 45 43 54 2a 50 45 4d 52 52 4f 55 4e 44 52 45  RECT*PEMRROUNDRE
10f50 43 54 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 53  CT;..struct EMRS
10f60 43 41 4c 45 56 49 45 57 50 4f 52 54 45 58 54 45  CALEVIEWPORTEXTE
10f70 58 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  X.{.    EMR emr;
10f80 0a 20 20 20 20 4c 4f 4e 47 20 78 4e 75 6d 3b 0a  .    LONG xNum;.
10f90 20 20 20 20 4c 4f 4e 47 20 78 44 65 6e 6f 6d 3b      LONG xDenom;
10fa0 0a 20 20 20 20 4c 4f 4e 47 20 79 4e 75 6d 3b 0a  .    LONG yNum;.
10fb0 20 20 20 20 4c 4f 4e 47 20 79 44 65 6e 6f 6d 3b      LONG yDenom;
10fc0 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53 43 41 4c  .}.alias EMRSCAL
10fd0 45 56 49 45 57 50 4f 52 54 45 58 54 45 58 2a 50  EVIEWPORTEXTEX*P
10fe0 45 4d 52 53 43 41 4c 45 56 49 45 57 50 4f 52 54  EMRSCALEVIEWPORT
10ff0 45 58 54 45 58 3b 0a 61 6c 69 61 73 20 45 4d 52  EXTEX;.alias EMR
11000 53 43 41 4c 45 56 49 45 57 50 4f 52 54 45 58 54  SCALEVIEWPORTEXT
11010 45 58 20 45 4d 52 53 43 41 4c 45 57 49 4e 44 4f  EX EMRSCALEWINDO
11020 57 45 58 54 45 58 3b 0a 61 6c 69 61 73 20 45 4d  WEXTEX;.alias EM
11030 52 53 43 41 4c 45 57 49 4e 44 4f 57 45 58 54 45  RSCALEWINDOWEXTE
11040 58 2a 50 45 4d 52 53 43 41 4c 45 57 49 4e 44 4f  X*PEMRSCALEWINDO
11050 57 45 58 54 45 58 3b 0a 0a 73 74 72 75 63 74 20  WEXTEX;..struct 
11060 45 4d 52 53 45 4c 45 43 54 4f 42 4a 45 43 54 0a  EMRSELECTOBJECT.
11070 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20  {.    EMR emr;. 
11080 20 20 20 44 57 4f 52 44 20 69 68 4f 62 6a 65 63     DWORD ihObjec
11090 74 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53 45  t;.}.alias EMRSE
110a0 4c 45 43 54 4f 42 4a 45 43 54 2a 50 45 4d 52 53  LECTOBJECT*PEMRS
110b0 45 4c 45 43 54 4f 42 4a 45 43 54 3b 0a 61 6c 69  ELECTOBJECT;.ali
110c0 61 73 20 45 4d 52 53 45 4c 45 43 54 4f 42 4a 45  as EMRSELECTOBJE
110d0 43 54 20 45 4d 52 44 45 4c 45 54 45 4f 42 4a 45  CT EMRDELETEOBJE
110e0 43 54 3b 0a 61 6c 69 61 73 20 45 4d 52 44 45 4c  CT;.alias EMRDEL
110f0 45 54 45 4f 42 4a 45 43 54 2a 50 45 4d 52 44 45  ETEOBJECT*PEMRDE
11100 4c 45 54 45 4f 42 4a 45 43 54 3b 0a 0a 73 74 72  LETEOBJECT;..str
11110 75 63 74 20 45 4d 52 53 45 4c 45 43 54 50 41 4c  uct EMRSELECTPAL
11120 45 54 54 45 0a 7b 0a 20 20 20 20 45 4d 52 20 65  ETTE.{.    EMR e
11130 6d 72 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 68  mr;.    DWORD ih
11140 50 61 6c 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52  Pal;.}.alias EMR
11150 53 45 4c 45 43 54 50 41 4c 45 54 54 45 2a 50 45  SELECTPALETTE*PE
11160 4d 52 53 45 4c 45 43 54 50 41 4c 45 54 54 45 3b  MRSELECTPALETTE;
11170 0a 0a 73 74 72 75 63 74 20 45 4d 52 53 45 54 41  ..struct EMRSETA
11180 52 43 44 49 52 45 43 54 49 4f 4e 0a 7b 0a 20 20  RCDIRECTION.{.  
11190 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44    EMR emr;.    D
111a0 57 4f 52 44 20 69 41 72 63 44 69 72 65 63 74 69  WORD iArcDirecti
111b0 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53  on;.}.alias EMRS
111c0 45 54 41 52 43 44 49 52 45 43 54 49 4f 4e 2a 50  ETARCDIRECTION*P
111d0 45 4d 52 53 45 54 41 52 43 44 49 52 45 43 54 49  EMRSETARCDIRECTI
111e0 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 53  ON;..struct EMRS
111f0 45 54 54 45 58 54 43 4f 4c 4f 52 0a 7b 0a 20 20  ETTEXTCOLOR.{.  
11200 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 43    EMR emr;.    C
11210 4f 4c 4f 52 52 45 46 20 63 72 43 6f 6c 6f 72 3b  OLORREF crColor;
11220 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53 45 54 54  .}.alias EMRSETT
11230 45 58 54 43 4f 4c 4f 52 2a 50 45 4d 52 53 45 54  EXTCOLOR*PEMRSET
11240 54 45 58 54 43 4f 4c 4f 52 3b 0a 61 6c 69 61 73  TEXTCOLOR;.alias
11250 20 45 4d 52 53 45 54 54 45 58 54 43 4f 4c 4f 52   EMRSETTEXTCOLOR
11260 20 45 4d 52 53 45 54 42 4b 43 4f 4c 4f 52 3b 0a   EMRSETBKCOLOR;.
11270 61 6c 69 61 73 20 45 4d 52 53 45 54 42 4b 43 4f  alias EMRSETBKCO
11280 4c 4f 52 2a 50 45 4d 52 53 45 54 42 4b 43 4f 4c  LOR*PEMRSETBKCOL
11290 4f 52 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52 53  OR;..struct EMRS
112a0 45 54 43 4f 4c 4f 52 41 44 4a 55 53 54 4d 45 4e  ETCOLORADJUSTMEN
112b0 54 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  T.{.    EMR emr;
112c0 0a 20 20 20 20 43 4f 4c 4f 52 41 44 4a 55 53 54  .    COLORADJUST
112d0 4d 45 4e 54 20 43 6f 6c 6f 72 41 64 6a 75 73 74  MENT ColorAdjust
112e0 6d 65 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d  ment;.}.alias EM
112f0 52 53 45 54 43 4f 4c 4f 52 41 44 4a 55 53 54 4d  RSETCOLORADJUSTM
11300 45 4e 54 2a 50 45 4d 52 53 45 54 43 4f 4c 4f 52  ENT*PEMRSETCOLOR
11310 41 44 4a 55 53 54 4d 45 4e 54 3b 0a 0a 73 74 72  ADJUSTMENT;..str
11320 75 63 74 20 45 4d 52 53 45 54 44 49 42 49 54 53  uct EMRSETDIBITS
11330 54 4f 44 45 56 49 43 45 0a 7b 0a 20 20 20 20 45  TODEVICE.{.    E
11340 4d 52 20 65 6d 72 3b 0a 20 20 20 20 52 45 43 54  MR emr;.    RECT
11350 4c 20 72 63 6c 42 6f 75 6e 64 73 3b 0a 20 20 20  L rclBounds;.   
11360 20 4c 4f 4e 47 20 78 44 65 73 74 3b 0a 20 20 20   LONG xDest;.   
11370 20 4c 4f 4e 47 20 79 44 65 73 74 3b 0a 20 20 20   LONG yDest;.   
11380 20 4c 4f 4e 47 20 78 53 72 63 3b 0a 20 20 20 20   LONG xSrc;.    
11390 4c 4f 4e 47 20 79 53 72 63 3b 0a 20 20 20 20 4c  LONG ySrc;.    L
113a0 4f 4e 47 20 63 78 53 72 63 3b 0a 20 20 20 20 4c  ONG cxSrc;.    L
113b0 4f 4e 47 20 63 79 53 72 63 3b 0a 20 20 20 20 44  ONG cySrc;.    D
113c0 57 4f 52 44 20 6f 66 66 42 6d 69 53 72 63 3b 0a  WORD offBmiSrc;.
113d0 20 20 20 20 44 57 4f 52 44 20 63 62 42 6d 69 53      DWORD cbBmiS
113e0 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f 66  rc;.    DWORD of
113f0 66 42 69 74 73 53 72 63 3b 0a 20 20 20 20 44 57  fBitsSrc;.    DW
11400 4f 52 44 20 63 62 42 69 74 73 53 72 63 3b 0a 20  ORD cbBitsSrc;. 
11410 20 20 20 44 57 4f 52 44 20 69 55 73 61 67 65 53     DWORD iUsageS
11420 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 53  rc;.    DWORD iS
11430 74 61 72 74 53 63 61 6e 3b 0a 20 20 20 20 44 57  tartScan;.    DW
11440 4f 52 44 20 63 53 63 61 6e 73 3b 0a 7d 0a 61 6c  ORD cScans;.}.al
11450 69 61 73 20 45 4d 52 53 45 54 44 49 42 49 54 53  ias EMRSETDIBITS
11460 54 4f 44 45 56 49 43 45 2a 50 45 4d 52 53 45 54  TODEVICE*PEMRSET
11470 44 49 42 49 54 53 54 4f 44 45 56 49 43 45 3b 0a  DIBITSTODEVICE;.
11480 0a 73 74 72 75 63 74 20 45 4d 52 53 45 54 4d 41  .struct EMRSETMA
11490 50 50 45 52 46 4c 41 47 53 0a 7b 0a 20 20 20 20  PPERFLAGS.{.    
114a0 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 44 57 4f  EMR emr;.    DWO
114b0 52 44 20 64 77 46 6c 61 67 73 3b 0a 7d 0a 61 6c  RD dwFlags;.}.al
114c0 69 61 73 20 45 4d 52 53 45 54 4d 41 50 50 45 52  ias EMRSETMAPPER
114d0 46 4c 41 47 53 2a 50 45 4d 52 53 45 54 4d 41 50  FLAGS*PEMRSETMAP
114e0 50 45 52 46 4c 41 47 53 3b 0a 0a 73 74 72 75 63  PERFLAGS;..struc
114f0 74 20 45 4d 52 53 45 54 4d 49 54 45 52 4c 49 4d  t EMRSETMITERLIM
11500 49 54 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72  IT.{.    EMR emr
11510 3b 0a 20 20 20 20 46 4c 4f 41 54 20 65 4d 69 74  ;.    FLOAT eMit
11520 65 72 4c 69 6d 69 74 3b 0a 7d 0a 61 6c 69 61 73  erLimit;.}.alias
11530 20 45 4d 52 53 45 54 4d 49 54 45 52 4c 49 4d 49   EMRSETMITERLIMI
11540 54 2a 50 45 4d 52 53 45 54 4d 49 54 45 52 4c 49  T*PEMRSETMITERLI
11550 4d 49 54 3b 0a 0a 73 74 72 75 63 74 20 45 4d 52  MIT;..struct EMR
11560 53 45 54 50 41 4c 45 54 54 45 45 4e 54 52 49 45  SETPALETTEENTRIE
11570 53 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  S.{.    EMR emr;
11580 0a 20 20 20 20 44 57 4f 52 44 20 69 68 50 61 6c  .    DWORD ihPal
11590 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 53 74 61  ;.    DWORD iSta
115a0 72 74 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 45  rt;.    DWORD cE
115b0 6e 74 72 69 65 73 3b 0a 20 20 20 20 50 41 4c 45  ntries;.    PALE
115c0 54 54 45 45 4e 54 52 59 5b 31 5d 20 61 50 61 6c  TTEENTRY[1] aPal
115d0 45 6e 74 72 69 65 73 3b 0a 7d 0a 61 6c 69 61 73  Entries;.}.alias
115e0 20 45 4d 52 53 45 54 50 41 4c 45 54 54 45 45 4e   EMRSETPALETTEEN
115f0 54 52 49 45 53 2a 50 45 4d 52 53 45 54 50 41 4c  TRIES*PEMRSETPAL
11600 45 54 54 45 45 4e 54 52 49 45 53 3b 0a 0a 73 74  ETTEENTRIES;..st
11610 72 75 63 74 20 45 4d 52 53 45 54 50 49 58 45 4c  ruct EMRSETPIXEL
11620 56 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b  V.{.    EMR emr;
11630 0a 20 20 20 20 50 4f 49 4e 54 4c 20 70 74 6c 50  .    POINTL ptlP
11640 69 78 65 6c 3b 0a 20 20 20 20 43 4f 4c 4f 52 52  ixel;.    COLORR
11650 45 46 20 63 72 43 6f 6c 6f 72 3b 0a 7d 0a 61 6c  EF crColor;.}.al
11660 69 61 73 20 45 4d 52 53 45 54 50 49 58 45 4c 56  ias EMRSETPIXELV
11670 2a 50 45 4d 52 53 45 54 50 49 58 45 4c 56 3b 0a  *PEMRSETPIXELV;.
11680 0a 73 74 72 75 63 74 20 45 4d 52 53 45 54 56 49  .struct EMRSETVI
11690 45 57 50 4f 52 54 45 58 54 45 58 0a 7b 0a 20 20  EWPORTEXTEX.{.  
116a0 20 20 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 53    EMR emr;.    S
116b0 49 5a 45 4c 20 73 7a 6c 45 78 74 65 6e 74 3b 0a  IZEL szlExtent;.
116c0 7d 0a 61 6c 69 61 73 20 45 4d 52 53 45 54 56 49  }.alias EMRSETVI
116d0 45 57 50 4f 52 54 45 58 54 45 58 2a 50 45 4d 52  EWPORTEXTEX*PEMR
116e0 53 45 54 56 49 45 57 50 4f 52 54 45 58 54 45 58  SETVIEWPORTEXTEX
116f0 3b 0a 61 6c 69 61 73 20 45 4d 52 53 45 54 56 49  ;.alias EMRSETVI
11700 45 57 50 4f 52 54 45 58 54 45 58 20 45 4d 52 53  EWPORTEXTEX EMRS
11710 45 54 57 49 4e 44 4f 57 45 58 54 45 58 3b 0a 61  ETWINDOWEXTEX;.a
11720 6c 69 61 73 20 45 4d 52 53 45 54 57 49 4e 44 4f  lias EMRSETWINDO
11730 57 45 58 54 45 58 2a 50 45 4d 52 53 45 54 57 49  WEXTEX*PEMRSETWI
11740 4e 44 4f 57 45 58 54 45 58 3b 0a 0a 73 74 72 75  NDOWEXTEX;..stru
11750 63 74 20 45 4d 52 53 45 54 56 49 45 57 50 4f 52  ct EMRSETVIEWPOR
11760 54 4f 52 47 45 58 0a 7b 0a 20 20 20 20 45 4d 52  TORGEX.{.    EMR
11770 20 65 6d 72 3b 0a 20 20 20 20 50 4f 49 4e 54 4c   emr;.    POINTL
11780 20 70 74 6c 4f 72 69 67 69 6e 3b 0a 7d 0a 61 6c   ptlOrigin;.}.al
11790 69 61 73 20 45 4d 52 53 45 54 56 49 45 57 50 4f  ias EMRSETVIEWPO
117a0 52 54 4f 52 47 45 58 2a 50 45 4d 52 53 45 54 56  RTORGEX*PEMRSETV
117b0 49 45 57 50 4f 52 54 4f 52 47 45 58 3b 0a 61 6c  IEWPORTORGEX;.al
117c0 69 61 73 20 45 4d 52 53 45 54 56 49 45 57 50 4f  ias EMRSETVIEWPO
117d0 52 54 4f 52 47 45 58 20 45 4d 52 53 45 54 57 49  RTORGEX EMRSETWI
117e0 4e 44 4f 57 4f 52 47 45 58 3b 0a 61 6c 69 61 73  NDOWORGEX;.alias
117f0 20 45 4d 52 53 45 54 57 49 4e 44 4f 57 4f 52 47   EMRSETWINDOWORG
11800 45 58 2a 50 45 4d 52 53 45 54 57 49 4e 44 4f 57  EX*PEMRSETWINDOW
11810 4f 52 47 45 58 3b 0a 61 6c 69 61 73 20 45 4d 52  ORGEX;.alias EMR
11820 53 45 54 56 49 45 57 50 4f 52 54 4f 52 47 45 58  SETVIEWPORTORGEX
11830 20 45 4d 52 53 45 54 42 52 55 53 48 4f 52 47 45   EMRSETBRUSHORGE
11840 58 3b 0a 61 6c 69 61 73 20 45 4d 52 53 45 54 42  X;.alias EMRSETB
11850 52 55 53 48 4f 52 47 45 58 2a 50 45 4d 52 53 45  RUSHORGEX*PEMRSE
11860 54 42 52 55 53 48 4f 52 47 45 58 3b 0a 0a 73 74  TBRUSHORGEX;..st
11870 72 75 63 74 20 45 4d 52 53 45 54 57 4f 52 4c 44  ruct EMRSETWORLD
11880 54 52 41 4e 53 46 4f 52 4d 0a 7b 0a 20 20 20 20  TRANSFORM.{.    
11890 45 4d 52 20 65 6d 72 3b 0a 20 20 20 20 58 46 4f  EMR emr;.    XFO
118a0 52 4d 20 78 66 6f 72 6d 3b 0a 7d 0a 61 6c 69 61  RM xform;.}.alia
118b0 73 20 45 4d 52 53 45 54 57 4f 52 4c 44 54 52 41  s EMRSETWORLDTRA
118c0 4e 53 46 4f 52 4d 2a 50 45 4d 52 53 45 54 57 4f  NSFORM*PEMRSETWO
118d0 52 4c 44 54 52 41 4e 53 46 4f 52 4d 3b 0a 0a 73  RLDTRANSFORM;..s
118e0 74 72 75 63 74 20 45 4d 52 53 54 52 45 54 43 48  truct EMRSTRETCH
118f0 42 4c 54 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d  BLT.{.    EMR em
11900 72 3b 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c  r;.    RECTL rcl
11910 42 6f 75 6e 64 73 3b 0a 20 20 20 20 4c 4f 4e 47  Bounds;.    LONG
11920 20 78 44 65 73 74 3b 0a 20 20 20 20 4c 4f 4e 47   xDest;.    LONG
11930 20 79 44 65 73 74 3b 0a 20 20 20 20 4c 4f 4e 47   yDest;.    LONG
11940 20 63 78 44 65 73 74 3b 0a 20 20 20 20 4c 4f 4e   cxDest;.    LON
11950 47 20 63 79 44 65 73 74 3b 0a 20 20 20 20 44 57  G cyDest;.    DW
11960 4f 52 44 20 64 77 52 6f 70 3b 0a 20 20 20 20 4c  ORD dwRop;.    L
11970 4f 4e 47 20 78 53 72 63 3b 0a 20 20 20 20 4c 4f  ONG xSrc;.    LO
11980 4e 47 20 79 53 72 63 3b 0a 20 20 20 20 58 46 4f  NG ySrc;.    XFO
11990 52 4d 20 78 66 6f 72 6d 53 72 63 3b 0a 20 20 20  RM xformSrc;.   
119a0 20 43 4f 4c 4f 52 52 45 46 20 63 72 42 6b 43 6f   COLORREF crBkCo
119b0 6c 6f 72 53 72 63 3b 0a 20 20 20 20 44 57 4f 52  lorSrc;.    DWOR
119c0 44 20 69 55 73 61 67 65 53 72 63 3b 0a 20 20 20  D iUsageSrc;.   
119d0 20 44 57 4f 52 44 20 6f 66 66 42 6d 69 53 72 63   DWORD offBmiSrc
119e0 3b 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42 6d  ;.    DWORD cbBm
119f0 69 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20  iSrc;.    DWORD 
11a00 6f 66 66 42 69 74 73 53 72 63 3b 0a 20 20 20 20  offBitsSrc;.    
11a10 44 57 4f 52 44 20 63 62 42 69 74 73 53 72 63 3b  DWORD cbBitsSrc;
11a20 0a 20 20 20 20 4c 4f 4e 47 20 63 78 53 72 63 3b  .    LONG cxSrc;
11a30 0a 20 20 20 20 4c 4f 4e 47 20 63 79 53 72 63 3b  .    LONG cySrc;
11a40 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53 54 52 45  .}.alias EMRSTRE
11a50 54 43 48 42 4c 54 2a 50 45 4d 52 53 54 52 45 54  TCHBLT*PEMRSTRET
11a60 43 48 42 4c 54 3b 0a 0a 73 74 72 75 63 74 20 45  CHBLT;..struct E
11a70 4d 52 53 54 52 45 54 43 48 44 49 42 49 54 53 0a  MRSTRETCHDIBITS.
11a80 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 20  {.    EMR emr;. 
11a90 20 20 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e     RECTL rclBoun
11aa0 64 73 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 44 65  ds;.    LONG xDe
11ab0 73 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 44 65  st;.    LONG yDe
11ac0 73 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 78 53 72  st;.    LONG xSr
11ad0 63 3b 0a 20 20 20 20 4c 4f 4e 47 20 79 53 72 63  c;.    LONG ySrc
11ae0 3b 0a 20 20 20 20 4c 4f 4e 47 20 63 78 53 72 63  ;.    LONG cxSrc
11af0 3b 0a 20 20 20 20 4c 4f 4e 47 20 63 79 53 72 63  ;.    LONG cySrc
11b00 3b 0a 20 20 20 20 44 57 4f 52 44 20 6f 66 66 42  ;.    DWORD offB
11b10 6d 69 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44  miSrc;.    DWORD
11b20 20 63 62 42 6d 69 53 72 63 3b 0a 20 20 20 20 44   cbBmiSrc;.    D
11b30 57 4f 52 44 20 6f 66 66 42 69 74 73 53 72 63 3b  WORD offBitsSrc;
11b40 0a 20 20 20 20 44 57 4f 52 44 20 63 62 42 69 74  .    DWORD cbBit
11b50 73 53 72 63 3b 0a 20 20 20 20 44 57 4f 52 44 20  sSrc;.    DWORD 
11b60 69 55 73 61 67 65 53 72 63 3b 0a 20 20 20 20 44  iUsageSrc;.    D
11b70 57 4f 52 44 20 64 77 52 6f 70 3b 0a 20 20 20 20  WORD dwRop;.    
11b80 4c 4f 4e 47 20 63 78 44 65 73 74 3b 0a 20 20 20  LONG cxDest;.   
11b90 20 4c 4f 4e 47 20 63 79 44 65 73 74 3b 0a 7d 0a   LONG cyDest;.}.
11ba0 61 6c 69 61 73 20 45 4d 52 53 54 52 45 54 43 48  alias EMRSTRETCH
11bb0 44 49 42 49 54 53 2a 50 45 4d 52 53 54 52 45 54  DIBITS*PEMRSTRET
11bc0 43 48 44 49 42 49 54 53 3b 0a 0a 73 74 72 75 63  CHDIBITS;..struc
11bd0 74 20 45 4d 52 41 42 4f 52 54 50 41 54 48 0a 7b  t EMRABORTPATH.{
11be0 0a 20 20 20 20 45 4d 52 20 65 6d 72 3b 0a 7d 0a  .    EMR emr;.}.
11bf0 61 6c 69 61 73 20 45 4d 52 41 42 4f 52 54 50 41  alias EMRABORTPA
11c00 54 48 2a 50 45 4d 52 41 42 4f 52 54 50 41 54 48  TH*PEMRABORTPATH
11c10 3b 0a 61 6c 69 61 73 20 45 4d 52 41 42 4f 52 54  ;.alias EMRABORT
11c20 50 41 54 48 20 45 4d 52 42 45 47 49 4e 50 41 54  PATH EMRBEGINPAT
11c30 48 3b 0a 61 6c 69 61 73 20 45 4d 52 42 45 47 49  H;.alias EMRBEGI
11c40 4e 50 41 54 48 2a 50 45 4d 52 42 45 47 49 4e 50  NPATH*PEMRBEGINP
11c50 41 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52 41 42  ATH;.alias EMRAB
11c60 4f 52 54 50 41 54 48 20 45 4d 52 45 4e 44 50 41  ORTPATH EMRENDPA
11c70 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52 45 4e 44  TH;.alias EMREND
11c80 50 41 54 48 2a 50 45 4d 52 45 4e 44 50 41 54 48  PATH*PEMRENDPATH
11c90 3b 0a 61 6c 69 61 73 20 45 4d 52 41 42 4f 52 54  ;.alias EMRABORT
11ca0 50 41 54 48 20 45 4d 52 43 4c 4f 53 45 46 49 47  PATH EMRCLOSEFIG
11cb0 55 52 45 3b 0a 61 6c 69 61 73 20 45 4d 52 43 4c  URE;.alias EMRCL
11cc0 4f 53 45 46 49 47 55 52 45 2a 50 45 4d 52 43 4c  OSEFIGURE*PEMRCL
11cd0 4f 53 45 46 49 47 55 52 45 3b 0a 61 6c 69 61 73  OSEFIGURE;.alias
11ce0 20 45 4d 52 41 42 4f 52 54 50 41 54 48 20 45 4d   EMRABORTPATH EM
11cf0 52 46 4c 41 54 54 45 4e 50 41 54 48 3b 0a 61 6c  RFLATTENPATH;.al
11d00 69 61 73 20 45 4d 52 46 4c 41 54 54 45 4e 50 41  ias EMRFLATTENPA
11d10 54 48 2a 50 45 4d 52 46 4c 41 54 54 45 4e 50 41  TH*PEMRFLATTENPA
11d20 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52 41 42 4f  TH;.alias EMRABO
11d30 52 54 50 41 54 48 20 45 4d 52 57 49 44 45 4e 50  RTPATH EMRWIDENP
11d40 41 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52 57 49  ATH;.alias EMRWI
11d50 44 45 4e 50 41 54 48 2a 50 45 4d 52 57 49 44 45  DENPATH*PEMRWIDE
11d60 4e 50 41 54 48 3b 0a 61 6c 69 61 73 20 45 4d 52  NPATH;.alias EMR
11d70 41 42 4f 52 54 50 41 54 48 20 45 4d 52 53 45 54  ABORTPATH EMRSET
11d80 4d 45 54 41 52 47 4e 3b 0a 61 6c 69 61 73 20 45  METARGN;.alias E
11d90 4d 52 53 45 54 4d 45 54 41 52 47 4e 2a 50 45 4d  MRSETMETARGN*PEM
11da0 52 53 45 54 4d 45 54 41 52 47 4e 3b 0a 61 6c 69  RSETMETARGN;.ali
11db0 61 73 20 45 4d 52 41 42 4f 52 54 50 41 54 48 20  as EMRABORTPATH 
11dc0 45 4d 52 53 41 56 45 44 43 3b 0a 61 6c 69 61 73  EMRSAVEDC;.alias
11dd0 20 45 4d 52 53 41 56 45 44 43 2a 50 45 4d 52 53   EMRSAVEDC*PEMRS
11de0 41 56 45 44 43 3b 0a 61 6c 69 61 73 20 45 4d 52  AVEDC;.alias EMR
11df0 41 42 4f 52 54 50 41 54 48 20 45 4d 52 52 45 41  ABORTPATH EMRREA
11e00 4c 49 5a 45 50 41 4c 45 54 54 45 3b 0a 61 6c 69  LIZEPALETTE;.ali
11e10 61 73 20 45 4d 52 52 45 41 4c 49 5a 45 50 41 4c  as EMRREALIZEPAL
11e20 45 54 54 45 2a 50 45 4d 52 52 45 41 4c 49 5a 45  ETTE*PEMRREALIZE
11e30 50 41 4c 45 54 54 45 3b 0a 0a 73 74 72 75 63 74  PALETTE;..struct
11e40 20 45 4d 52 53 45 4c 45 43 54 43 4c 49 50 50 41   EMRSELECTCLIPPA
11e50 54 48 0a 7b 0a 20 20 20 20 45 4d 52 20 65 6d 72  TH.{.    EMR emr
11e60 3b 0a 20 20 20 20 44 57 4f 52 44 20 69 4d 6f 64  ;.    DWORD iMod
11e70 65 3b 0a 7d 0a 61 6c 69 61 73 20 45 4d 52 53 45  e;.}.alias EMRSE
11e80 4c 45 43 54 43 4c 49 50 50 41 54 48 2a 50 45 4d  LECTCLIPPATH*PEM
11e90 52 53 45 4c 45 43 54 43 4c 49 50 50 41 54 48 3b  RSELECTCLIPPATH;
11ea0 0a 61 6c 69 61 73 20 45 4d 52 53 45 4c 45 43 54  .alias EMRSELECT
11eb0 43 4c 49 50 50 41 54 48 20 45 4d 52 53 45 54 42  CLIPPATH EMRSETB
11ec0 4b 4d 4f 44 45 3b 0a 61 6c 69 61 73 20 45 4d 52  KMODE;.alias EMR
11ed0 53 45 54 42 4b 4d 4f 44 45 2a 50 45 4d 52 53 45  SETBKMODE*PEMRSE
11ee0 54 42 4b 4d 4f 44 45 3b 0a 61 6c 69 61 73 20 45  TBKMODE;.alias E
11ef0 4d 52 53 45 4c 45 43 54 43 4c 49 50 50 41 54 48  MRSELECTCLIPPATH
11f00 20 45 4d 52 53 45 54 4d 41 50 4d 4f 44 45 3b 0a   EMRSETMAPMODE;.
11f10 61 6c 69 61 73 20 45 4d 52 53 45 54 4d 41 50 4d  alias EMRSETMAPM
11f20 4f 44 45 2a 50 45 4d 52 53 45 54 4d 41 50 4d 4f  ODE*PEMRSETMAPMO
11f30 44 45 3b 0a 61 6c 69 61 73 20 45 4d 52 53 45 4c  DE;.alias EMRSEL
11f40 45 43 54 43 4c 49 50 50 41 54 48 20 45 4d 52 53  ECTCLIPPATH EMRS
11f50 45 54 50 4f 4c 59 46 49 4c 4c 4d 4f 44 45 3b 0a  ETPOLYFILLMODE;.
11f60 61 6c 69 61 73 20 45 4d 52 53 45 54 50 4f 4c 59  alias EMRSETPOLY
11f70 46 49 4c 4c 4d 4f 44 45 2a 50 45 4d 52 53 45 54  FILLMODE*PEMRSET
11f80 50 4f 4c 59 46 49 4c 4c 4d 4f 44 45 3b 0a 61 6c  POLYFILLMODE;.al
11f90 69 61 73 20 45 4d 52 53 45 4c 45 43 54 43 4c 49  ias EMRSELECTCLI
11fa0 50 50 41 54 48 20 45 4d 52 53 45 54 52 4f 50 32  PPATH EMRSETROP2
11fb0 3b 0a 61 6c 69 61 73 20 45 4d 52 53 45 54 52 4f  ;.alias EMRSETRO
11fc0 50 32 2a 50 45 4d 52 53 45 54 52 4f 50 32 3b 0a  P2*PEMRSETROP2;.
11fd0 61 6c 69 61 73 20 45 4d 52 53 45 4c 45 43 54 43  alias EMRSELECTC
11fe0 4c 49 50 50 41 54 48 20 45 4d 52 53 45 54 53 54  LIPPATH EMRSETST
11ff0 52 45 54 43 48 42 4c 54 4d 4f 44 45 3b 0a 61 6c  RETCHBLTMODE;.al
12000 69 61 73 20 45 4d 52 53 45 54 53 54 52 45 54 43  ias EMRSETSTRETC
12010 48 42 4c 54 4d 4f 44 45 2a 50 45 4d 52 53 45 54  HBLTMODE*PEMRSET
12020 53 54 52 45 54 43 48 42 4c 54 4d 4f 44 45 3b 0a  STRETCHBLTMODE;.
12030 61 6c 69 61 73 20 45 4d 52 53 45 4c 45 43 54 43  alias EMRSELECTC
12040 4c 49 50 50 41 54 48 20 45 4d 52 53 45 54 49 43  LIPPATH EMRSETIC
12050 4d 4d 4f 44 45 3b 0a 61 6c 69 61 73 20 45 4d 52  MMODE;.alias EMR
12060 53 45 54 49 43 4d 4d 4f 44 45 2a 50 45 4d 52 53  SETICMMODE*PEMRS
12070 45 54 49 43 4d 4d 4f 44 45 3b 0a 61 6c 69 61 73  ETICMMODE;.alias
12080 20 45 4d 52 53 45 4c 45 43 54 43 4c 49 50 50 41   EMRSELECTCLIPPA
12090 54 48 20 45 4d 52 53 45 54 54 45 58 54 41 4c 49  TH EMRSETTEXTALI
120a0 47 4e 3b 0a 61 6c 69 61 73 20 45 4d 52 53 45 54  GN;.alias EMRSET
120b0 54 45 58 54 41 4c 49 47 4e 2a 50 45 4d 52 53 45  TEXTALIGN*PEMRSE
120c0 54 54 45 58 54 41 4c 49 47 4e 3b 0a 61 6c 69 61  TTEXTALIGN;.alia
120d0 73 20 45 4d 52 53 45 4c 45 43 54 43 4c 49 50 50  s EMRSELECTCLIPP
120e0 41 54 48 20 45 4d 52 45 4e 41 42 4c 45 49 43 4d  ATH EMRENABLEICM
120f0 3b 0a 61 6c 69 61 73 20 45 4d 52 45 4e 41 42 4c  ;.alias EMRENABL
12100 45 49 43 4d 2a 50 45 4d 52 45 4e 41 42 4c 45 49  EICM*PEMRENABLEI
12110 43 4d 3b 0a 73 74 61 74 69 63 0a 0a 69 66 20 28  CM;.static..if (
12120 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
12130 29 0a 7b 0a 20 20 20 20 61 6c 69 61 73 20 45 4d  ).{.    alias EM
12140 52 53 45 4c 45 43 54 43 4c 49 50 50 41 54 48 20  RSELECTCLIPPATH 
12150 45 4d 52 53 45 54 4c 41 59 4f 55 54 3b 0a 20 20  EMRSETLAYOUT;.  
12160 20 20 61 6c 69 61 73 20 45 4d 52 53 45 54 4c 41    alias EMRSETLA
12170 59 4f 55 54 2a 50 45 4d 52 53 45 54 4c 41 59 4f  YOUT*PEMRSETLAYO
12180 55 54 3b 0a 7d 0a 0a 61 6c 69 67 6e 20 28 32 29  UT;.}..align (2)
12190 20 3a 0a 73 74 72 75 63 74 20 4d 45 54 41 48 45   :.struct METAHE
121a0 41 44 45 52 0a 7b 0a 20 20 20 20 57 4f 52 44 20  ADER.{.    WORD 
121b0 6d 74 54 79 70 65 3b 0a 20 20 20 20 57 4f 52 44  mtType;.    WORD
121c0 20 6d 74 48 65 61 64 65 72 53 69 7a 65 3b 0a 20   mtHeaderSize;. 
121d0 20 20 20 57 4f 52 44 20 6d 74 56 65 72 73 69 6f     WORD mtVersio
121e0 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20 6d 74 53  n;.    DWORD mtS
121f0 69 7a 65 3b 0a 20 20 20 20 57 4f 52 44 20 6d 74  ize;.    WORD mt
12200 4e 6f 4f 62 6a 65 63 74 73 3b 0a 20 20 20 20 44  NoObjects;.    D
12210 57 4f 52 44 20 6d 74 4d 61 78 52 65 63 6f 72 64  WORD mtMaxRecord
12220 3b 0a 20 20 20 20 57 4f 52 44 20 6d 74 4e 6f 50  ;.    WORD mtNoP
12230 61 72 61 6d 65 74 65 72 73 3b 0a 7d 0a 61 6c 69  arameters;.}.ali
12240 61 73 20 4d 45 54 41 48 45 41 44 45 52 2a 50 4d  as METAHEADER*PM
12250 45 54 41 48 45 41 44 45 52 3b 0a 61 6c 69 61 73  ETAHEADER;.alias
12260 20 4d 45 54 41 48 45 41 44 45 52 2a 4c 50 4d 45   METAHEADER*LPME
12270 54 41 48 45 41 44 45 52 3b 0a 0a 61 6c 69 67 6e  TAHEADER;..align
12280 20 3a 0a 0a 73 74 72 75 63 74 20 45 4e 48 4d 45   :..struct ENHME
12290 54 41 48 45 41 44 45 52 0a 7b 0a 20 20 20 20 44  TAHEADER.{.    D
122a0 57 4f 52 44 20 69 54 79 70 65 3b 0a 20 20 20 20  WORD iType;.    
122b0 44 57 4f 52 44 20 6e 53 69 7a 65 3b 0a 20 20 20  DWORD nSize;.   
122c0 20 52 45 43 54 4c 20 72 63 6c 42 6f 75 6e 64 73   RECTL rclBounds
122d0 3b 0a 20 20 20 20 52 45 43 54 4c 20 72 63 6c 46  ;.    RECTL rclF
122e0 72 61 6d 65 3b 0a 20 20 20 20 44 57 4f 52 44 20  rame;.    DWORD 
122f0 64 53 69 67 6e 61 74 75 72 65 20 3d 20 45 4e 48  dSignature = ENH
12300 4d 45 54 41 5f 53 49 47 4e 41 54 55 52 45 3b 0a  META_SIGNATURE;.
12310 20 20 20 20 44 57 4f 52 44 20 6e 56 65 72 73 69      DWORD nVersi
12320 6f 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20 6e 42  on;.    DWORD nB
12330 79 74 65 73 3b 0a 20 20 20 20 44 57 4f 52 44 20  ytes;.    DWORD 
12340 6e 52 65 63 6f 72 64 73 3b 0a 20 20 20 20 57 4f  nRecords;.    WO
12350 52 44 20 6e 48 61 6e 64 6c 65 73 3b 0a 20 20 20  RD nHandles;.   
12360 20 57 4f 52 44 20 73 52 65 73 65 72 76 65 64 3b   WORD sReserved;
12370 0a 20 20 20 20 44 57 4f 52 44 20 6e 44 65 73 63  .    DWORD nDesc
12380 72 69 70 74 69 6f 6e 3b 0a 20 20 20 20 44 57 4f  ription;.    DWO
12390 52 44 20 6f 66 66 44 65 73 63 72 69 70 74 69 6f  RD offDescriptio
123a0 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20 6e 50 61  n;.    DWORD nPa
123b0 6c 45 6e 74 72 69 65 73 3b 0a 20 20 20 20 53 49  lEntries;.    SI
123c0 5a 45 4c 20 73 7a 6c 44 65 76 69 63 65 3b 0a 20  ZEL szlDevice;. 
123d0 20 20 20 53 49 5a 45 4c 20 73 7a 6c 4d 69 6c 6c     SIZEL szlMill
123e0 69 6d 65 74 65 72 73 3b 0a 20 20 20 20 73 74 61  imeters;.    sta
123f0 74 69 63 0a 0a 20 20 20 20 69 66 20 28 57 49 4e  tic..    if (WIN
12400 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0a 20  VER >= 0x0400). 
12410 20 20 20 7b 0a 20 20 20 20 20 20 20 20 44 57 4f     {.        DWO
12420 52 44 20 63 62 50 69 78 65 6c 46 6f 72 6d 61 74  RD cbPixelFormat
12430 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ;.        DWORD 
12440 6f 66 66 50 69 78 65 6c 46 6f 72 6d 61 74 3b 0a  offPixelFormat;.
12450 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 62 4f          DWORD bO
12460 70 65 6e 47 4c 3b 0a 20 20 20 20 7d 0a 0a 20 20  penGL;.    }..  
12470 20 20 73 74 61 74 69 63 0a 0a 20 20 20 20 69 66    static..    if
12480 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35   (WINVER >= 0x05
12490 30 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20  00).    {.      
124a0 20 20 53 49 5a 45 4c 20 73 7a 6c 4d 69 63 72 6f    SIZEL szlMicro
124b0 6d 65 74 65 72 73 3b 0a 20 20 20 20 7d 0a 7d 0a  meters;.    }.}.
124c0 61 6c 69 61 73 20 45 4e 48 4d 45 54 41 48 45 41  alias ENHMETAHEA
124d0 44 45 52 2a 50 45 4e 48 4d 45 54 41 48 45 41 44  DER*PENHMETAHEAD
124e0 45 52 2c 20 4c 50 45 4e 48 4d 45 54 41 48 45 41  ER, LPENHMETAHEA
124f0 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 4d 45 54  DER;..struct MET
12500 41 52 45 43 4f 52 44 0a 7b 0a 20 20 20 20 44 57  ARECORD.{.    DW
12510 4f 52 44 20 72 64 53 69 7a 65 3b 0a 20 20 20 20  ORD rdSize;.    
12520 57 4f 52 44 20 72 64 46 75 6e 63 74 69 6f 6e 3b  WORD rdFunction;
12530 0a 20 20 20 20 57 4f 52 44 5b 31 5d 20 72 64 50  .    WORD[1] rdP
12540 61 72 6d 3b 0a 7d 0a 61 6c 69 61 73 20 4d 45 54  arm;.}.alias MET
12550 41 52 45 43 4f 52 44 2a 50 4d 45 54 41 52 45 43  ARECORD*PMETAREC
12560 4f 52 44 3b 0a 61 6c 69 61 73 20 4d 45 54 41 52  ORD;.alias METAR
12570 45 43 4f 52 44 2a 4c 50 4d 45 54 41 52 45 43 4f  ECORD*LPMETARECO
12580 52 44 3b 0a 0a 73 74 72 75 63 74 20 45 4e 48 4d  RD;..struct ENHM
12590 45 54 41 52 45 43 4f 52 44 0a 7b 0a 20 20 20 20  ETARECORD.{.    
125a0 44 57 4f 52 44 20 69 54 79 70 65 3b 0a 20 20 20  DWORD iType;.   
125b0 20 44 57 4f 52 44 20 6e 53 69 7a 65 3b 0a 20 20   DWORD nSize;.  
125c0 20 20 44 57 4f 52 44 5b 31 5d 20 64 50 61 72 6d    DWORD[1] dParm
125d0 3b 0a 7d 0a 61 6c 69 61 73 20 45 4e 48 4d 45 54  ;.}.alias ENHMET
125e0 41 52 45 43 4f 52 44 2a 50 45 4e 48 4d 45 54 41  ARECORD*PENHMETA
125f0 52 45 43 4f 52 44 2c 20 4c 50 45 4e 48 4d 45 54  RECORD, LPENHMET
12600 41 52 45 43 4f 52 44 3b 0a 0a 2f 2f 20 2d 2d 2d  ARECORD;..// ---
12610 0a 0a 73 74 72 75 63 74 20 48 41 4e 44 4c 45 54  ..struct HANDLET
12620 41 42 4c 45 0a 7b 0a 20 20 20 20 48 47 44 49 4f  ABLE.{.    HGDIO
12630 42 4a 5b 31 5d 20 6f 62 6a 65 63 74 48 61 6e 64  BJ[1] objectHand
12640 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 48 41 4e 44  le;.}.alias HAND
12650 4c 45 54 41 42 4c 45 2a 50 48 41 4e 44 4c 45 54  LETABLE*PHANDLET
12660 41 42 4c 45 2c 20 4c 50 48 41 4e 44 4c 45 54 41  ABLE, LPHANDLETA
12670 42 4c 45 3b 0a 0a 73 74 72 75 63 74 20 54 45 58  BLE;..struct TEX
12680 54 4d 45 54 52 49 43 41 0a 7b 0a 20 20 20 20 4c  TMETRICA.{.    L
12690 4f 4e 47 20 74 6d 48 65 69 67 68 74 3b 0a 20 20  ONG tmHeight;.  
126a0 20 20 4c 4f 4e 47 20 74 6d 41 73 63 65 6e 74 3b    LONG tmAscent;
126b0 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 44 65 73 63  .    LONG tmDesc
126c0 65 6e 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d  ent;.    LONG tm
126d0 49 6e 74 65 72 6e 61 6c 4c 65 61 64 69 6e 67 3b  InternalLeading;
126e0 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 45 78 74 65  .    LONG tmExte
126f0 72 6e 61 6c 4c 65 61 64 69 6e 67 3b 0a 20 20 20  rnalLeading;.   
12700 20 4c 4f 4e 47 20 74 6d 41 76 65 43 68 61 72 57   LONG tmAveCharW
12710 69 64 74 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 74  idth;.    LONG t
12720 6d 4d 61 78 43 68 61 72 57 69 64 74 68 3b 0a 20  mMaxCharWidth;. 
12730 20 20 20 4c 4f 4e 47 20 74 6d 57 65 69 67 68 74     LONG tmWeight
12740 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 4f 76 65  ;.    LONG tmOve
12750 72 68 61 6e 67 3b 0a 20 20 20 20 4c 4f 4e 47 20  rhang;.    LONG 
12760 74 6d 44 69 67 69 74 69 7a 65 64 41 73 70 65 63  tmDigitizedAspec
12770 74 58 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 44  tX;.    LONG tmD
12780 69 67 69 74 69 7a 65 64 41 73 70 65 63 74 59 3b  igitizedAspectY;
12790 0a 20 20 20 20 42 59 54 45 20 74 6d 46 69 72 73  .    BYTE tmFirs
127a0 74 43 68 61 72 3b 0a 20 20 20 20 42 59 54 45 20  tChar;.    BYTE 
127b0 74 6d 4c 61 73 74 43 68 61 72 3b 0a 20 20 20 20  tmLastChar;.    
127c0 42 59 54 45 20 74 6d 44 65 66 61 75 6c 74 43 68  BYTE tmDefaultCh
127d0 61 72 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 42  ar;.    BYTE tmB
127e0 72 65 61 6b 43 68 61 72 3b 0a 20 20 20 20 42 59  reakChar;.    BY
127f0 54 45 20 74 6d 49 74 61 6c 69 63 3b 0a 20 20 20  TE tmItalic;.   
12800 20 42 59 54 45 20 74 6d 55 6e 64 65 72 6c 69 6e   BYTE tmUnderlin
12810 65 64 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 53  ed;.    BYTE tmS
12820 74 72 75 63 6b 4f 75 74 3b 0a 20 20 20 20 42 59  truckOut;.    BY
12830 54 45 20 74 6d 50 69 74 63 68 41 6e 64 46 61 6d  TE tmPitchAndFam
12840 69 6c 79 3b 0a 20 20 20 20 42 59 54 45 20 74 6d  ily;.    BYTE tm
12850 43 68 61 72 53 65 74 3b 0a 7d 0a 61 6c 69 61 73  CharSet;.}.alias
12860 20 54 45 58 54 4d 45 54 52 49 43 41 2a 50 54 45   TEXTMETRICA*PTE
12870 58 54 4d 45 54 52 49 43 41 2c 20 4e 50 54 45 58  XTMETRICA, NPTEX
12880 54 4d 45 54 52 49 43 41 2c 20 4c 50 54 45 58 54  TMETRICA, LPTEXT
12890 4d 45 54 52 49 43 41 3b 0a 0a 73 74 72 75 63 74  METRICA;..struct
128a0 20 54 45 58 54 4d 45 54 52 49 43 57 0a 7b 0a 20   TEXTMETRICW.{. 
128b0 20 20 20 4c 4f 4e 47 20 74 6d 48 65 69 67 68 74     LONG tmHeight
128c0 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 41 73 63  ;.    LONG tmAsc
128d0 65 6e 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d  ent;.    LONG tm
128e0 44 65 73 63 65 6e 74 3b 0a 20 20 20 20 4c 4f 4e  Descent;.    LON
128f0 47 20 74 6d 49 6e 74 65 72 6e 61 6c 4c 65 61 64  G tmInternalLead
12900 69 6e 67 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d  ing;.    LONG tm
12910 45 78 74 65 72 6e 61 6c 4c 65 61 64 69 6e 67 3b  ExternalLeading;
12920 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 41 76 65 43  .    LONG tmAveC
12930 68 61 72 57 69 64 74 68 3b 0a 20 20 20 20 4c 4f  harWidth;.    LO
12940 4e 47 20 74 6d 4d 61 78 43 68 61 72 57 69 64 74  NG tmMaxCharWidt
12950 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 57 65  h;.    LONG tmWe
12960 69 67 68 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 74  ight;.    LONG t
12970 6d 4f 76 65 72 68 61 6e 67 3b 0a 20 20 20 20 4c  mOverhang;.    L
12980 4f 4e 47 20 74 6d 44 69 67 69 74 69 7a 65 64 41  ONG tmDigitizedA
12990 73 70 65 63 74 58 3b 0a 20 20 20 20 4c 4f 4e 47  spectX;.    LONG
129a0 20 74 6d 44 69 67 69 74 69 7a 65 64 41 73 70 65   tmDigitizedAspe
129b0 63 74 59 3b 0a 20 20 20 20 57 43 48 41 52 20 74  ctY;.    WCHAR t
129c0 6d 46 69 72 73 74 43 68 61 72 3b 0a 20 20 20 20  mFirstChar;.    
129d0 57 43 48 41 52 20 74 6d 4c 61 73 74 43 68 61 72  WCHAR tmLastChar
129e0 3b 0a 20 20 20 20 57 43 48 41 52 20 74 6d 44 65  ;.    WCHAR tmDe
129f0 66 61 75 6c 74 43 68 61 72 3b 0a 20 20 20 20 57  faultChar;.    W
12a00 43 48 41 52 20 74 6d 42 72 65 61 6b 43 68 61 72  CHAR tmBreakChar
12a10 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 49 74 61  ;.    BYTE tmIta
12a20 6c 69 63 3b 0a 20 20 20 20 42 59 54 45 20 74 6d  lic;.    BYTE tm
12a30 55 6e 64 65 72 6c 69 6e 65 64 3b 0a 20 20 20 20  Underlined;.    
12a40 42 59 54 45 20 74 6d 53 74 72 75 63 6b 4f 75 74  BYTE tmStruckOut
12a50 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 50 69 74  ;.    BYTE tmPit
12a60 63 68 41 6e 64 46 61 6d 69 6c 79 3b 0a 20 20 20  chAndFamily;.   
12a70 20 42 59 54 45 20 74 6d 43 68 61 72 53 65 74 3b   BYTE tmCharSet;
12a80 0a 7d 0a 61 6c 69 61 73 20 54 45 58 54 4d 45 54  .}.alias TEXTMET
12a90 52 49 43 57 2a 50 54 45 58 54 4d 45 54 52 49 43  RICW*PTEXTMETRIC
12aa0 57 2c 20 4e 50 54 45 58 54 4d 45 54 52 49 43 57  W, NPTEXTMETRICW
12ab0 2c 20 4c 50 54 45 58 54 4d 45 54 52 49 43 57 3b  , LPTEXTMETRICW;
12ac0 0a 0a 73 74 72 75 63 74 20 52 47 4e 44 41 54 41  ..struct RGNDATA
12ad0 48 45 41 44 45 52 0a 7b 0a 20 20 20 20 44 57 4f  HEADER.{.    DWO
12ae0 52 44 20 64 77 53 69 7a 65 3b 0a 20 20 20 20 44  RD dwSize;.    D
12af0 57 4f 52 44 20 69 54 79 70 65 3b 0a 20 20 20 20  WORD iType;.    
12b00 44 57 4f 52 44 20 6e 43 6f 75 6e 74 3b 0a 20 20  DWORD nCount;.  
12b10 20 20 44 57 4f 52 44 20 6e 52 67 6e 53 69 7a 65    DWORD nRgnSize
12b20 3b 0a 20 20 20 20 52 45 43 54 20 72 63 42 6f 75  ;.    RECT rcBou
12b30 6e 64 3b 0a 7d 0a 61 6c 69 61 73 20 52 47 4e 44  nd;.}.alias RGND
12b40 41 54 41 48 45 41 44 45 52 2a 50 52 47 4e 44 41  ATAHEADER*PRGNDA
12b50 54 41 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63  TAHEADER;..struc
12b60 74 20 52 47 4e 44 41 54 41 0a 7b 0a 20 20 20 20  t RGNDATA.{.    
12b70 52 47 4e 44 41 54 41 48 45 41 44 45 52 20 72 64  RGNDATAHEADER rd
12b80 68 3b 0a 20 20 20 20 63 68 61 72 5b 31 5d 20 42  h;.    char[1] B
12b90 75 66 66 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 52  uffer;.}.alias R
12ba0 47 4e 44 41 54 41 2a 50 52 47 4e 44 41 54 41 2c  GNDATA*PRGNDATA,
12bb0 20 4e 50 52 47 4e 44 41 54 41 2c 20 4c 50 52 47   NPRGNDATA, LPRG
12bc0 4e 44 41 54 41 3b 0a 0a 2f 2a 20 66 6f 72 20 47  NDATA;../* for G
12bd0 65 74 52 61 6e 64 6f 6d 52 67 6e 20 2a 2f 0a 63  etRandomRgn */.c
12be0 6f 6e 73 74 20 53 59 53 52 47 4e 3d 34 3b 0a 73  onst SYSRGN=4;.s
12bf0 74 72 75 63 74 20 47 43 50 5f 52 45 53 55 4c 54  truct GCP_RESULT
12c00 53 41 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20 6c  SA.{.    DWORD l
12c10 53 74 72 75 63 74 53 69 7a 65 3b 0a 20 20 20 20  StructSize;.    
12c20 4c 50 53 54 52 20 6c 70 4f 75 74 53 74 72 69 6e  LPSTR lpOutStrin
12c30 67 3b 0a 20 20 20 20 55 49 4e 54 2a 6c 70 4f 72  g;.    UINT*lpOr
12c40 64 65 72 3b 0a 20 20 20 20 49 4e 54 2a 6c 70 44  der;.    INT*lpD
12c50 78 3b 0a 20 20 20 20 49 4e 54 2a 6c 70 43 61 72  x;.    INT*lpCar
12c60 65 74 50 6f 73 3b 0a 20 20 20 20 4c 50 53 54 52  etPos;.    LPSTR
12c70 20 6c 70 43 6c 61 73 73 3b 0a 20 20 20 20 4c 50   lpClass;.    LP
12c80 57 53 54 52 20 6c 70 47 6c 79 70 68 73 3b 0a 20  WSTR lpGlyphs;. 
12c90 20 20 20 55 49 4e 54 20 6e 47 6c 79 70 68 73 3b     UINT nGlyphs;
12ca0 0a 20 20 20 20 55 49 4e 54 20 6e 4d 61 78 46 69  .    UINT nMaxFi
12cb0 74 3b 0a 7d 0a 61 6c 69 61 73 20 47 43 50 5f 52  t;.}.alias GCP_R
12cc0 45 53 55 4c 54 53 41 2a 4c 50 47 43 50 5f 52 45  ESULTSA*LPGCP_RE
12cd0 53 55 4c 54 53 41 3b 0a 0a 73 74 72 75 63 74 20  SULTSA;..struct 
12ce0 47 43 50 5f 52 45 53 55 4c 54 53 57 0a 7b 0a 20  GCP_RESULTSW.{. 
12cf0 20 20 20 44 57 4f 52 44 20 6c 53 74 72 75 63 74     DWORD lStruct
12d00 53 69 7a 65 3b 0a 20 20 20 20 4c 50 57 53 54 52  Size;.    LPWSTR
12d10 20 6c 70 4f 75 74 53 74 72 69 6e 67 3b 0a 20 20   lpOutString;.  
12d20 20 20 55 49 4e 54 2a 6c 70 4f 72 64 65 72 3b 0a    UINT*lpOrder;.
12d30 20 20 20 20 49 4e 54 2a 6c 70 44 78 3b 0a 20 20      INT*lpDx;.  
12d40 20 20 49 4e 54 2a 6c 70 43 61 72 65 74 50 6f 73    INT*lpCaretPos
12d50 3b 0a 20 20 20 20 4c 50 57 53 54 52 20 6c 70 43  ;.    LPWSTR lpC
12d60 6c 61 73 73 3b 0a 20 20 20 20 4c 50 57 53 54 52  lass;.    LPWSTR
12d70 20 6c 70 47 6c 79 70 68 73 3b 0a 20 20 20 20 55   lpGlyphs;.    U
12d80 49 4e 54 20 6e 47 6c 79 70 68 73 3b 0a 20 20 20  INT nGlyphs;.   
12d90 20 55 49 4e 54 20 6e 4d 61 78 46 69 74 3b 0a 7d   UINT nMaxFit;.}
12da0 0a 61 6c 69 61 73 20 47 43 50 5f 52 45 53 55 4c  .alias GCP_RESUL
12db0 54 53 57 2a 4c 50 47 43 50 5f 52 45 53 55 4c 54  TSW*LPGCP_RESULT
12dc0 53 57 3b 0a 0a 73 74 72 75 63 74 20 47 4c 59 50  SW;..struct GLYP
12dd0 48 4d 45 54 52 49 43 53 0a 7b 0a 20 20 20 20 55  HMETRICS.{.    U
12de0 49 4e 54 20 67 6d 42 6c 61 63 6b 42 6f 78 58 3b  INT gmBlackBoxX;
12df0 0a 20 20 20 20 55 49 4e 54 20 67 6d 42 6c 61 63  .    UINT gmBlac
12e00 6b 42 6f 78 59 3b 0a 20 20 20 20 50 4f 49 4e 54  kBoxY;.    POINT
12e10 20 67 6d 70 74 47 6c 79 70 68 4f 72 69 67 69 6e   gmptGlyphOrigin
12e20 3b 0a 20 20 20 20 73 68 6f 72 74 20 67 6d 43 65  ;.    short gmCe
12e30 6c 6c 49 6e 63 58 3b 0a 20 20 20 20 73 68 6f 72  llIncX;.    shor
12e40 74 20 67 6d 43 65 6c 6c 49 6e 63 59 3b 0a 7d 0a  t gmCellIncY;.}.
12e50 61 6c 69 61 73 20 47 4c 59 50 48 4d 45 54 52 49  alias GLYPHMETRI
12e60 43 53 2a 4c 50 47 4c 59 50 48 4d 45 54 52 49 43  CS*LPGLYPHMETRIC
12e70 53 3b 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28  S;..static..if (
12e80 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
12e90 30 78 30 35 30 30 29 0a 7b 0a 20 20 20 20 73 74  0x0500).{.    st
12ea0 72 75 63 74 20 57 43 52 41 4e 47 45 0a 20 20 20  ruct WCRANGE.   
12eb0 20 7b 0a 20 20 20 20 20 20 20 20 57 43 48 41 52   {.        WCHAR
12ec0 20 77 63 4c 6f 77 3b 0a 20 20 20 20 20 20 20 20   wcLow;.        
12ed0 55 53 48 4f 52 54 20 63 47 6c 79 70 68 73 3b 0a  USHORT cGlyphs;.
12ee0 20 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20      }.    alias 
12ef0 57 43 52 41 4e 47 45 2a 50 57 43 52 41 4e 47 45  WCRANGE*PWCRANGE
12f00 2c 20 4c 50 57 43 52 41 4e 47 45 3b 0a 0a 20 20  , LPWCRANGE;..  
12f10 20 20 73 74 72 75 63 74 20 47 4c 59 50 48 53 45    struct GLYPHSE
12f20 54 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20  T.    {.        
12f30 44 57 4f 52 44 20 63 62 54 68 69 73 3b 0a 20 20  DWORD cbThis;.  
12f40 20 20 20 20 20 20 44 57 4f 52 44 20 66 6c 41 63        DWORD flAc
12f50 63 65 6c 3b 0a 20 20 20 20 20 20 20 20 44 57 4f  cel;.        DWO
12f60 52 44 20 63 47 6c 79 70 68 73 53 75 70 70 6f 72  RD cGlyphsSuppor
12f70 74 65 64 3b 0a 20 20 20 20 20 20 20 20 44 57 4f  ted;.        DWO
12f80 52 44 20 63 52 61 6e 67 65 73 3b 0a 20 20 20 20  RD cRanges;.    
12f90 20 20 20 20 57 43 52 41 4e 47 45 5b 31 5d 20 72      WCRANGE[1] r
12fa0 61 6e 67 65 73 3b 0a 20 20 20 20 7d 0a 20 20 20  anges;.    }.   
12fb0 20 61 6c 69 61 73 20 47 4c 59 50 48 53 45 54 2a   alias GLYPHSET*
12fc0 50 47 4c 59 50 48 53 45 54 2c 20 4c 50 47 4c 59  PGLYPHSET, LPGLY
12fd0 50 48 53 45 54 3b 0a 0a 20 20 20 20 63 6f 6e 73  PHSET;..    cons
12fe0 74 20 44 57 4f 52 44 20 47 53 5f 38 42 49 54 5f  t DWORD GS_8BIT_
12ff0 49 4e 44 49 43 45 53 20 3d 20 30 78 30 30 30 30  INDICES = 0x0000
13000 30 30 30 31 3b 0a 7d 0a 0a 73 74 72 75 63 74 20  0001;.}..struct 
13010 4b 45 52 4e 49 4e 47 50 41 49 52 0a 7b 0a 20 20  KERNINGPAIR.{.  
13020 20 20 57 4f 52 44 20 77 46 69 72 73 74 3b 0a 20    WORD wFirst;. 
13030 20 20 20 57 4f 52 44 20 77 53 65 63 6f 6e 64 3b     WORD wSecond;
13040 0a 20 20 20 20 69 6e 74 20 69 4b 65 72 6e 41 6d  .    int iKernAm
13050 6f 75 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 4b 45  ount;.}.alias KE
13060 52 4e 49 4e 47 50 41 49 52 2a 4c 50 4b 45 52 4e  RNINGPAIR*LPKERN
13070 49 4e 47 50 41 49 52 3b 0a 0a 73 74 72 75 63 74  INGPAIR;..struct
13080 20 46 49 58 45 44 0a 7b 0a 20 20 20 20 57 4f 52   FIXED.{.    WOR
13090 44 20 66 72 61 63 74 3b 0a 20 20 20 20 73 68 6f  D fract;.    sho
130a0 72 74 20 76 61 6c 75 65 3b 0a 7d 0a 0a 73 74 72  rt value;.}..str
130b0 75 63 74 20 4d 41 54 32 0a 7b 0a 20 20 20 20 46  uct MAT2.{.    F
130c0 49 58 45 44 20 65 4d 31 31 3b 0a 20 20 20 20 46  IXED eM11;.    F
130d0 49 58 45 44 20 65 4d 31 32 3b 0a 20 20 20 20 46  IXED eM12;.    F
130e0 49 58 45 44 20 65 4d 32 31 3b 0a 20 20 20 20 46  IXED eM21;.    F
130f0 49 58 45 44 20 65 4d 32 32 3b 0a 7d 0a 61 6c 69  IXED eM22;.}.ali
13100 61 73 20 4d 41 54 32 2a 4c 50 4d 41 54 32 3b 0a  as MAT2*LPMAT2;.
13110 0a 73 74 72 75 63 74 20 4f 55 54 4c 49 4e 45 54  .struct OUTLINET
13120 45 58 54 4d 45 54 52 49 43 41 0a 7b 0a 20 20 20  EXTMETRICA.{.   
13130 20 55 49 4e 54 20 6f 74 6d 53 69 7a 65 3b 0a 20   UINT otmSize;. 
13140 20 20 20 54 45 58 54 4d 45 54 52 49 43 41 20 6f     TEXTMETRICA o
13150 74 6d 54 65 78 74 4d 65 74 72 69 63 73 3b 0a 20  tmTextMetrics;. 
13160 20 20 20 42 59 54 45 20 6f 74 6d 46 69 6c 6c 65     BYTE otmFille
13170 72 3b 0a 20 20 20 20 50 41 4e 4f 53 45 20 6f 74  r;.    PANOSE ot
13180 6d 50 61 6e 6f 73 65 4e 75 6d 62 65 72 3b 0a 20  mPanoseNumber;. 
13190 20 20 20 55 49 4e 54 20 6f 74 6d 66 73 53 65 6c     UINT otmfsSel
131a0 65 63 74 69 6f 6e 3b 0a 20 20 20 20 55 49 4e 54  ection;.    UINT
131b0 20 6f 74 6d 66 73 54 79 70 65 3b 0a 20 20 20 20   otmfsType;.    
131c0 69 6e 74 20 6f 74 6d 73 43 68 61 72 53 6c 6f 70  int otmsCharSlop
131d0 65 52 69 73 65 3b 0a 20 20 20 20 69 6e 74 20 6f  eRise;.    int o
131e0 74 6d 73 43 68 61 72 53 6c 6f 70 65 52 75 6e 3b  tmsCharSlopeRun;
131f0 0a 20 20 20 20 69 6e 74 20 6f 74 6d 49 74 61 6c  .    int otmItal
13200 69 63 41 6e 67 6c 65 3b 0a 20 20 20 20 55 49 4e  icAngle;.    UIN
13210 54 20 6f 74 6d 45 4d 53 71 75 61 72 65 3b 0a 20  T otmEMSquare;. 
13220 20 20 20 69 6e 74 20 6f 74 6d 41 73 63 65 6e 74     int otmAscent
13230 3b 0a 20 20 20 20 69 6e 74 20 6f 74 6d 44 65 73  ;.    int otmDes
13240 63 65 6e 74 3b 0a 20 20 20 20 55 49 4e 54 20 6f  cent;.    UINT o
13250 74 6d 4c 69 6e 65 47 61 70 3b 0a 20 20 20 20 55  tmLineGap;.    U
13260 49 4e 54 20 6f 74 6d 73 43 61 70 45 6d 48 65 69  INT otmsCapEmHei
13270 67 68 74 3b 0a 20 20 20 20 55 49 4e 54 20 6f 74  ght;.    UINT ot
13280 6d 73 58 48 65 69 67 68 74 3b 0a 20 20 20 20 52  msXHeight;.    R
13290 45 43 54 20 6f 74 6d 72 63 46 6f 6e 74 42 6f 78  ECT otmrcFontBox
132a0 3b 0a 20 20 20 20 69 6e 74 20 6f 74 6d 4d 61 63  ;.    int otmMac
132b0 41 73 63 65 6e 74 3b 0a 20 20 20 20 69 6e 74 20  Ascent;.    int 
132c0 6f 74 6d 4d 61 63 44 65 73 63 65 6e 74 3b 0a 20  otmMacDescent;. 
132d0 20 20 20 55 49 4e 54 20 6f 74 6d 4d 61 63 4c 69     UINT otmMacLi
132e0 6e 65 47 61 70 3b 0a 20 20 20 20 55 49 4e 54 20  neGap;.    UINT 
132f0 6f 74 6d 75 73 4d 69 6e 69 6d 75 6d 50 50 45 4d  otmusMinimumPPEM
13300 3b 0a 20 20 20 20 50 4f 49 4e 54 20 6f 74 6d 70  ;.    POINT otmp
13310 74 53 75 62 73 63 72 69 70 74 53 69 7a 65 3b 0a  tSubscriptSize;.
13320 20 20 20 20 50 4f 49 4e 54 20 6f 74 6d 70 74 53      POINT otmptS
13330 75 62 73 63 72 69 70 74 4f 66 66 73 65 74 3b 0a  ubscriptOffset;.
13340 20 20 20 20 50 4f 49 4e 54 20 6f 74 6d 70 74 53      POINT otmptS
13350 75 70 65 72 73 63 72 69 70 74 53 69 7a 65 3b 0a  uperscriptSize;.
13360 20 20 20 20 50 4f 49 4e 54 20 6f 74 6d 70 74 53      POINT otmptS
13370 75 70 65 72 73 63 72 69 70 74 4f 66 66 73 65 74  uperscriptOffset
13380 3b 0a 20 20 20 20 55 49 4e 54 20 6f 74 6d 73 53  ;.    UINT otmsS
13390 74 72 69 6b 65 6f 75 74 53 69 7a 65 3b 0a 20 20  trikeoutSize;.  
133a0 20 20 69 6e 74 20 6f 74 6d 73 53 74 72 69 6b 65    int otmsStrike
133b0 6f 75 74 50 6f 73 69 74 69 6f 6e 3b 0a 20 20 20  outPosition;.   
133c0 20 69 6e 74 20 6f 74 6d 73 55 6e 64 65 72 73 63   int otmsUndersc
133d0 6f 72 65 53 69 7a 65 3b 0a 20 20 20 20 69 6e 74  oreSize;.    int
133e0 20 6f 74 6d 73 55 6e 64 65 72 73 63 6f 72 65 50   otmsUnderscoreP
133f0 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 50 53 54  osition;.    PST
13400 52 20 6f 74 6d 70 46 61 6d 69 6c 79 4e 61 6d 65  R otmpFamilyName
13410 3b 0a 20 20 20 20 50 53 54 52 20 6f 74 6d 70 46  ;.    PSTR otmpF
13420 61 63 65 4e 61 6d 65 3b 0a 20 20 20 20 50 53 54  aceName;.    PST
13430 52 20 6f 74 6d 70 53 74 79 6c 65 4e 61 6d 65 3b  R otmpStyleName;
13440 0a 20 20 20 20 50 53 54 52 20 6f 74 6d 70 46 75  .    PSTR otmpFu
13450 6c 6c 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20  llName;.}.alias 
13460 4f 55 54 4c 49 4e 45 54 45 58 54 4d 45 54 52 49  OUTLINETEXTMETRI
13470 43 41 2a 50 4f 55 54 4c 49 4e 45 54 45 58 54 4d  CA*POUTLINETEXTM
13480 45 54 52 49 43 41 2c 20 4e 50 4f 55 54 4c 49 4e  ETRICA, NPOUTLIN
13490 45 54 45 58 54 4d 45 54 52 49 43 41 2c 20 4c 50  ETEXTMETRICA, LP
134a0 4f 55 54 4c 49 4e 45 54 45 58 54 4d 45 54 52 49  OUTLINETEXTMETRI
134b0 43 41 3b 0a 0a 73 74 72 75 63 74 20 4f 55 54 4c  CA;..struct OUTL
134c0 49 4e 45 54 45 58 54 4d 45 54 52 49 43 57 0a 7b  INETEXTMETRICW.{
134d0 0a 20 20 20 20 55 49 4e 54 20 6f 74 6d 53 69 7a  .    UINT otmSiz
134e0 65 3b 0a 20 20 20 20 54 45 58 54 4d 45 54 52 49  e;.    TEXTMETRI
134f0 43 57 20 6f 74 6d 54 65 78 74 4d 65 74 72 69 63  CW otmTextMetric
13500 73 3b 0a 20 20 20 20 42 59 54 45 20 6f 74 6d 46  s;.    BYTE otmF
13510 69 6c 6c 65 72 3b 0a 20 20 20 20 50 41 4e 4f 53  iller;.    PANOS
13520 45 20 6f 74 6d 50 61 6e 6f 73 65 4e 75 6d 62 65  E otmPanoseNumbe
13530 72 3b 0a 20 20 20 20 55 49 4e 54 20 6f 74 6d 66  r;.    UINT otmf
13540 73 53 65 6c 65 63 74 69 6f 6e 3b 0a 20 20 20 20  sSelection;.    
13550 55 49 4e 54 20 6f 74 6d 66 73 54 79 70 65 3b 0a  UINT otmfsType;.
13560 20 20 20 20 69 6e 74 20 6f 74 6d 73 43 68 61 72      int otmsChar
13570 53 6c 6f 70 65 52 69 73 65 3b 0a 20 20 20 20 69  SlopeRise;.    i
13580 6e 74 20 6f 74 6d 73 43 68 61 72 53 6c 6f 70 65  nt otmsCharSlope
13590 52 75 6e 3b 0a 20 20 20 20 69 6e 74 20 6f 74 6d  Run;.    int otm
135a0 49 74 61 6c 69 63 41 6e 67 6c 65 3b 0a 20 20 20  ItalicAngle;.   
135b0 20 55 49 4e 54 20 6f 74 6d 45 4d 53 71 75 61 72   UINT otmEMSquar
135c0 65 3b 0a 20 20 20 20 69 6e 74 20 6f 74 6d 41 73  e;.    int otmAs
135d0 63 65 6e 74 3b 0a 20 20 20 20 69 6e 74 20 6f 74  cent;.    int ot
135e0 6d 44 65 73 63 65 6e 74 3b 0a 20 20 20 20 55 49  mDescent;.    UI
135f0 4e 54 20 6f 74 6d 4c 69 6e 65 47 61 70 3b 0a 20  NT otmLineGap;. 
13600 20 20 20 55 49 4e 54 20 6f 74 6d 73 43 61 70 45     UINT otmsCapE
13610 6d 48 65 69 67 68 74 3b 0a 20 20 20 20 55 49 4e  mHeight;.    UIN
13620 54 20 6f 74 6d 73 58 48 65 69 67 68 74 3b 0a 20  T otmsXHeight;. 
13630 20 20 20 52 45 43 54 20 6f 74 6d 72 63 46 6f 6e     RECT otmrcFon
13640 74 42 6f 78 3b 0a 20 20 20 20 69 6e 74 20 6f 74  tBox;.    int ot
13650 6d 4d 61 63 41 73 63 65 6e 74 3b 0a 20 20 20 20  mMacAscent;.    
13660 69 6e 74 20 6f 74 6d 4d 61 63 44 65 73 63 65 6e  int otmMacDescen
13670 74 3b 0a 20 20 20 20 55 49 4e 54 20 6f 74 6d 4d  t;.    UINT otmM
13680 61 63 4c 69 6e 65 47 61 70 3b 0a 20 20 20 20 55  acLineGap;.    U
13690 49 4e 54 20 6f 74 6d 75 73 4d 69 6e 69 6d 75 6d  INT otmusMinimum
136a0 50 50 45 4d 3b 0a 20 20 20 20 50 4f 49 4e 54 20  PPEM;.    POINT 
136b0 6f 74 6d 70 74 53 75 62 73 63 72 69 70 74 53 69  otmptSubscriptSi
136c0 7a 65 3b 0a 20 20 20 20 50 4f 49 4e 54 20 6f 74  ze;.    POINT ot
136d0 6d 70 74 53 75 62 73 63 72 69 70 74 4f 66 66 73  mptSubscriptOffs
136e0 65 74 3b 0a 20 20 20 20 50 4f 49 4e 54 20 6f 74  et;.    POINT ot
136f0 6d 70 74 53 75 70 65 72 73 63 72 69 70 74 53 69  mptSuperscriptSi
13700 7a 65 3b 0a 20 20 20 20 50 4f 49 4e 54 20 6f 74  ze;.    POINT ot
13710 6d 70 74 53 75 70 65 72 73 63 72 69 70 74 4f 66  mptSuperscriptOf
13720 66 73 65 74 3b 0a 20 20 20 20 55 49 4e 54 20 6f  fset;.    UINT o
13730 74 6d 73 53 74 72 69 6b 65 6f 75 74 53 69 7a 65  tmsStrikeoutSize
13740 3b 0a 20 20 20 20 69 6e 74 20 6f 74 6d 73 53 74  ;.    int otmsSt
13750 72 69 6b 65 6f 75 74 50 6f 73 69 74 69 6f 6e 3b  rikeoutPosition;
13760 0a 20 20 20 20 69 6e 74 20 6f 74 6d 73 55 6e 64  .    int otmsUnd
13770 65 72 73 63 6f 72 65 53 69 7a 65 3b 0a 20 20 20  erscoreSize;.   
13780 20 69 6e 74 20 6f 74 6d 73 55 6e 64 65 72 73 63   int otmsUndersc
13790 6f 72 65 50 6f 73 69 74 69 6f 6e 3b 0a 20 20 20  orePosition;.   
137a0 20 50 53 54 52 20 6f 74 6d 70 46 61 6d 69 6c 79   PSTR otmpFamily
137b0 4e 61 6d 65 3b 0a 20 20 20 20 50 53 54 52 20 6f  Name;.    PSTR o
137c0 74 6d 70 46 61 63 65 4e 61 6d 65 3b 0a 20 20 20  tmpFaceName;.   
137d0 20 50 53 54 52 20 6f 74 6d 70 53 74 79 6c 65 4e   PSTR otmpStyleN
137e0 61 6d 65 3b 0a 20 20 20 20 50 53 54 52 20 6f 74  ame;.    PSTR ot
137f0 6d 70 46 75 6c 6c 4e 61 6d 65 3b 0a 7d 0a 61 6c  mpFullName;.}.al
13800 69 61 73 20 4f 55 54 4c 49 4e 45 54 45 58 54 4d  ias OUTLINETEXTM
13810 45 54 52 49 43 57 2a 50 4f 55 54 4c 49 4e 45 54  ETRICW*POUTLINET
13820 45 58 54 4d 45 54 52 49 43 57 2c 20 4e 50 4f 55  EXTMETRICW, NPOU
13830 54 4c 49 4e 45 54 45 58 54 4d 45 54 52 49 43 57  TLINETEXTMETRICW
13840 2c 20 4c 50 4f 55 54 4c 49 4e 45 54 45 58 54 4d  , LPOUTLINETEXTM
13850 45 54 52 49 43 57 3b 0a 0a 73 74 72 75 63 74 20  ETRICW;..struct 
13860 52 41 53 54 45 52 49 5a 45 52 5f 53 54 41 54 55  RASTERIZER_STATU
13870 53 0a 7b 0a 20 20 20 20 73 68 6f 72 74 20 6e 53  S.{.    short nS
13880 69 7a 65 3b 0a 20 20 20 20 73 68 6f 72 74 20 77  ize;.    short w
13890 46 6c 61 67 73 3b 0a 20 20 20 20 73 68 6f 72 74  Flags;.    short
138a0 20 6e 4c 61 6e 67 75 61 67 65 49 44 3b 0a 7d 0a   nLanguageID;.}.
138b0 61 6c 69 61 73 20 52 41 53 54 45 52 49 5a 45 52  alias RASTERIZER
138c0 5f 53 54 41 54 55 53 2a 4c 50 52 41 53 54 45 52  _STATUS*LPRASTER
138d0 49 5a 45 52 5f 53 54 41 54 55 53 3b 0a 0a 73 74  IZER_STATUS;..st
138e0 72 75 63 74 20 50 4f 4c 59 54 45 58 54 41 0a 7b  ruct POLYTEXTA.{
138f0 0a 20 20 20 20 69 6e 74 20 78 3b 0a 20 20 20 20  .    int x;.    
13900 69 6e 74 20 79 3b 0a 20 20 20 20 55 49 4e 54 20  int y;.    UINT 
13910 6e 3b 0a 20 20 20 20 4c 50 43 53 54 52 20 6c 70  n;.    LPCSTR lp
13920 73 74 72 3b 0a 20 20 20 20 55 49 4e 54 20 75 69  str;.    UINT ui
13930 46 6c 61 67 73 3b 0a 20 20 20 20 52 45 43 54 20  Flags;.    RECT 
13940 72 63 6c 3b 0a 20 20 20 20 69 6e 74 2a 70 64 78  rcl;.    int*pdx
13950 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 59 54 45  ;.}.alias POLYTE
13960 58 54 41 2a 50 50 4f 4c 59 54 45 58 54 41 2c 20  XTA*PPOLYTEXTA, 
13970 4e 50 50 4f 4c 59 54 45 58 54 41 2c 20 4c 50 50  NPPOLYTEXTA, LPP
13980 4f 4c 59 54 45 58 54 41 3b 0a 0a 73 74 72 75 63  OLYTEXTA;..struc
13990 74 20 50 4f 4c 59 54 45 58 54 57 0a 7b 0a 20 20  t POLYTEXTW.{.  
139a0 20 20 69 6e 74 20 78 3b 0a 20 20 20 20 69 6e 74    int x;.    int
139b0 20 79 3b 0a 20 20 20 20 55 49 4e 54 20 6e 3b 0a   y;.    UINT n;.
139c0 20 20 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74      LPCWSTR lpst
139d0 72 3b 0a 20 20 20 20 55 49 4e 54 20 75 69 46 6c  r;.    UINT uiFl
139e0 61 67 73 3b 0a 20 20 20 20 52 45 43 54 20 72 63  ags;.    RECT rc
139f0 6c 3b 0a 20 20 20 20 69 6e 74 2a 70 64 78 3b 0a  l;.    int*pdx;.
13a00 7d 0a 61 6c 69 61 73 20 50 4f 4c 59 54 45 58 54  }.alias POLYTEXT
13a10 57 2a 50 50 4f 4c 59 54 45 58 54 57 2c 20 4e 50  W*PPOLYTEXTW, NP
13a20 50 4f 4c 59 54 45 58 54 57 2c 20 4c 50 50 4f 4c  POLYTEXTW, LPPOL
13a30 59 54 45 58 54 57 3b 0a 0a 73 74 72 75 63 74 20  YTEXTW;..struct 
13a40 50 49 58 45 4c 46 4f 52 4d 41 54 44 45 53 43 52  PIXELFORMATDESCR
13a50 49 50 54 4f 52 0a 7b 0a 20 20 20 20 57 4f 52 44  IPTOR.{.    WORD
13a60 20 6e 53 69 7a 65 3b 0a 20 20 20 20 57 4f 52 44   nSize;.    WORD
13a70 20 6e 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20 44   nVersion;.    D
13a80 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0a 20 20  WORD dwFlags;.  
13a90 20 20 42 59 54 45 20 69 50 69 78 65 6c 54 79 70    BYTE iPixelTyp
13aa0 65 3b 0a 20 20 20 20 42 59 54 45 20 63 43 6f 6c  e;.    BYTE cCol
13ab0 6f 72 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45  orBits;.    BYTE
13ac0 20 63 52 65 64 42 69 74 73 3b 0a 20 20 20 20 42   cRedBits;.    B
13ad0 59 54 45 20 63 52 65 64 53 68 69 66 74 3b 0a 20  YTE cRedShift;. 
13ae0 20 20 20 42 59 54 45 20 63 47 72 65 65 6e 42 69     BYTE cGreenBi
13af0 74 73 3b 0a 20 20 20 20 42 59 54 45 20 63 47 72  ts;.    BYTE cGr
13b00 65 65 6e 53 68 69 66 74 3b 0a 20 20 20 20 42 59  eenShift;.    BY
13b10 54 45 20 63 42 6c 75 65 42 69 74 73 3b 0a 20 20  TE cBlueBits;.  
13b20 20 20 42 59 54 45 20 63 42 6c 75 65 53 68 69 66    BYTE cBlueShif
13b30 74 3b 0a 20 20 20 20 42 59 54 45 20 63 41 6c 70  t;.    BYTE cAlp
13b40 68 61 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45  haBits;.    BYTE
13b50 20 63 41 6c 70 68 61 53 68 69 66 74 3b 0a 20 20   cAlphaShift;.  
13b60 20 20 42 59 54 45 20 63 41 63 63 75 6d 42 69 74    BYTE cAccumBit
13b70 73 3b 0a 20 20 20 20 42 59 54 45 20 63 41 63 63  s;.    BYTE cAcc
13b80 75 6d 52 65 64 42 69 74 73 3b 0a 20 20 20 20 42  umRedBits;.    B
13b90 59 54 45 20 63 41 63 63 75 6d 47 72 65 65 6e 42  YTE cAccumGreenB
13ba0 69 74 73 3b 0a 20 20 20 20 42 59 54 45 20 63 41  its;.    BYTE cA
13bb0 63 63 75 6d 42 6c 75 65 42 69 74 73 3b 0a 20 20  ccumBlueBits;.  
13bc0 20 20 42 59 54 45 20 63 41 63 63 75 6d 41 6c 70    BYTE cAccumAlp
13bd0 68 61 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45  haBits;.    BYTE
13be0 20 63 44 65 70 74 68 42 69 74 73 3b 0a 20 20 20   cDepthBits;.   
13bf0 20 42 59 54 45 20 63 53 74 65 6e 63 69 6c 42 69   BYTE cStencilBi
13c00 74 73 3b 0a 20 20 20 20 42 59 54 45 20 63 41 75  ts;.    BYTE cAu
13c10 78 42 75 66 66 65 72 73 3b 0a 20 20 20 20 42 59  xBuffers;.    BY
13c20 54 45 20 69 4c 61 79 65 72 54 79 70 65 3b 0a 20  TE iLayerType;. 
13c30 20 20 20 42 59 54 45 20 62 52 65 73 65 72 76 65     BYTE bReserve
13c40 64 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 77 4c  d;.    DWORD dwL
13c50 61 79 65 72 4d 61 73 6b 3b 0a 20 20 20 20 44 57  ayerMask;.    DW
13c60 4f 52 44 20 64 77 56 69 73 69 62 6c 65 4d 61 73  ORD dwVisibleMas
13c70 6b 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 77 44  k;.    DWORD dwD
13c80 61 6d 61 67 65 4d 61 73 6b 3b 0a 7d 0a 61 6c 69  amageMask;.}.ali
13c90 61 73 20 50 49 58 45 4c 46 4f 52 4d 41 54 44 45  as PIXELFORMATDE
13ca0 53 43 52 49 50 54 4f 52 2a 50 50 49 58 45 4c 46  SCRIPTOR*PPIXELF
13cb0 4f 52 4d 41 54 44 45 53 43 52 49 50 54 4f 52 2c  ORMATDESCRIPTOR,
13cc0 20 4c 50 50 49 58 45 4c 46 4f 52 4d 41 54 44 45   LPPIXELFORMATDE
13cd0 53 43 52 49 50 54 4f 52 3b 0a 0a 73 74 72 75 63  SCRIPTOR;..struc
13ce0 74 20 4d 45 54 41 46 49 4c 45 50 49 43 54 0a 7b  t METAFILEPICT.{
13cf0 0a 20 20 20 20 4c 4f 4e 47 20 6d 6d 3b 0a 20 20  .    LONG mm;.  
13d00 20 20 4c 4f 4e 47 20 78 45 78 74 3b 0a 20 20 20    LONG xExt;.   
13d10 20 4c 4f 4e 47 20 79 45 78 74 3b 0a 20 20 20 20   LONG yExt;.    
13d20 48 4d 45 54 41 46 49 4c 45 20 68 4d 46 3b 0a 7d  HMETAFILE hMF;.}
13d30 0a 61 6c 69 61 73 20 4d 45 54 41 46 49 4c 45 50  .alias METAFILEP
13d40 49 43 54 2a 4c 50 4d 45 54 41 46 49 4c 45 50 49  ICT*LPMETAFILEPI
13d50 43 54 3b 0a 0a 73 74 72 75 63 74 20 4c 4f 43 41  CT;..struct LOCA
13d60 4c 45 53 49 47 4e 41 54 55 52 45 0a 7b 0a 20 20  LESIGNATURE.{.  
13d70 20 20 44 57 4f 52 44 5b 34 5d 20 6c 73 55 73 62    DWORD[4] lsUsb
13d80 3b 0a 20 20 20 20 44 57 4f 52 44 5b 32 5d 20 6c  ;.    DWORD[2] l
13d90 73 43 73 62 44 65 66 61 75 6c 74 3b 0a 20 20 20  sCsbDefault;.   
13da0 20 44 57 4f 52 44 5b 32 5d 20 6c 73 43 73 62 53   DWORD[2] lsCsbS
13db0 75 70 70 6f 72 74 65 64 3b 0a 7d 0a 61 6c 69 61  upported;.}.alia
13dc0 73 20 4c 4f 43 41 4c 45 53 49 47 4e 41 54 55 52  s LOCALESIGNATUR
13dd0 45 2a 50 4c 4f 43 41 4c 45 53 49 47 4e 41 54 55  E*PLOCALESIGNATU
13de0 52 45 2c 20 4c 50 4c 4f 43 41 4c 45 53 49 47 4e  RE, LPLOCALESIGN
13df0 41 54 55 52 45 3b 0a 0a 61 6c 69 61 73 20 4c 4f  ATURE;..alias LO
13e00 4e 47 20 4c 43 53 54 59 50 45 3b 20 2f 2a 20 57  NG LCSTYPE; /* W
13e10 68 61 74 20 74 68 69 73 20 66 6f 72 3f 20 2a 2f  hat this for? */
13e20 0a 0a 61 6c 69 67 6e 20 28 34 29 20 3a 0a 73 74  ..align (4) :.st
13e30 72 75 63 74 20 4e 45 57 54 45 58 54 4d 45 54 52  ruct NEWTEXTMETR
13e40 49 43 41 0a 7b 0a 20 20 20 20 4c 4f 4e 47 20 74  ICA.{.    LONG t
13e50 6d 48 65 69 67 68 74 3b 0a 20 20 20 20 4c 4f 4e  mHeight;.    LON
13e60 47 20 74 6d 41 73 63 65 6e 74 3b 0a 20 20 20 20  G tmAscent;.    
13e70 4c 4f 4e 47 20 74 6d 44 65 73 63 65 6e 74 3b 0a  LONG tmDescent;.
13e80 20 20 20 20 4c 4f 4e 47 20 74 6d 49 6e 74 65 72      LONG tmInter
13e90 6e 61 6c 4c 65 61 64 69 6e 67 3b 0a 20 20 20 20  nalLeading;.    
13ea0 4c 4f 4e 47 20 74 6d 45 78 74 65 72 6e 61 6c 4c  LONG tmExternalL
13eb0 65 61 64 69 6e 67 3b 0a 20 20 20 20 4c 4f 4e 47  eading;.    LONG
13ec0 20 74 6d 41 76 65 43 68 61 72 57 69 64 74 68 3b   tmAveCharWidth;
13ed0 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 4d 61 78 43  .    LONG tmMaxC
13ee0 68 61 72 57 69 64 74 68 3b 0a 20 20 20 20 4c 4f  harWidth;.    LO
13ef0 4e 47 20 74 6d 57 65 69 67 68 74 3b 0a 20 20 20  NG tmWeight;.   
13f00 20 4c 4f 4e 47 20 74 6d 4f 76 65 72 68 61 6e 67   LONG tmOverhang
13f10 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 44 69 67  ;.    LONG tmDig
13f20 69 74 69 7a 65 64 41 73 70 65 63 74 58 3b 0a 20  itizedAspectX;. 
13f30 20 20 20 4c 4f 4e 47 20 74 6d 44 69 67 69 74 69     LONG tmDigiti
13f40 7a 65 64 41 73 70 65 63 74 59 3b 0a 20 20 20 20  zedAspectY;.    
13f50 42 59 54 45 20 74 6d 46 69 72 73 74 43 68 61 72  BYTE tmFirstChar
13f60 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 4c 61 73  ;.    BYTE tmLas
13f70 74 43 68 61 72 3b 0a 20 20 20 20 42 59 54 45 20  tChar;.    BYTE 
13f80 74 6d 44 65 66 61 75 6c 74 43 68 61 72 3b 0a 20  tmDefaultChar;. 
13f90 20 20 20 42 59 54 45 20 74 6d 42 72 65 61 6b 43     BYTE tmBreakC
13fa0 68 61 72 3b 0a 20 20 20 20 42 59 54 45 20 74 6d  har;.    BYTE tm
13fb0 49 74 61 6c 69 63 3b 0a 20 20 20 20 42 59 54 45  Italic;.    BYTE
13fc0 20 74 6d 55 6e 64 65 72 6c 69 6e 65 64 3b 0a 20   tmUnderlined;. 
13fd0 20 20 20 42 59 54 45 20 74 6d 53 74 72 75 63 6b     BYTE tmStruck
13fe0 4f 75 74 3b 0a 20 20 20 20 42 59 54 45 20 74 6d  Out;.    BYTE tm
13ff0 50 69 74 63 68 41 6e 64 46 61 6d 69 6c 79 3b 0a  PitchAndFamily;.
14000 20 20 20 20 42 59 54 45 20 74 6d 43 68 61 72 53      BYTE tmCharS
14010 65 74 3b 0a 20 20 20 20 44 57 4f 52 44 20 6e 74  et;.    DWORD nt
14020 6d 46 6c 61 67 73 3b 0a 20 20 20 20 55 49 4e 54  mFlags;.    UINT
14030 20 6e 74 6d 53 69 7a 65 45 4d 3b 0a 20 20 20 20   ntmSizeEM;.    
14040 55 49 4e 54 20 6e 74 6d 43 65 6c 6c 48 65 69 67  UINT ntmCellHeig
14050 68 74 3b 0a 20 20 20 20 55 49 4e 54 20 6e 74 6d  ht;.    UINT ntm
14060 41 76 67 57 69 64 74 68 3b 0a 7d 0a 61 6c 69 61  AvgWidth;.}.alia
14070 73 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43 41  s NEWTEXTMETRICA
14080 2a 50 4e 45 57 54 45 58 54 4d 45 54 52 49 43 41  *PNEWTEXTMETRICA
14090 2c 20 4e 50 4e 45 57 54 45 58 54 4d 45 54 52 49  , NPNEWTEXTMETRI
140a0 43 41 2c 20 4c 50 4e 45 57 54 45 58 54 4d 45 54  CA, LPNEWTEXTMET
140b0 52 49 43 41 3b 0a 0a 73 74 72 75 63 74 20 4e 45  RICA;..struct NE
140c0 57 54 45 58 54 4d 45 54 52 49 43 57 0a 7b 0a 20  WTEXTMETRICW.{. 
140d0 20 20 20 4c 4f 4e 47 20 74 6d 48 65 69 67 68 74     LONG tmHeight
140e0 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 41 73 63  ;.    LONG tmAsc
140f0 65 6e 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d  ent;.    LONG tm
14100 44 65 73 63 65 6e 74 3b 0a 20 20 20 20 4c 4f 4e  Descent;.    LON
14110 47 20 74 6d 49 6e 74 65 72 6e 61 6c 4c 65 61 64  G tmInternalLead
14120 69 6e 67 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d  ing;.    LONG tm
14130 45 78 74 65 72 6e 61 6c 4c 65 61 64 69 6e 67 3b  ExternalLeading;
14140 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 41 76 65 43  .    LONG tmAveC
14150 68 61 72 57 69 64 74 68 3b 0a 20 20 20 20 4c 4f  harWidth;.    LO
14160 4e 47 20 74 6d 4d 61 78 43 68 61 72 57 69 64 74  NG tmMaxCharWidt
14170 68 3b 0a 20 20 20 20 4c 4f 4e 47 20 74 6d 57 65  h;.    LONG tmWe
14180 69 67 68 74 3b 0a 20 20 20 20 4c 4f 4e 47 20 74  ight;.    LONG t
14190 6d 4f 76 65 72 68 61 6e 67 3b 0a 20 20 20 20 4c  mOverhang;.    L
141a0 4f 4e 47 20 74 6d 44 69 67 69 74 69 7a 65 64 41  ONG tmDigitizedA
141b0 73 70 65 63 74 58 3b 0a 20 20 20 20 4c 4f 4e 47  spectX;.    LONG
141c0 20 74 6d 44 69 67 69 74 69 7a 65 64 41 73 70 65   tmDigitizedAspe
141d0 63 74 59 3b 0a 20 20 20 20 57 43 48 41 52 20 74  ctY;.    WCHAR t
141e0 6d 46 69 72 73 74 43 68 61 72 3b 0a 20 20 20 20  mFirstChar;.    
141f0 57 43 48 41 52 20 74 6d 4c 61 73 74 43 68 61 72  WCHAR tmLastChar
14200 3b 0a 20 20 20 20 57 43 48 41 52 20 74 6d 44 65  ;.    WCHAR tmDe
14210 66 61 75 6c 74 43 68 61 72 3b 0a 20 20 20 20 57  faultChar;.    W
14220 43 48 41 52 20 74 6d 42 72 65 61 6b 43 68 61 72  CHAR tmBreakChar
14230 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 49 74 61  ;.    BYTE tmIta
14240 6c 69 63 3b 0a 20 20 20 20 42 59 54 45 20 74 6d  lic;.    BYTE tm
14250 55 6e 64 65 72 6c 69 6e 65 64 3b 0a 20 20 20 20  Underlined;.    
14260 42 59 54 45 20 74 6d 53 74 72 75 63 6b 4f 75 74  BYTE tmStruckOut
14270 3b 0a 20 20 20 20 42 59 54 45 20 74 6d 50 69 74  ;.    BYTE tmPit
14280 63 68 41 6e 64 46 61 6d 69 6c 79 3b 0a 20 20 20  chAndFamily;.   
14290 20 42 59 54 45 20 74 6d 43 68 61 72 53 65 74 3b   BYTE tmCharSet;
142a0 0a 20 20 20 20 44 57 4f 52 44 20 6e 74 6d 46 6c  .    DWORD ntmFl
142b0 61 67 73 3b 0a 20 20 20 20 55 49 4e 54 20 6e 74  ags;.    UINT nt
142c0 6d 53 69 7a 65 45 4d 3b 0a 20 20 20 20 55 49 4e  mSizeEM;.    UIN
142d0 54 20 6e 74 6d 43 65 6c 6c 48 65 69 67 68 74 3b  T ntmCellHeight;
142e0 0a 20 20 20 20 55 49 4e 54 20 6e 74 6d 41 76 67  .    UINT ntmAvg
142f0 57 69 64 74 68 3b 0a 7d 0a 61 6c 69 61 73 20 4e  Width;.}.alias N
14300 45 57 54 45 58 54 4d 45 54 52 49 43 57 2a 50 4e  EWTEXTMETRICW*PN
14310 45 57 54 45 58 54 4d 45 54 52 49 43 57 2c 20 4e  EWTEXTMETRICW, N
14320 50 4e 45 57 54 45 58 54 4d 45 54 52 49 43 57 2c  PNEWTEXTMETRICW,
14330 20 4c 50 4e 45 57 54 45 58 54 4d 45 54 52 49 43   LPNEWTEXTMETRIC
14340 57 3b 0a 0a 61 6c 69 67 6e 20 3a 0a 73 74 72 75  W;..align :.stru
14350 63 74 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43  ct NEWTEXTMETRIC
14360 45 58 41 0a 7b 0a 20 20 20 20 4e 45 57 54 45 58  EXA.{.    NEWTEX
14370 54 4d 45 54 52 49 43 41 20 6e 74 6d 54 6d 3b 0a  TMETRICA ntmTm;.
14380 20 20 20 20 46 4f 4e 54 53 49 47 4e 41 54 55 52      FONTSIGNATUR
14390 45 20 6e 74 6d 46 6f 6e 74 53 69 67 3b 0a 7d 0a  E ntmFontSig;.}.
143a0 0a 73 74 72 75 63 74 20 4e 45 57 54 45 58 54 4d  .struct NEWTEXTM
143b0 45 54 52 49 43 45 58 57 0a 7b 0a 20 20 20 20 4e  ETRICEXW.{.    N
143c0 45 57 54 45 58 54 4d 45 54 52 49 43 57 20 6e 74  EWTEXTMETRICW nt
143d0 6d 54 6d 3b 0a 20 20 20 20 46 4f 4e 54 53 49 47  mTm;.    FONTSIG
143e0 4e 41 54 55 52 45 20 6e 74 6d 46 6f 6e 74 53 69  NATURE ntmFontSi
143f0 67 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 50 45 4c  g;.}..struct PEL
14400 41 52 52 41 59 0a 7b 0a 20 20 20 20 4c 4f 4e 47  ARRAY.{.    LONG
14410 20 70 61 58 43 6f 75 6e 74 3b 0a 20 20 20 20 4c   paXCount;.    L
14420 4f 4e 47 20 70 61 59 43 6f 75 6e 74 3b 0a 20 20  ONG paYCount;.  
14430 20 20 4c 4f 4e 47 20 70 61 58 45 78 74 3b 0a 20    LONG paXExt;. 
14440 20 20 20 4c 4f 4e 47 20 70 61 59 45 78 74 3b 0a     LONG paYExt;.
14450 20 20 20 20 42 59 54 45 20 70 61 52 47 42 73 3b      BYTE paRGBs;
14460 0a 7d 0a 61 6c 69 61 73 20 50 45 4c 41 52 52 41  .}.alias PELARRA
14470 59 2a 50 50 45 4c 41 52 52 41 59 2c 20 4e 50 50  Y*PPELARRAY, NPP
14480 45 4c 41 52 52 41 59 2c 20 4c 50 50 45 4c 41 52  ELARRAY, LPPELAR
14490 52 41 59 3b 0a 0a 73 74 72 75 63 74 20 45 4e 55  RAY;..struct ENU
144a0 4d 4c 4f 47 46 4f 4e 54 41 0a 7b 0a 20 20 20 20  MLOGFONTA.{.    
144b0 4c 4f 47 46 4f 4e 54 41 20 65 6c 66 4c 6f 67 46  LOGFONTA elfLogF
144c0 6f 6e 74 3b 0a 20 20 20 20 42 59 54 45 5b 4c 46  ont;.    BYTE[LF
144d0 5f 46 55 4c 4c 46 41 43 45 53 49 5a 45 5d 20 65  _FULLFACESIZE] e
144e0 6c 66 46 75 6c 6c 4e 61 6d 65 3b 0a 20 20 20 20  lfFullName;.    
144f0 42 59 54 45 5b 4c 46 5f 46 41 43 45 53 49 5a 45  BYTE[LF_FACESIZE
14500 5d 20 65 6c 66 53 74 79 6c 65 3b 0a 7d 0a 61 6c  ] elfStyle;.}.al
14510 69 61 73 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 41  ias ENUMLOGFONTA
14520 2a 4c 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 41 3b  *LPENUMLOGFONTA;
14530 0a 0a 73 74 72 75 63 74 20 45 4e 55 4d 4c 4f 47  ..struct ENUMLOG
14540 46 4f 4e 54 57 0a 7b 0a 20 20 20 20 4c 4f 47 46  FONTW.{.    LOGF
14550 4f 4e 54 57 20 65 6c 66 4c 6f 67 46 6f 6e 74 3b  ONTW elfLogFont;
14560 0a 20 20 20 20 57 43 48 41 52 5b 4c 46 5f 46 55  .    WCHAR[LF_FU
14570 4c 4c 46 41 43 45 53 49 5a 45 5d 20 65 6c 66 46  LLFACESIZE] elfF
14580 75 6c 6c 4e 61 6d 65 3b 0a 20 20 20 20 57 43 48  ullName;.    WCH
14590 41 52 5b 4c 46 5f 46 41 43 45 53 49 5a 45 5d 20  AR[LF_FACESIZE] 
145a0 65 6c 66 53 74 79 6c 65 3b 0a 7d 0a 61 6c 69 61  elfStyle;.}.alia
145b0 73 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 57 2a 4c  s ENUMLOGFONTW*L
145c0 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 57 3b 0a 0a  PENUMLOGFONTW;..
145d0 73 74 72 75 63 74 20 45 4e 55 4d 4c 4f 47 46 4f  struct ENUMLOGFO
145e0 4e 54 45 58 41 0a 7b 0a 20 20 20 20 4c 4f 47 46  NTEXA.{.    LOGF
145f0 4f 4e 54 41 20 65 6c 66 4c 6f 67 46 6f 6e 74 3b  ONTA elfLogFont;
14600 0a 20 20 20 20 42 59 54 45 5b 4c 46 5f 46 55 4c  .    BYTE[LF_FUL
14610 4c 46 41 43 45 53 49 5a 45 5d 20 65 6c 66 46 75  LFACESIZE] elfFu
14620 6c 6c 4e 61 6d 65 3b 0a 20 20 20 20 42 59 54 45  llName;.    BYTE
14630 5b 4c 46 5f 46 41 43 45 53 49 5a 45 5d 20 65 6c  [LF_FACESIZE] el
14640 66 53 74 79 6c 65 3b 0a 20 20 20 20 42 59 54 45  fStyle;.    BYTE
14650 5b 4c 46 5f 46 41 43 45 53 49 5a 45 5d 20 65 6c  [LF_FACESIZE] el
14660 66 53 63 72 69 70 74 3b 0a 7d 0a 61 6c 69 61 73  fScript;.}.alias
14670 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 41 2a   ENUMLOGFONTEXA*
14680 4c 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 41  LPENUMLOGFONTEXA
14690 3b 0a 0a 73 74 72 75 63 74 20 45 4e 55 4d 4c 4f  ;..struct ENUMLO
146a0 47 46 4f 4e 54 45 58 57 0a 7b 0a 20 20 20 20 4c  GFONTEXW.{.    L
146b0 4f 47 46 4f 4e 54 57 20 65 6c 66 4c 6f 67 46 6f  OGFONTW elfLogFo
146c0 6e 74 3b 0a 20 20 20 20 57 43 48 41 52 5b 4c 46  nt;.    WCHAR[LF
146d0 5f 46 55 4c 4c 46 41 43 45 53 49 5a 45 5d 20 65  _FULLFACESIZE] e
146e0 6c 66 46 75 6c 6c 4e 61 6d 65 3b 0a 20 20 20 20  lfFullName;.    
146f0 57 43 48 41 52 5b 4c 46 5f 46 41 43 45 53 49 5a  WCHAR[LF_FACESIZ
14700 45 5d 20 65 6c 66 53 74 79 6c 65 3b 0a 20 20 20  E] elfStyle;.   
14710 20 57 43 48 41 52 5b 4c 46 5f 46 41 43 45 53 49   WCHAR[LF_FACESI
14720 5a 45 5d 20 65 6c 66 53 63 72 69 70 74 3b 0a 7d  ZE] elfScript;.}
14730 0a 61 6c 69 61 73 20 45 4e 55 4d 4c 4f 47 46 4f  .alias ENUMLOGFO
14740 4e 54 45 58 57 2a 4c 50 45 4e 55 4d 4c 4f 47 46  NTEXW*LPENUMLOGF
14750 4f 4e 54 45 58 57 3b 0a 0a 73 74 72 75 63 74 20  ONTEXW;..struct 
14760 50 4f 49 4e 54 46 58 0a 7b 0a 20 20 20 20 46 49  POINTFX.{.    FI
14770 58 45 44 20 78 3b 0a 20 20 20 20 46 49 58 45 44  XED x;.    FIXED
14780 20 79 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 49 4e   y;.}.alias POIN
14790 54 46 58 2a 4c 50 50 4f 49 4e 54 46 58 3b 0a 0a  TFX*LPPOINTFX;..
147a0 73 74 72 75 63 74 20 54 54 50 4f 4c 59 43 55 52  struct TTPOLYCUR
147b0 56 45 0a 7b 0a 20 20 20 20 57 4f 52 44 20 77 54  VE.{.    WORD wT
147c0 79 70 65 3b 0a 20 20 20 20 57 4f 52 44 20 63 70  ype;.    WORD cp
147d0 66 78 3b 0a 20 20 20 20 50 4f 49 4e 54 46 58 5b  fx;.    POINTFX[
147e0 31 5d 20 61 70 66 78 3b 0a 7d 0a 61 6c 69 61 73  1] apfx;.}.alias
147f0 20 54 54 50 4f 4c 59 43 55 52 56 45 2a 4c 50 54   TTPOLYCURVE*LPT
14800 54 50 4f 4c 59 43 55 52 56 45 3b 0a 0a 73 74 72  TPOLYCURVE;..str
14810 75 63 74 20 54 54 50 4f 4c 59 47 4f 4e 48 45 41  uct TTPOLYGONHEA
14820 44 45 52 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20  DER.{.    DWORD 
14830 63 62 3b 0a 20 20 20 20 44 57 4f 52 44 20 64 77  cb;.    DWORD dw
14840 54 79 70 65 3b 0a 20 20 20 20 50 4f 49 4e 54 46  Type;.    POINTF
14850 58 20 70 66 78 53 74 61 72 74 3b 0a 7d 0a 61 6c  X pfxStart;.}.al
14860 69 61 73 20 54 54 50 4f 4c 59 47 4f 4e 48 45 41  ias TTPOLYGONHEA
14870 44 45 52 2a 4c 50 54 54 50 4f 4c 59 47 4f 4e 48  DER*LPTTPOLYGONH
14880 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 74 20 50  EADER;..struct P
14890 4f 49 4e 54 46 4c 4f 41 54 0a 7b 0a 20 20 20 20  OINTFLOAT.{.    
148a0 46 4c 4f 41 54 20 78 3b 0a 20 20 20 20 46 4c 4f  FLOAT x;.    FLO
148b0 41 54 20 79 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f  AT y;.}.alias PO
148c0 49 4e 54 46 4c 4f 41 54 2a 50 50 4f 49 4e 54 46  INTFLOAT*PPOINTF
148d0 4c 4f 41 54 3b 0a 0a 73 74 72 75 63 74 20 47 4c  LOAT;..struct GL
148e0 59 50 48 4d 45 54 52 49 43 53 46 4c 4f 41 54 0a  YPHMETRICSFLOAT.
148f0 7b 0a 20 20 20 20 46 4c 4f 41 54 20 67 6d 66 42  {.    FLOAT gmfB
14900 6c 61 63 6b 42 6f 78 58 3b 0a 20 20 20 20 46 4c  lackBoxX;.    FL
14910 4f 41 54 20 67 6d 66 42 6c 61 63 6b 42 6f 78 59  OAT gmfBlackBoxY
14920 3b 0a 20 20 20 20 50 4f 49 4e 54 46 4c 4f 41 54  ;.    POINTFLOAT
14930 20 67 6d 66 70 74 47 6c 79 70 68 4f 72 69 67 69   gmfptGlyphOrigi
14940 6e 3b 0a 20 20 20 20 46 4c 4f 41 54 20 67 6d 66  n;.    FLOAT gmf
14950 43 65 6c 6c 49 6e 63 58 3b 0a 20 20 20 20 46 4c  CellIncX;.    FL
14960 4f 41 54 20 67 6d 66 43 65 6c 6c 49 6e 63 59 3b  OAT gmfCellIncY;
14970 0a 7d 0a 61 6c 69 61 73 20 47 4c 59 50 48 4d 45  .}.alias GLYPHME
14980 54 52 49 43 53 46 4c 4f 41 54 2a 50 47 4c 59 50  TRICSFLOAT*PGLYP
14990 48 4d 45 54 52 49 43 53 46 4c 4f 41 54 2c 20 4c  HMETRICSFLOAT, L
149a0 50 47 4c 59 50 48 4d 45 54 52 49 43 53 46 4c 4f  PGLYPHMETRICSFLO
149b0 41 54 3b 0a 0a 73 74 72 75 63 74 20 4c 41 59 45  AT;..struct LAYE
149c0 52 50 4c 41 4e 45 44 45 53 43 52 49 50 54 4f 52  RPLANEDESCRIPTOR
149d0 0a 7b 0a 20 20 20 20 57 4f 52 44 20 6e 53 69 7a  .{.    WORD nSiz
149e0 65 3b 0a 20 20 20 20 57 4f 52 44 20 6e 56 65 72  e;.    WORD nVer
149f0 73 69 6f 6e 3b 0a 20 20 20 20 44 57 4f 52 44 20  sion;.    DWORD 
14a00 64 77 46 6c 61 67 73 3b 0a 20 20 20 20 42 59 54  dwFlags;.    BYT
14a10 45 20 69 50 69 78 65 6c 54 79 70 65 3b 0a 20 20  E iPixelType;.  
14a20 20 20 42 59 54 45 20 63 43 6f 6c 6f 72 42 69 74    BYTE cColorBit
14a30 73 3b 0a 20 20 20 20 42 59 54 45 20 63 52 65 64  s;.    BYTE cRed
14a40 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45 20 63  Bits;.    BYTE c
14a50 52 65 64 53 68 69 66 74 3b 0a 20 20 20 20 42 59  RedShift;.    BY
14a60 54 45 20 63 47 72 65 65 6e 42 69 74 73 3b 0a 20  TE cGreenBits;. 
14a70 20 20 20 42 59 54 45 20 63 47 72 65 65 6e 53 68     BYTE cGreenSh
14a80 69 66 74 3b 0a 20 20 20 20 42 59 54 45 20 63 42  ift;.    BYTE cB
14a90 6c 75 65 42 69 74 73 3b 0a 20 20 20 20 42 59 54  lueBits;.    BYT
14aa0 45 20 63 42 6c 75 65 53 68 69 66 74 3b 0a 20 20  E cBlueShift;.  
14ab0 20 20 42 59 54 45 20 63 41 6c 70 68 61 42 69 74    BYTE cAlphaBit
14ac0 73 3b 0a 20 20 20 20 42 59 54 45 20 63 41 6c 70  s;.    BYTE cAlp
14ad0 68 61 53 68 69 66 74 3b 0a 20 20 20 20 42 59 54  haShift;.    BYT
14ae0 45 20 63 41 63 63 75 6d 42 69 74 73 3b 0a 20 20  E cAccumBits;.  
14af0 20 20 42 59 54 45 20 63 41 63 63 75 6d 52 65 64    BYTE cAccumRed
14b00 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45 20 63  Bits;.    BYTE c
14b10 41 63 63 75 6d 47 72 65 65 6e 42 69 74 73 3b 0a  AccumGreenBits;.
14b20 20 20 20 20 42 59 54 45 20 63 41 63 63 75 6d 42      BYTE cAccumB
14b30 6c 75 65 42 69 74 73 3b 0a 20 20 20 20 42 59 54  lueBits;.    BYT
14b40 45 20 63 41 63 63 75 6d 41 6c 70 68 61 42 69 74  E cAccumAlphaBit
14b50 73 3b 0a 20 20 20 20 42 59 54 45 20 63 44 65 70  s;.    BYTE cDep
14b60 74 68 42 69 74 73 3b 0a 20 20 20 20 42 59 54 45  thBits;.    BYTE
14b70 20 63 53 74 65 6e 63 69 6c 42 69 74 73 3b 0a 20   cStencilBits;. 
14b80 20 20 20 42 59 54 45 20 63 41 75 78 42 75 66 66     BYTE cAuxBuff
14b90 65 72 73 3b 0a 20 20 20 20 42 59 54 45 20 69 4c  ers;.    BYTE iL
14ba0 61 79 65 72 50 6c 61 6e 65 3b 0a 20 20 20 20 42  ayerPlane;.    B
14bb0 59 54 45 20 62 52 65 73 65 72 76 65 64 3b 0a 20  YTE bReserved;. 
14bc0 20 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 54 72     COLORREF crTr
14bd0 61 6e 73 70 61 72 65 6e 74 3b 0a 7d 0a 61 6c 69  ansparent;.}.ali
14be0 61 73 20 4c 41 59 45 52 50 4c 41 4e 45 44 45 53  as LAYERPLANEDES
14bf0 43 52 49 50 54 4f 52 2a 50 4c 41 59 45 52 50 4c  CRIPTOR*PLAYERPL
14c00 41 4e 45 44 45 53 43 52 49 50 54 4f 52 2c 20 4c  ANEDESCRIPTOR, L
14c10 50 4c 41 59 45 52 50 4c 41 4e 45 44 45 53 43 52  PLAYERPLANEDESCR
14c20 49 50 54 4f 52 3b 0a 0a 73 74 72 75 63 74 20 42  IPTOR;..struct B
14c30 4c 45 4e 44 46 55 4e 43 54 49 4f 4e 0a 7b 0a 20  LENDFUNCTION.{. 
14c40 20 20 20 42 59 54 45 20 42 6c 65 6e 64 4f 70 3b     BYTE BlendOp;
14c50 0a 20 20 20 20 42 59 54 45 20 42 6c 65 6e 64 46  .    BYTE BlendF
14c60 6c 61 67 73 3b 0a 20 20 20 20 42 59 54 45 20 53  lags;.    BYTE S
14c70 6f 75 72 63 65 43 6f 6e 73 74 61 6e 74 41 6c 70  ourceConstantAlp
14c80 68 61 3b 0a 20 20 20 20 42 59 54 45 20 41 6c 70  ha;.    BYTE Alp
14c90 68 61 46 6f 72 6d 61 74 3b 0a 7d 0a 61 6c 69 61  haFormat;.}.alia
14ca0 73 20 42 4c 45 4e 44 46 55 4e 43 54 49 4f 4e 2a  s BLENDFUNCTION*
14cb0 50 42 4c 45 4e 44 46 55 4e 43 54 49 4f 4e 2c 20  PBLENDFUNCTION, 
14cc0 4c 50 42 4c 45 4e 44 46 55 4e 43 54 49 4f 4e 3b  LPBLENDFUNCTION;
14cd0 0a 0a 63 6f 6e 73 74 20 4d 4d 5f 4d 41 58 5f 4e  ..const MM_MAX_N
14ce0 55 4d 41 58 45 53 20 3d 20 31 36 3b 0a 0a 73 74  UMAXES = 16;..st
14cf0 72 75 63 74 20 44 45 53 49 47 4e 56 45 43 54 4f  ruct DESIGNVECTO
14d00 52 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20 64 76  R.{.    DWORD dv
14d10 52 65 73 65 72 76 65 64 3b 0a 20 20 20 20 44 57  Reserved;.    DW
14d20 4f 52 44 20 64 76 4e 75 6d 41 78 65 73 3b 0a 20  ORD dvNumAxes;. 
14d30 20 20 20 4c 4f 4e 47 5b 4d 4d 5f 4d 41 58 5f 4e     LONG[MM_MAX_N
14d40 55 4d 41 58 45 53 5d 20 64 76 56 61 6c 75 65 73  UMAXES] dvValues
14d50 3b 0a 7d 0a 61 6c 69 61 73 20 44 45 53 49 47 4e  ;.}.alias DESIGN
14d60 56 45 43 54 4f 52 2a 50 44 45 53 49 47 4e 56 45  VECTOR*PDESIGNVE
14d70 43 54 4f 52 2c 20 4c 50 44 45 53 49 47 4e 56 45  CTOR, LPDESIGNVE
14d80 43 54 4f 52 3b 0a 63 6f 6e 73 74 20 53 54 41 4d  CTOR;.const STAM
14d90 50 5f 44 45 53 49 47 4e 56 45 43 54 4f 52 20 3d  P_DESIGNVECTOR =
14da0 20 30 78 38 30 30 30 30 30 30 20 2b 20 27 64 27   0x8000000 + 'd'
14db0 20 2b 20 28 27 76 27 20 3c 3c 20 38 29 3b 0a 63   + ('v' << 8);.c
14dc0 6f 6e 73 74 20 53 54 41 4d 50 5f 41 58 45 53 4c  onst STAMP_AXESL
14dd0 49 53 54 20 20 20 20 20 3d 20 30 78 38 30 30 30  IST     = 0x8000
14de0 30 30 30 20 2b 20 27 61 27 20 2b 20 28 27 6c 27  000 + 'a' + ('l'
14df0 20 3c 3c 20 38 29 3b 0a 0a 73 74 61 74 69 63 0a   << 8);..static.
14e00 0a 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  .if (_WIN32_WINN
14e10 54 20 3e 3d 20 30 78 30 35 30 30 29 0a 7b 0a 20  T >= 0x0500).{. 
14e20 20 20 20 63 6f 6e 73 74 20 4d 4d 5f 4d 41 58 5f     const MM_MAX_
14e30 41 58 45 53 5f 4e 41 4d 45 4c 45 4e 20 3d 20 31  AXES_NAMELEN = 1
14e40 36 3b 0a 0a 20 20 20 20 73 74 72 75 63 74 20 41  6;..    struct A
14e50 58 49 53 49 4e 46 4f 41 0a 20 20 20 20 7b 0a 20  XISINFOA.    {. 
14e60 20 20 20 20 20 20 20 4c 4f 4e 47 20 61 78 4d 69         LONG axMi
14e70 6e 56 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20  nValue;.        
14e80 4c 4f 4e 47 20 61 78 4d 61 78 56 61 6c 75 65 3b  LONG axMaxValue;
14e90 0a 20 20 20 20 20 20 20 20 42 59 54 45 5b 4d 4d  .        BYTE[MM
14ea0 5f 4d 41 58 5f 41 58 45 53 5f 4e 41 4d 45 4c 45  _MAX_AXES_NAMELE
14eb0 4e 5d 20 61 78 41 78 69 73 4e 61 6d 65 3b 0a 20  N] axAxisName;. 
14ec0 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20 41     }.    alias A
14ed0 58 49 53 49 4e 46 4f 41 2a 50 41 58 49 53 49 4e  XISINFOA*PAXISIN
14ee0 46 4f 41 2c 20 4c 50 41 58 49 53 49 4e 46 4f 41  FOA, LPAXISINFOA
14ef0 3b 0a 0a 20 20 20 20 73 74 72 75 63 74 20 41 58  ;..    struct AX
14f00 49 53 49 4e 46 4f 57 0a 20 20 20 20 7b 0a 20 20  ISINFOW.    {.  
14f10 20 20 20 20 20 20 4c 4f 4e 47 20 61 78 4d 69 6e        LONG axMin
14f20 56 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 4c  Value;.        L
14f30 4f 4e 47 20 61 78 4d 61 78 56 61 6c 75 65 3b 0a  ONG axMaxValue;.
14f40 20 20 20 20 20 20 20 20 57 43 48 41 52 5b 4d 4d          WCHAR[MM
14f50 5f 4d 41 58 5f 41 58 45 53 5f 4e 41 4d 45 4c 45  _MAX_AXES_NAMELE
14f60 4e 5d 20 61 78 41 78 69 73 4e 61 6d 65 3b 0a 20  N] axAxisName;. 
14f70 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20 41     }.    alias A
14f80 58 49 53 49 4e 46 4f 57 2a 50 41 58 49 53 49 4e  XISINFOW*PAXISIN
14f90 46 4f 57 2c 20 4c 50 41 58 49 53 49 4e 46 4f 57  FOW, LPAXISINFOW
14fa0 3b 0a 0a 20 20 20 20 76 65 72 73 69 6f 6e 20 28  ;..    version (
14fb0 55 6e 69 63 6f 64 65 29 0a 20 20 20 20 7b 0a 20  Unicode).    {. 
14fc0 20 20 20 20 20 20 20 61 6c 69 61 73 20 41 58 49         alias AXI
14fd0 53 49 4e 46 4f 57 20 20 20 41 58 49 53 49 4e 46  SINFOW   AXISINF
14fe0 4f 3b 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73  O;.        alias
14ff0 20 50 41 58 49 53 49 4e 46 4f 57 20 20 50 41 58   PAXISINFOW  PAX
15000 49 53 49 4e 46 4f 3b 0a 20 20 20 20 20 20 20 20  ISINFO;.        
15010 61 6c 69 61 73 20 4c 50 41 58 49 53 49 4e 46 4f  alias LPAXISINFO
15020 57 20 4c 50 41 58 49 53 49 4e 46 4f 3b 0a 20 20  W LPAXISINFO;.  
15030 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20    }.    else.   
15040 20 7b 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73   {.        alias
15050 20 41 58 49 53 49 4e 46 4f 41 20 20 20 41 58 49   AXISINFOA   AXI
15060 53 49 4e 46 4f 3b 0a 20 20 20 20 20 20 20 20 61  SINFO;.        a
15070 6c 69 61 73 20 50 41 58 49 53 49 4e 46 4f 41 20  lias PAXISINFOA 
15080 20 50 41 58 49 53 49 4e 46 4f 3b 0a 20 20 20 20   PAXISINFO;.    
15090 20 20 20 20 61 6c 69 61 73 20 4c 50 41 58 49 53      alias LPAXIS
150a0 49 4e 46 4f 41 20 4c 50 41 58 49 53 49 4e 46 4f  INFOA LPAXISINFO
150b0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 72  ;.    }..    str
150c0 75 63 74 20 41 58 45 53 4c 49 53 54 41 0a 20 20  uct AXESLISTA.  
150d0 20 20 7b 0a 20 20 20 20 20 20 20 20 44 57 4f 52    {.        DWOR
150e0 44 20 61 78 6c 52 65 73 65 72 76 65 64 3b 0a 20  D axlReserved;. 
150f0 20 20 20 20 20 20 20 44 57 4f 52 44 20 61 78 6c         DWORD axl
15100 4e 75 6d 41 78 65 73 3b 0a 20 20 20 20 20 20 20  NumAxes;.       
15110 20 41 58 49 53 49 4e 46 4f 41 5b 4d 4d 5f 4d 41   AXISINFOA[MM_MA
15120 58 5f 4e 55 4d 41 58 45 53 5d 20 61 78 6c 41 78  X_NUMAXES] axlAx
15130 69 73 49 6e 66 6f 3b 0a 20 20 20 20 7d 0a 20 20  isInfo;.    }.  
15140 20 20 61 6c 69 61 73 20 41 58 45 53 4c 49 53 54    alias AXESLIST
15150 41 2a 50 41 58 45 53 4c 49 53 54 41 2c 20 4c 50  A*PAXESLISTA, LP
15160 41 58 45 53 4c 49 53 54 41 3b 0a 0a 20 20 20 20  AXESLISTA;..    
15170 73 74 72 75 63 74 20 41 58 45 53 4c 49 53 54 57  struct AXESLISTW
15180 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 44  .    {.        D
15190 57 4f 52 44 20 61 78 6c 52 65 73 65 72 76 65 64  WORD axlReserved
151a0 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ;.        DWORD 
151b0 61 78 6c 4e 75 6d 41 78 65 73 3b 0a 20 20 20 20  axlNumAxes;.    
151c0 20 20 20 20 41 58 49 53 49 4e 46 4f 57 5b 4d 4d      AXISINFOW[MM
151d0 5f 4d 41 58 5f 4e 55 4d 41 58 45 53 5d 20 61 78  _MAX_NUMAXES] ax
151e0 6c 41 78 69 73 49 6e 66 6f 3b 0a 20 20 20 20 7d  lAxisInfo;.    }
151f0 0a 20 20 20 20 61 6c 69 61 73 20 41 58 45 53 4c  .    alias AXESL
15200 49 53 54 57 2a 50 41 58 45 53 4c 49 53 54 57 2c  ISTW*PAXESLISTW,
15210 20 4c 50 41 58 45 53 4c 49 53 54 57 3b 0a 0a 20   LPAXESLISTW;.. 
15220 20 20 20 76 65 72 73 69 6f 6e 20 28 55 6e 69 63     version (Unic
15230 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20  ode).    {.     
15240 20 20 20 61 6c 69 61 73 20 41 58 45 53 4c 49 53     alias AXESLIS
15250 54 57 20 20 20 41 58 45 53 4c 49 53 54 3b 0a 20  TW   AXESLIST;. 
15260 20 20 20 20 20 20 20 61 6c 69 61 73 20 50 41 58         alias PAX
15270 45 53 4c 49 53 54 57 20 20 50 41 58 45 53 4c 49  ESLISTW  PAXESLI
15280 53 54 3b 0a 20 20 20 20 20 20 20 20 61 6c 69 61  ST;.        alia
15290 73 20 4c 50 41 58 45 53 4c 49 53 54 57 20 4c 50  s LPAXESLISTW LP
152a0 41 58 45 53 4c 49 53 54 3b 0a 20 20 20 20 7d 0a  AXESLIST;.    }.
152b0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20      else.    {. 
152c0 20 20 20 20 20 20 20 61 6c 69 61 73 20 41 58 45         alias AXE
152d0 53 4c 49 53 54 41 20 20 20 41 58 45 53 4c 49 53  SLISTA   AXESLIS
152e0 54 3b 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73  T;.        alias
152f0 20 50 41 58 45 53 4c 49 53 54 41 20 20 50 41 58   PAXESLISTA  PAX
15300 45 53 4c 49 53 54 3b 0a 20 20 20 20 20 20 20 20  ESLIST;.        
15310 61 6c 69 61 73 20 4c 50 41 58 45 53 4c 49 53 54  alias LPAXESLIST
15320 41 20 4c 50 41 58 45 53 4c 49 53 54 3b 0a 20 20  A LPAXESLIST;.  
15330 20 20 7d 0a 0a 20 20 20 20 73 74 72 75 63 74 20    }..    struct 
15340 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 44 56 41  ENUMLOGFONTEXDVA
15350 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 45  .    {.        E
15360 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 41 20 65 6c  NUMLOGFONTEXA el
15370 66 45 6e 75 6d 4c 6f 67 66 6f 6e 74 45 78 3b 0a  fEnumLogfontEx;.
15380 20 20 20 20 20 20 20 20 44 45 53 49 47 4e 56 45          DESIGNVE
15390 43 54 4f 52 20 65 6c 66 44 65 73 69 67 6e 56 65  CTOR elfDesignVe
153a0 63 74 6f 72 3b 0a 20 20 20 20 7d 0a 20 20 20 20  ctor;.    }.    
153b0 61 6c 69 61 73 20 45 4e 55 4d 4c 4f 47 46 4f 4e  alias ENUMLOGFON
153c0 54 45 58 44 56 41 2a 50 45 4e 55 4d 4c 4f 47 46  TEXDVA*PENUMLOGF
153d0 4f 4e 54 45 58 44 56 41 2c 20 4c 50 45 4e 55 4d  ONTEXDVA, LPENUM
153e0 4c 4f 47 46 4f 4e 54 45 58 44 56 41 3b 0a 0a 20  LOGFONTEXDVA;.. 
153f0 20 20 20 73 74 72 75 63 74 20 45 4e 55 4d 4c 4f     struct ENUMLO
15400 47 46 4f 4e 54 45 58 44 56 57 0a 20 20 20 20 7b  GFONTEXDVW.    {
15410 0a 20 20 20 20 20 20 20 20 45 4e 55 4d 4c 4f 47  .        ENUMLOG
15420 46 4f 4e 54 45 58 57 20 65 6c 66 45 6e 75 6d 4c  FONTEXW elfEnumL
15430 6f 67 66 6f 6e 74 45 78 3b 0a 20 20 20 20 20 20  ogfontEx;.      
15440 20 20 44 45 53 49 47 4e 56 45 43 54 4f 52 20 65    DESIGNVECTOR e
15450 6c 66 44 65 73 69 67 6e 56 65 63 74 6f 72 3b 0a  lfDesignVector;.
15460 20 20 20 20 7d 0a 20 20 20 20 61 6c 69 61 73 20      }.    alias 
15470 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 44 56 57  ENUMLOGFONTEXDVW
15480 2a 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 44  *PENUMLOGFONTEXD
15490 56 57 2c 20 4c 50 45 4e 55 4d 4c 4f 47 46 4f 4e  VW, LPENUMLOGFON
154a0 54 45 58 44 56 57 3b 0a 0a 20 20 20 20 48 46 4f  TEXDVW;..    HFO
154b0 4e 54 20 43 72 65 61 74 65 46 6f 6e 74 49 6e 64  NT CreateFontInd
154c0 69 72 65 63 74 45 78 41 28 45 4e 55 4d 4c 4f 47  irectExA(ENUMLOG
154d0 46 4f 4e 54 45 58 44 56 41 2a 29 3b 0a 0a 20 20  FONTEXDVA*);..  
154e0 20 20 48 46 4f 4e 54 20 43 72 65 61 74 65 46 6f    HFONT CreateFo
154f0 6e 74 49 6e 64 69 72 65 63 74 45 78 57 28 45 4e  ntIndirectExW(EN
15500 55 4d 4c 4f 47 46 4f 4e 54 45 58 44 56 57 2a 29  UMLOGFONTEXDVW*)
15510 3b 0a 0a 20 20 20 20 76 65 72 73 69 6f 6e 20 28  ;..    version (
15520 55 6e 69 63 6f 64 65 29 0a 20 20 20 20 20 20 20  Unicode).       
15530 20 61 6c 69 61 73 20 43 72 65 61 74 65 46 6f 6e   alias CreateFon
15540 74 49 6e 64 69 72 65 63 74 45 78 57 20 43 72 65  tIndirectExW Cre
15550 61 74 65 46 6f 6e 74 49 6e 64 69 72 65 63 74 45  ateFontIndirectE
15560 78 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20  x;.    else.    
15570 20 20 20 20 61 6c 69 61 73 20 43 72 65 61 74 65      alias Create
15580 46 6f 6e 74 49 6e 64 69 72 65 63 74 45 78 41 20  FontIndirectExA 
15590 43 72 65 61 74 65 46 6f 6e 74 49 6e 64 69 72 65  CreateFontIndire
155a0 63 74 45 78 3b 0a 0a 20 20 20 20 73 74 72 75 63  ctEx;..    struc
155b0 74 20 45 4e 55 4d 54 45 58 54 4d 45 54 52 49 43  t ENUMTEXTMETRIC
155c0 41 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20  A.    {.        
155d0 4e 45 57 54 45 58 54 4d 45 54 52 49 43 45 58 41  NEWTEXTMETRICEXA
155e0 20 65 74 6d 4e 65 77 54 65 78 74 4d 65 74 72 69   etmNewTextMetri
155f0 63 45 78 3b 0a 20 20 20 20 20 20 20 20 41 58 45  cEx;.        AXE
15600 53 4c 49 53 54 41 20 65 74 6d 41 78 65 73 4c 69  SLISTA etmAxesLi
15610 73 74 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 6c  st;.    }.    al
15620 69 61 73 20 45 4e 55 4d 54 45 58 54 4d 45 54 52  ias ENUMTEXTMETR
15630 49 43 41 2a 50 45 4e 55 4d 54 45 58 54 4d 45 54  ICA*PENUMTEXTMET
15640 52 49 43 41 2c 20 4c 50 45 4e 55 4d 54 45 58 54  RICA, LPENUMTEXT
15650 4d 45 54 52 49 43 41 3b 0a 0a 20 20 20 20 73 74  METRICA;..    st
15660 72 75 63 74 20 45 4e 55 4d 54 45 58 54 4d 45 54  ruct ENUMTEXTMET
15670 52 49 43 57 0a 20 20 20 20 7b 0a 20 20 20 20 20  RICW.    {.     
15680 20 20 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43     NEWTEXTMETRIC
15690 45 58 57 20 65 74 6d 4e 65 77 54 65 78 74 4d 65  EXW etmNewTextMe
156a0 74 72 69 63 45 78 3b 0a 20 20 20 20 20 20 20 20  tricEx;.        
156b0 41 58 45 53 4c 49 53 54 57 20 65 74 6d 41 78 65  AXESLISTW etmAxe
156c0 73 4c 69 73 74 3b 0a 20 20 20 20 7d 0a 20 20 20  sList;.    }.   
156d0 20 61 6c 69 61 73 20 45 4e 55 4d 54 45 58 54 4d   alias ENUMTEXTM
156e0 45 54 52 49 43 57 2a 50 45 4e 55 4d 54 45 58 54  ETRICW*PENUMTEXT
156f0 4d 45 54 52 49 43 57 2c 20 4c 50 45 4e 55 4d 54  METRICW, LPENUMT
15700 45 58 54 4d 45 54 52 49 43 57 3b 0a 0a 20 20 20  EXTMETRICW;..   
15710 20 76 65 72 73 69 6f 6e 20 28 55 6e 69 63 6f 64   version (Unicod
15720 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20  e).    {.       
15730 20 61 6c 69 61 73 20 45 4e 55 4d 54 45 58 54 4d   alias ENUMTEXTM
15740 45 54 52 49 43 57 20 20 20 45 4e 55 4d 54 45 58  ETRICW   ENUMTEX
15750 54 4d 45 54 52 49 43 3b 0a 20 20 20 20 20 20 20  TMETRIC;.       
15760 20 61 6c 69 61 73 20 50 45 4e 55 4d 54 45 58 54   alias PENUMTEXT
15770 4d 45 54 52 49 43 57 20 20 50 45 4e 55 4d 54 45  METRICW  PENUMTE
15780 58 54 4d 45 54 52 49 43 3b 0a 20 20 20 20 20 20  XTMETRIC;.      
15790 20 20 61 6c 69 61 73 20 4c 50 45 4e 55 4d 54 45    alias LPENUMTE
157a0 58 54 4d 45 54 52 49 43 57 20 4c 50 45 4e 55 4d  XTMETRICW LPENUM
157b0 54 45 58 54 4d 45 54 52 49 43 3b 0a 20 20 20 20  TEXTMETRIC;.    
157c0 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 7b  }.    else.    {
157d0 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73 20 45  .        alias E
157e0 4e 55 4d 54 45 58 54 4d 45 54 52 49 43 41 20 20  NUMTEXTMETRICA  
157f0 20 45 4e 55 4d 54 45 58 54 4d 45 54 52 49 43 3b   ENUMTEXTMETRIC;
15800 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73 20 50  .        alias P
15810 45 4e 55 4d 54 45 58 54 4d 45 54 52 49 43 41 20  ENUMTEXTMETRICA 
15820 20 50 45 4e 55 4d 54 45 58 54 4d 45 54 52 49 43   PENUMTEXTMETRIC
15830 3b 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73 20  ;.        alias 
15840 4c 50 45 4e 55 4d 54 45 58 54 4d 45 54 52 49 43  LPENUMTEXTMETRIC
15850 41 20 4c 50 45 4e 55 4d 54 45 58 54 4d 45 54 52  A LPENUMTEXTMETR
15860 49 43 3b 0a 20 20 20 20 7d 0a 7d 20 2f 2a 20 5f  IC;.    }.} /* _
15870 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
15880 78 30 35 30 30 20 2a 2f 0a 0a 73 74 72 75 63 74  x0500 */..struct
15890 20 47 52 41 44 49 45 4e 54 5f 54 52 49 41 4e 47   GRADIENT_TRIANG
158a0 4c 45 0a 7b 0a 20 20 20 20 55 4c 4f 4e 47 20 56  LE.{.    ULONG V
158b0 65 72 74 65 78 31 3b 0a 20 20 20 20 55 4c 4f 4e  ertex1;.    ULON
158c0 47 20 56 65 72 74 65 78 32 3b 0a 20 20 20 20 55  G Vertex2;.    U
158d0 4c 4f 4e 47 20 56 65 72 74 65 78 33 3b 0a 7d 0a  LONG Vertex3;.}.
158e0 61 6c 69 61 73 20 47 52 41 44 49 45 4e 54 5f 54  alias GRADIENT_T
158f0 52 49 41 4e 47 4c 45 2a 50 47 52 41 44 49 45 4e  RIANGLE*PGRADIEN
15900 54 5f 54 52 49 41 4e 47 4c 45 2c 20 4c 50 47 52  T_TRIANGLE, LPGR
15910 41 44 49 45 4e 54 5f 54 52 49 41 4e 47 4c 45 3b  ADIENT_TRIANGLE;
15920 0a 0a 73 74 72 75 63 74 20 47 52 41 44 49 45 4e  ..struct GRADIEN
15930 54 5f 52 45 43 54 0a 7b 0a 20 20 20 20 55 4c 4f  T_RECT.{.    ULO
15940 4e 47 20 55 70 70 65 72 4c 65 66 74 3b 0a 20 20  NG UpperLeft;.  
15950 20 20 55 4c 4f 4e 47 20 4c 6f 77 65 72 52 69 67    ULONG LowerRig
15960 68 74 3b 0a 7d 0a 61 6c 69 61 73 20 47 52 41 44  ht;.}.alias GRAD
15970 49 45 4e 54 5f 52 45 43 54 2a 50 47 52 41 44 49  IENT_RECT*PGRADI
15980 45 4e 54 5f 52 45 43 54 2c 20 4c 50 47 52 41 44  ENT_RECT, LPGRAD
15990 49 45 4e 54 5f 52 45 43 54 3b 0a 0a 73 74 72 75  IENT_RECT;..stru
159a0 63 74 20 44 49 53 50 4c 41 59 5f 44 45 56 49 43  ct DISPLAY_DEVIC
159b0 45 41 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20 63  EA.{.    DWORD c
159c0 62 3b 0a 20 20 20 20 43 48 41 52 5b 33 32 5d 20  b;.    CHAR[32] 
159d0 44 65 76 69 63 65 4e 61 6d 65 3b 0a 20 20 20 20  DeviceName;.    
159e0 43 48 41 52 5b 31 32 38 5d 20 44 65 76 69 63 65  CHAR[128] Device
159f0 53 74 72 69 6e 67 3b 0a 20 20 20 20 44 57 4f 52  String;.    DWOR
15a00 44 20 53 74 61 74 65 46 6c 61 67 73 3b 0a 20 20  D StateFlags;.  
15a10 20 20 43 48 41 52 5b 31 32 38 5d 20 44 65 76 69    CHAR[128] Devi
15a20 63 65 49 44 3b 0a 20 20 20 20 43 48 41 52 5b 31  ceID;.    CHAR[1
15a30 32 38 5d 20 44 65 76 69 63 65 4b 65 79 3b 0a 7d  28] DeviceKey;.}
15a40 0a 61 6c 69 61 73 20 44 49 53 50 4c 41 59 5f 44  .alias DISPLAY_D
15a50 45 56 49 43 45 41 2a 50 44 49 53 50 4c 41 59 5f  EVICEA*PDISPLAY_
15a60 44 45 56 49 43 45 41 2c 20 4c 50 44 49 53 50 4c  DEVICEA, LPDISPL
15a70 41 59 5f 44 45 56 49 43 45 41 3b 0a 0a 73 74 72  AY_DEVICEA;..str
15a80 75 63 74 20 44 49 53 50 4c 41 59 5f 44 45 56 49  uct DISPLAY_DEVI
15a90 43 45 57 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20  CEW.{.    DWORD 
15aa0 63 62 3b 0a 20 20 20 20 57 43 48 41 52 5b 33 32  cb;.    WCHAR[32
15ab0 5d 20 44 65 76 69 63 65 4e 61 6d 65 3b 0a 20 20  ] DeviceName;.  
15ac0 20 20 57 43 48 41 52 5b 31 32 38 5d 20 44 65 76    WCHAR[128] Dev
15ad0 69 63 65 53 74 72 69 6e 67 3b 0a 20 20 20 20 44  iceString;.    D
15ae0 57 4f 52 44 20 53 74 61 74 65 46 6c 61 67 73 3b  WORD StateFlags;
15af0 0a 20 20 20 20 57 43 48 41 52 5b 31 32 38 5d 20  .    WCHAR[128] 
15b00 44 65 76 69 63 65 49 44 3b 0a 20 20 20 20 57 43  DeviceID;.    WC
15b10 48 41 52 5b 31 32 38 5d 20 44 65 76 69 63 65 4b  HAR[128] DeviceK
15b20 65 79 3b 0a 7d 0a 61 6c 69 61 73 20 44 49 53 50  ey;.}.alias DISP
15b30 4c 41 59 5f 44 45 56 49 43 45 57 2a 50 44 49 53  LAY_DEVICEW*PDIS
15b40 50 4c 41 59 5f 44 45 56 49 43 45 57 2c 20 4c 50  PLAY_DEVICEW, LP
15b50 44 49 53 50 4c 41 59 5f 44 45 56 49 43 45 57 3b  DISPLAY_DEVICEW;
15b60 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49  ..static..if (WI
15b70 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0a  NVER >= 0x0400).
15b80 7b 0a 20 20 20 20 73 74 72 75 63 74 20 44 52 41  {.    struct DRA
15b90 57 50 41 54 52 45 43 54 0a 20 20 20 20 7b 0a 20  WPATRECT.    {. 
15ba0 20 20 20 20 20 20 20 50 4f 49 4e 54 20 70 74 50         POINT ptP
15bb0 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20  osition;.       
15bc0 20 50 4f 49 4e 54 20 70 74 53 69 7a 65 3b 0a 20   POINT ptSize;. 
15bd0 20 20 20 20 20 20 20 57 4f 52 44 20 77 53 74 79         WORD wSty
15be0 6c 65 3b 0a 20 20 20 20 20 20 20 20 57 4f 52 44  le;.        WORD
15bf0 20 77 50 61 74 74 65 72 6e 3b 0a 20 20 20 20 7d   wPattern;.    }
15c00 0a 20 20 20 20 61 6c 69 61 73 20 44 52 41 57 50  .    alias DRAWP
15c10 41 54 52 45 43 54 2a 50 44 52 41 57 50 41 54 52  ATRECT*PDRAWPATR
15c20 45 43 54 3b 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d  ECT;.}..// -----
15c30 2d 2d 2d 2d 0a 2f 2f 20 43 61 6c 6c 62 61 63 6b  ----.// Callback
15c40 73 0a 0a 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75  s..alias BOOL fu
15c50 6e 63 74 69 6f 6e 28 48 44 43 2c 20 69 6e 74 29  nction(HDC, int)
15c60 20 41 42 4f 52 54 50 52 4f 43 3b 0a 0a 61 6c 69   ABORTPROC;..ali
15c70 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28  as int function(
15c80 48 44 43 2c 20 48 41 4e 44 4c 45 54 41 42 4c 45  HDC, HANDLETABLE
15c90 2a 2c 20 4d 45 54 41 52 45 43 4f 52 44 2a 2c 20  *, METARECORD*, 
15ca0 69 6e 74 2c 20 4c 50 41 52 41 4d 29 20 4d 46 45  int, LPARAM) MFE
15cb0 4e 55 4d 50 52 4f 43 3b 0a 0a 61 6c 69 61 73 20  NUMPROC;..alias 
15cc0 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 48 44 43  int function(HDC
15cd0 2c 20 48 41 4e 44 4c 45 54 41 42 4c 45 2a 2c 20  , HANDLETABLE*, 
15ce0 43 50 74 72 21 28 45 4e 48 4d 45 54 41 52 45 43  CPtr!(ENHMETAREC
15cf0 4f 52 44 29 2c 20 69 6e 74 2c 20 4c 50 41 52 41  ORD), int, LPARA
15d00 4d 29 20 45 4e 48 4d 46 45 4e 55 4d 50 52 4f 43  M) ENHMFENUMPROC
15d10 3b 0a 0a 61 6c 69 61 73 20 69 6e 74 20 66 75 6e  ;..alias int fun
15d20 63 74 69 6f 6e 28 43 50 74 72 21 28 4c 4f 47 46  ction(CPtr!(LOGF
15d30 4f 4e 54 41 29 2c 20 43 50 74 72 21 28 54 45 58  ONTA), CPtr!(TEX
15d40 54 4d 45 54 52 49 43 41 29 2c 20 44 57 4f 52 44  TMETRICA), DWORD
15d50 2c 20 4c 50 41 52 41 4d 29 20 46 4f 4e 54 45 4e  , LPARAM) FONTEN
15d60 55 4d 50 52 4f 43 41 2c 20 4f 4c 44 46 4f 4e 54  UMPROCA, OLDFONT
15d70 45 4e 55 4d 50 52 4f 43 41 3b 0a 0a 61 6c 69 61  ENUMPROCA;..alia
15d80 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 43  s int function(C
15d90 50 74 72 21 28 4c 4f 47 46 4f 4e 54 57 29 2c 20  Ptr!(LOGFONTW), 
15da0 43 50 74 72 21 28 54 45 58 54 4d 45 54 52 49 43  CPtr!(TEXTMETRIC
15db0 57 29 2c 20 44 57 4f 52 44 2c 20 4c 50 41 52 41  W), DWORD, LPARA
15dc0 4d 29 20 46 4f 4e 54 45 4e 55 4d 50 52 4f 43 57  M) FONTENUMPROCW
15dd0 2c 20 4f 4c 44 46 4f 4e 54 45 4e 55 4d 50 52 4f  , OLDFONTENUMPRO
15de0 43 57 3b 0a 0a 61 6c 69 61 73 20 69 6e 74 20 66  CW;..alias int f
15df0 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 2c 20 4c  unction(LPSTR, L
15e00 50 41 52 41 4d 29 20 49 43 4d 45 4e 55 4d 50 52  PARAM) ICMENUMPR
15e10 4f 43 41 3b 0a 0a 61 6c 69 61 73 20 69 6e 74 20  OCA;..alias int 
15e20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 53 54 52 2c  function(LPWSTR,
15e30 20 4c 50 41 52 41 4d 29 20 49 43 4d 45 4e 55 4d   LPARAM) ICMENUM
15e40 50 52 4f 43 57 3b 0a 0a 61 6c 69 61 73 20 76 6f  PROCW;..alias vo
15e50 69 64 20 66 75 6e 63 74 69 6f 6e 28 4c 50 56 4f  id function(LPVO
15e60 49 44 2c 20 4c 50 41 52 41 4d 29 20 47 4f 42 4a  ID, LPARAM) GOBJ
15e70 45 4e 55 4d 50 52 4f 43 3b 0a 0a 61 6c 69 61 73  ENUMPROC;..alias
15e80 20 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 69   void function(i
15e90 6e 74 2c 20 69 6e 74 2c 20 4c 50 41 52 41 4d 29  nt, int, LPARAM)
15ea0 20 4c 49 4e 45 44 44 41 50 52 4f 43 3b 0a 0a 61   LINEDDAPROC;..a
15eb0 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74 69  lias UINT functi
15ec0 6f 6e 28 48 57 4e 44 2c 20 48 4d 4f 44 55 4c 45  on(HWND, HMODULE
15ed0 2c 20 4c 50 44 45 56 4d 4f 44 45 41 2c 20 4c 50  , LPDEVMODEA, LP
15ee0 53 54 52 2c 20 4c 50 53 54 52 2c 20 4c 50 44 45  STR, LPSTR, LPDE
15ef0 56 4d 4f 44 45 41 2c 20 4c 50 53 54 52 2c 20 55  VMODEA, LPSTR, U
15f00 49 4e 54 29 20 4c 50 46 4e 44 45 56 4d 4f 44 45  INT) LPFNDEVMODE
15f10 3b 0a 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 66  ;..alias DWORD f
15f20 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 2c 20 4c  unction(LPSTR, L
15f30 50 53 54 52 2c 20 55 49 4e 54 2c 20 4c 50 53 54  PSTR, UINT, LPST
15f40 52 2c 20 4c 50 44 45 56 4d 4f 44 45 41 29 20 4c  R, LPDEVMODEA) L
15f50 50 46 4e 44 45 56 43 41 50 53 3b 0a 0a 2f 2f 20  PFNDEVCAPS;..// 
15f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 43 20 4d  ---------.// C M
15f70 61 63 72 6f 73 2e 0a 2f 2f 20 46 49 58 4d 45 3a  acros..// FIXME:
15f80 0a 2f 2f 20 50 4f 49 4e 54 53 20 4d 41 4b 45 50  .// POINTS MAKEP
15f90 4f 49 4e 54 53 28 44 57 4f 52 44 20 64 77 56 61  OINTS(DWORD dwVa
15fa0 6c 75 65 29 20 23 64 65 66 69 6e 65 20 4d 41 4b  lue) #define MAK
15fb0 45 50 4f 49 4e 54 53 28 6c 29 20 28 2a 28 28 50  EPOINTS(l) (*((P
15fc0 4f 49 4e 54 53 2a 29 26 28 6c 29 29 29 0a 44 57  OINTS*)&(l))).DW
15fd0 4f 52 44 20 4d 41 4b 45 52 4f 50 34 28 44 57 4f  ORD MAKEROP4(DWO
15fe0 52 44 20 66 6f 72 65 2c 20 44 57 4f 52 44 20 62  RD fore, DWORD b
15ff0 61 63 6b 29 0a 7b 0a 20 20 20 20 72 65 74 75 72  ack).{.    retur
16000 6e 20 28 28 62 61 63 6b 20 3c 3c 20 38 29 20 26  n ((back << 8) &
16010 20 30 78 46 46 30 30 30 30 30 30 29 20 7c 20 28   0xFF000000) | (
16020 66 6f 72 65 29 3b 0a 7d 0a 0a 0a 43 4f 4c 4f 52  fore);.}...COLOR
16030 52 45 46 20 43 4d 59 4b 28 42 59 54 45 20 63 2c  REF CMYK(BYTE c,
16040 20 42 59 54 45 20 6d 2c 20 42 59 54 45 20 79 2c   BYTE m, BYTE y,
16050 20 42 59 54 45 20 6b 29 0a 7b 0a 20 20 20 20 72   BYTE k).{.    r
16060 65 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52  eturn cast(COLOR
16070 52 45 46 29 20 28 6b 20 7c 20 28 79 20 3c 3c 20  REF) (k | (y << 
16080 38 29 20 7c 20 28 6d 20 3c 3c 20 31 36 29 20 7c  8) | (m << 16) |
16090 20 28 63 20 3c 3c 20 32 34 29 29 3b 0a 7d 0a 0a   (c << 24));.}..
160a0 0a 42 59 54 45 20 47 65 74 43 56 61 6c 75 65 28  .BYTE GetCValue(
160b0 43 4f 4c 4f 52 52 45 46 20 63 6d 79 6b 29 0a 7b  COLORREF cmyk).{
160c0 0a 20 20 20 20 72 65 74 75 72 6e 20 63 61 73 74  .    return cast
160d0 28 42 59 54 45 29 20 28 63 6d 79 6b 20 3e 3e 20  (BYTE) (cmyk >> 
160e0 32 34 29 3b 0a 7d 0a 0a 0a 42 59 54 45 20 47 65  24);.}...BYTE Ge
160f0 74 4d 56 61 6c 75 65 28 43 4f 4c 4f 52 52 45 46  tMValue(COLORREF
16100 20 63 6d 79 6b 29 0a 7b 0a 20 20 20 20 72 65 74   cmyk).{.    ret
16110 75 72 6e 20 63 61 73 74 28 42 59 54 45 29 20 28  urn cast(BYTE) (
16120 63 6d 79 6b 20 3e 3e 20 31 36 29 3b 0a 7d 0a 0a  cmyk >> 16);.}..
16130 0a 42 59 54 45 20 47 65 74 59 56 61 6c 75 65 28  .BYTE GetYValue(
16140 43 4f 4c 4f 52 52 45 46 20 63 6d 79 6b 29 0a 7b  COLORREF cmyk).{
16150 0a 20 20 20 20 72 65 74 75 72 6e 20 63 61 73 74  .    return cast
16160 28 42 59 54 45 29 20 28 63 6d 79 6b 20 3e 3e 20  (BYTE) (cmyk >> 
16170 38 29 3b 0a 7d 0a 0a 0a 42 59 54 45 20 47 65 74  8);.}...BYTE Get
16180 4b 56 61 6c 75 65 28 43 4f 4c 4f 52 52 45 46 20  KValue(COLORREF 
16190 63 6d 79 6b 29 0a 7b 0a 20 20 20 20 72 65 74 75  cmyk).{.    retu
161a0 72 6e 20 63 61 73 74 28 42 59 54 45 29 20 63 6d  rn cast(BYTE) cm
161b0 79 6b 3b 0a 7d 0a 0a 0a 43 4f 4c 4f 52 52 45 46  yk;.}...COLORREF
161c0 20 52 47 42 28 42 59 54 45 20 72 2c 20 42 59 54   RGB(BYTE r, BYT
161d0 45 20 67 2c 20 42 59 54 45 20 62 29 0a 7b 0a 20  E g, BYTE b).{. 
161e0 20 20 20 72 65 74 75 72 6e 20 63 61 73 74 28 43     return cast(C
161f0 4f 4c 4f 52 52 45 46 29 20 28 72 20 7c 20 28 67  OLORREF) (r | (g
16200 20 3c 3c 20 38 29 20 7c 20 28 62 20 3c 3c 20 31   << 8) | (b << 1
16210 36 29 29 3b 0a 7d 0a 0a 0a 42 59 54 45 20 47 65  6));.}...BYTE Ge
16220 74 52 56 61 6c 75 65 28 43 4f 4c 4f 52 52 45 46  tRValue(COLORREF
16230 20 63 29 0a 7b 0a 20 20 20 20 72 65 74 75 72 6e   c).{.    return
16240 20 63 61 73 74 28 42 59 54 45 29 20 63 3b 0a 7d   cast(BYTE) c;.}
16250 0a 0a 0a 42 59 54 45 20 47 65 74 47 56 61 6c 75  ...BYTE GetGValu
16260 65 28 43 4f 4c 4f 52 52 45 46 20 63 29 0a 7b 0a  e(COLORREF c).{.
16270 20 20 20 20 72 65 74 75 72 6e 20 63 61 73 74 28      return cast(
16280 42 59 54 45 29 20 28 63 20 3e 3e 20 38 29 3b 0a  BYTE) (c >> 8);.
16290 7d 0a 0a 0a 42 59 54 45 20 47 65 74 42 56 61 6c  }...BYTE GetBVal
162a0 75 65 28 43 4f 4c 4f 52 52 45 46 20 63 29 0a 7b  ue(COLORREF c).{
162b0 0a 20 20 20 20 72 65 74 75 72 6e 20 63 61 73 74  .    return cast
162c0 28 42 59 54 45 29 20 28 63 20 3e 3e 20 31 36 29  (BYTE) (c >> 16)
162d0 3b 0a 7d 0a 0a 0a 43 4f 4c 4f 52 52 45 46 20 50  ;.}...COLORREF P
162e0 41 4c 45 54 54 45 49 4e 44 45 58 28 57 4f 52 44  ALETTEINDEX(WORD
162f0 20 69 29 0a 7b 0a 20 20 20 20 72 65 74 75 72 6e   i).{.    return
16300 20 30 78 30 31 30 30 30 30 30 30 20 7c 20 63 61   0x01000000 | ca
16310 73 74 28 43 4f 4c 4f 52 52 45 46 29 20 69 3b 0a  st(COLORREF) i;.
16320 7d 0a 0a 0a 43 4f 4c 4f 52 52 45 46 20 50 41 4c  }...COLORREF PAL
16330 45 54 54 45 52 47 42 28 42 59 54 45 20 72 2c 20  ETTERGB(BYTE r, 
16340 42 59 54 45 20 67 2c 20 42 59 54 45 20 62 29 0a  BYTE g, BYTE b).
16350 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 78 30  {.    return 0x0
16360 32 30 30 30 30 30 30 20 7c 20 52 47 42 28 72 2c  2000000 | RGB(r,
16370 20 67 2c 20 62 29 3b 0a 7d 0a 0a 0a 65 78 74 65   g, b);.}...exte
16380 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0a 69  rn (Windows) {.i
16390 6e 74 20 41 62 6f 72 74 44 6f 63 28 48 44 43 29  nt AbortDoc(HDC)
163a0 3b 0a 0a 42 4f 4f 4c 20 41 62 6f 72 74 50 61 74  ;..BOOL AbortPat
163b0 68 28 48 44 43 29 3b 0a 0a 69 6e 74 20 41 64 64  h(HDC);..int Add
163c0 46 6f 6e 74 52 65 73 6f 75 72 63 65 41 28 4c 50  FontResourceA(LP
163d0 43 53 54 52 29 3b 0a 0a 69 6e 74 20 41 64 64 46  CSTR);..int AddF
163e0 6f 6e 74 52 65 73 6f 75 72 63 65 57 28 4c 50 43  ontResourceW(LPC
163f0 57 53 54 52 29 3b 0a 0a 42 4f 4f 4c 20 41 6e 67  WSTR);..BOOL Ang
16400 6c 65 41 72 63 28 48 44 43 2c 20 69 6e 74 2c 20  leArc(HDC, int, 
16410 69 6e 74 2c 20 44 57 4f 52 44 2c 20 46 4c 4f 41  int, DWORD, FLOA
16420 54 2c 20 46 4c 4f 41 54 29 3b 0a 0a 42 4f 4f 4c  T, FLOAT);..BOOL
16430 20 41 6e 69 6d 61 74 65 50 61 6c 65 74 74 65 28   AnimatePalette(
16440 48 50 41 4c 45 54 54 45 2c 20 55 49 4e 54 2c 20  HPALETTE, UINT, 
16450 55 49 4e 54 2c 20 43 50 74 72 21 28 50 41 4c 45  UINT, CPtr!(PALE
16460 54 54 45 45 4e 54 52 59 29 29 3b 0a 0a 42 4f 4f  TTEENTRY));..BOO
16470 4c 20 41 72 63 28 48 44 43 2c 20 69 6e 74 2c 20  L Arc(HDC, int, 
16480 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  int, int, int, i
16490 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
164a0 74 29 3b 0a 0a 42 4f 4f 4c 20 41 72 63 54 6f 28  t);..BOOL ArcTo(
164b0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
164c0 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
164d0 74 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42  t, int, int);..B
164e0 4f 4f 4c 20 42 65 67 69 6e 50 61 74 68 28 48 44  OOL BeginPath(HD
164f0 43 29 3b 0a 0a 42 4f 4f 4c 20 42 69 74 42 6c 74  C);..BOOL BitBlt
16500 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20  (HDC, int, int, 
16510 69 6e 74 2c 20 69 6e 74 2c 20 48 44 43 2c 20 69  int, int, HDC, i
16520 6e 74 2c 20 69 6e 74 2c 20 44 57 4f 52 44 29 3b  nt, int, DWORD);
16530 0a 0a 42 4f 4f 4c 20 43 61 6e 63 65 6c 44 43 28  ..BOOL CancelDC(
16540 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 43 68 65 63  HDC);..BOOL Chec
16550 6b 43 6f 6c 6f 72 73 49 6e 47 61 6d 75 74 28 48  kColorsInGamut(H
16560 44 43 2c 20 50 56 4f 49 44 2c 20 50 56 4f 49 44  DC, PVOID, PVOID
16570 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c 20  , DWORD);..BOOL 
16580 43 68 6f 72 64 28 48 44 43 2c 20 69 6e 74 2c 20  Chord(HDC, int, 
16590 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  int, int, int, i
165a0 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
165b0 74 29 3b 0a 0a 69 6e 74 20 43 68 6f 6f 73 65 50  t);..int ChooseP
165c0 69 78 65 6c 46 6f 72 6d 61 74 28 48 44 43 2c 20  ixelFormat(HDC, 
165d0 43 50 74 72 21 28 50 49 58 45 4c 46 4f 52 4d 41  CPtr!(PIXELFORMA
165e0 54 44 45 53 43 52 49 50 54 4f 52 29 29 3b 0a 0a  TDESCRIPTOR));..
165f0 48 45 4e 48 4d 45 54 41 46 49 4c 45 20 43 6c 6f  HENHMETAFILE Clo
16600 73 65 45 6e 68 4d 65 74 61 46 69 6c 65 28 48 44  seEnhMetaFile(HD
16610 43 29 3b 0a 0a 42 4f 4f 4c 20 43 6c 6f 73 65 46  C);..BOOL CloseF
16620 69 67 75 72 65 28 48 44 43 29 3b 0a 0a 48 4d 45  igure(HDC);..HME
16630 54 41 46 49 4c 45 20 43 6c 6f 73 65 4d 65 74 61  TAFILE CloseMeta
16640 46 69 6c 65 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c  File(HDC);..BOOL
16650 20 43 6f 6c 6f 72 4d 61 74 63 68 54 6f 54 61 72   ColorMatchToTar
16660 67 65 74 28 48 44 43 2c 20 48 44 43 2c 20 44 57  get(HDC, HDC, DW
16670 4f 52 44 29 3b 0a 0a 42 4f 4f 4c 20 43 6f 6c 6f  ORD);..BOOL Colo
16680 72 43 6f 72 72 65 63 74 50 61 6c 65 74 74 65 28  rCorrectPalette(
16690 48 44 43 2c 20 48 50 41 4c 45 54 54 45 2c 20 44  HDC, HPALETTE, D
166a0 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 0a 69  WORD, DWORD);..i
166b0 6e 74 20 43 6f 6d 62 69 6e 65 52 67 6e 28 48 52  nt CombineRgn(HR
166c0 47 4e 2c 20 48 52 47 4e 2c 20 48 52 47 4e 2c 20  GN, HRGN, HRGN, 
166d0 69 6e 74 29 3b 0a 0a 42 4f 4f 4c 20 43 6f 6d 62  int);..BOOL Comb
166e0 69 6e 65 54 72 61 6e 73 66 6f 72 6d 28 4c 50 58  ineTransform(LPX
166f0 46 4f 52 4d 2c 20 43 50 74 72 21 28 58 46 4f 52  FORM, CPtr!(XFOR
16700 4d 29 2c 20 43 50 74 72 21 28 58 46 4f 52 4d 29  M), CPtr!(XFORM)
16710 29 3b 0a 0a 48 45 4e 48 4d 45 54 41 46 49 4c 45  );..HENHMETAFILE
16720 20 43 6f 70 79 45 6e 68 4d 65 74 61 46 69 6c 65   CopyEnhMetaFile
16730 41 28 48 45 4e 48 4d 45 54 41 46 49 4c 45 2c 20  A(HENHMETAFILE, 
16740 4c 50 43 53 54 52 29 3b 0a 0a 48 45 4e 48 4d 45  LPCSTR);..HENHME
16750 54 41 46 49 4c 45 20 43 6f 70 79 45 6e 68 4d 65  TAFILE CopyEnhMe
16760 74 61 46 69 6c 65 57 28 48 45 4e 48 4d 45 54 41  taFileW(HENHMETA
16770 46 49 4c 45 2c 20 4c 50 43 57 53 54 52 29 3b 0a  FILE, LPCWSTR);.
16780 0a 48 4d 45 54 41 46 49 4c 45 20 43 6f 70 79 4d  .HMETAFILE CopyM
16790 65 74 61 46 69 6c 65 41 28 48 4d 45 54 41 46 49  etaFileA(HMETAFI
167a0 4c 45 2c 20 4c 50 43 53 54 52 29 3b 0a 0a 48 4d  LE, LPCSTR);..HM
167b0 45 54 41 46 49 4c 45 20 43 6f 70 79 4d 65 74 61  ETAFILE CopyMeta
167c0 46 69 6c 65 57 28 48 4d 45 54 41 46 49 4c 45 2c  FileW(HMETAFILE,
167d0 20 4c 50 43 57 53 54 52 29 3b 0a 0a 48 42 49 54   LPCWSTR);..HBIT
167e0 4d 41 50 20 43 72 65 61 74 65 42 69 74 6d 61 70  MAP CreateBitmap
167f0 28 69 6e 74 2c 20 69 6e 74 2c 20 55 49 4e 54 2c  (int, int, UINT,
16800 20 55 49 4e 54 2c 20 50 43 56 4f 49 44 29 3b 0a   UINT, PCVOID);.
16810 0a 48 42 49 54 4d 41 50 20 43 72 65 61 74 65 42  .HBITMAP CreateB
16820 69 74 6d 61 70 49 6e 64 69 72 65 63 74 28 43 50  itmapIndirect(CP
16830 74 72 21 28 42 49 54 4d 41 50 29 29 3b 0a 0a 48  tr!(BITMAP));..H
16840 42 52 55 53 48 20 43 72 65 61 74 65 42 72 75 73  BRUSH CreateBrus
16850 68 49 6e 64 69 72 65 63 74 28 43 50 74 72 21 28  hIndirect(CPtr!(
16860 4c 4f 47 42 52 55 53 48 29 29 3b 0a 0a 48 43 4f  LOGBRUSH));..HCO
16870 4c 4f 52 53 50 41 43 45 20 43 72 65 61 74 65 43  LORSPACE CreateC
16880 6f 6c 6f 72 53 70 61 63 65 41 28 4c 50 4c 4f 47  olorSpaceA(LPLOG
16890 43 4f 4c 4f 52 53 50 41 43 45 41 29 3b 0a 0a 48  COLORSPACEA);..H
168a0 43 4f 4c 4f 52 53 50 41 43 45 20 43 72 65 61 74  COLORSPACE Creat
168b0 65 43 6f 6c 6f 72 53 70 61 63 65 57 28 4c 50 4c  eColorSpaceW(LPL
168c0 4f 47 43 4f 4c 4f 52 53 50 41 43 45 57 29 3b 0a  OGCOLORSPACEW);.
168d0 0a 48 42 49 54 4d 41 50 20 43 72 65 61 74 65 43  .HBITMAP CreateC
168e0 6f 6d 70 61 74 69 62 6c 65 42 69 74 6d 61 70 28  ompatibleBitmap(
168f0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a  HDC, int, int);.
16900 0a 48 44 43 20 43 72 65 61 74 65 43 6f 6d 70 61  .HDC CreateCompa
16910 74 69 62 6c 65 44 43 28 48 44 43 29 3b 0a 0a 48  tibleDC(HDC);..H
16920 44 43 20 43 72 65 61 74 65 44 43 41 28 4c 50 43  DC CreateDCA(LPC
16930 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43  STR, LPCSTR, LPC
16940 53 54 52 2c 20 43 50 74 72 21 28 44 45 56 4d 4f  STR, CPtr!(DEVMO
16950 44 45 41 29 29 3b 0a 0a 48 44 43 20 43 72 65 61  DEA));..HDC Crea
16960 74 65 44 43 57 28 4c 50 43 57 53 54 52 2c 20 4c  teDCW(LPCWSTR, L
16970 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c  PCWSTR, LPCWSTR,
16980 20 43 50 74 72 21 28 44 45 56 4d 4f 44 45 57 29   CPtr!(DEVMODEW)
16990 29 3b 0a 0a 48 42 49 54 4d 41 50 20 43 72 65 61  );..HBITMAP Crea
169a0 74 65 44 49 42 69 74 6d 61 70 28 48 44 43 2c 20  teDIBitmap(HDC, 
169b0 43 50 74 72 21 28 42 49 54 4d 41 50 49 4e 46 4f  CPtr!(BITMAPINFO
169c0 48 45 41 44 45 52 29 2c 20 44 57 4f 52 44 2c 20  HEADER), DWORD, 
169d0 50 43 56 4f 49 44 2c 20 43 50 74 72 21 28 42 49  PCVOID, CPtr!(BI
169e0 54 4d 41 50 49 4e 46 4f 29 2c 20 55 49 4e 54 29  TMAPINFO), UINT)
169f0 3b 0a 0a 48 42 52 55 53 48 20 43 72 65 61 74 65  ;..HBRUSH Create
16a00 44 49 42 50 61 74 74 65 72 6e 42 72 75 73 68 28  DIBPatternBrush(
16a10 48 47 4c 4f 42 41 4c 2c 20 55 49 4e 54 29 3b 0a  HGLOBAL, UINT);.
16a20 0a 48 42 52 55 53 48 20 43 72 65 61 74 65 44 49  .HBRUSH CreateDI
16a30 42 50 61 74 74 65 72 6e 42 72 75 73 68 50 74 28  BPatternBrushPt(
16a40 50 43 56 4f 49 44 2c 20 55 49 4e 54 29 3b 0a 0a  PCVOID, UINT);..
16a50 48 42 49 54 4d 41 50 20 43 72 65 61 74 65 44 49  HBITMAP CreateDI
16a60 42 53 65 63 74 69 6f 6e 28 48 44 43 2c 20 43 50  BSection(HDC, CP
16a70 74 72 21 28 42 49 54 4d 41 50 49 4e 46 4f 29 2c  tr!(BITMAPINFO),
16a80 20 55 49 4e 54 2c 20 76 6f 69 64 2a 2a 2c 20 48   UINT, void**, H
16a90 41 4e 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a 0a  ANDLE, DWORD);..
16aa0 48 42 49 54 4d 41 50 20 43 72 65 61 74 65 44 69  HBITMAP CreateDi
16ab0 73 63 61 72 64 61 62 6c 65 42 69 74 6d 61 70 28  scardableBitmap(
16ac0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a  HDC, int, int);.
16ad0 0a 48 52 47 4e 20 43 72 65 61 74 65 45 6c 6c 69  .HRGN CreateElli
16ae0 70 74 69 63 52 67 6e 28 69 6e 74 2c 20 69 6e 74  pticRgn(int, int
16af0 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 48 52  , int, int);..HR
16b00 47 4e 20 43 72 65 61 74 65 45 6c 6c 69 70 74 69  GN CreateEllipti
16b10 63 52 67 6e 49 6e 64 69 72 65 63 74 28 4c 50 43  cRgnIndirect(LPC
16b20 52 45 43 54 29 3b 0a 0a 48 44 43 20 43 72 65 61  RECT);..HDC Crea
16b30 74 65 45 6e 68 4d 65 74 61 46 69 6c 65 41 28 48  teEnhMetaFileA(H
16b40 44 43 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 52  DC, LPCSTR, LPCR
16b50 45 43 54 2c 20 4c 50 43 53 54 52 29 3b 0a 0a 48  ECT, LPCSTR);..H
16b60 44 43 20 43 72 65 61 74 65 45 6e 68 4d 65 74 61  DC CreateEnhMeta
16b70 46 69 6c 65 57 28 48 44 43 2c 20 4c 50 43 57 53  FileW(HDC, LPCWS
16b80 54 52 2c 20 4c 50 43 52 45 43 54 2c 20 4c 50 43  TR, LPCRECT, LPC
16b90 57 53 54 52 29 3b 0a 0a 48 46 4f 4e 54 20 43 72  WSTR);..HFONT Cr
16ba0 65 61 74 65 46 6f 6e 74 41 28 69 6e 74 2c 20 69  eateFontA(int, i
16bb0 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
16bc0 74 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  t, DWORD, DWORD,
16bd0 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44   DWORD, DWORD, D
16be0 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f  WORD, DWORD, DWO
16bf0 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54  RD, DWORD, LPCST
16c00 52 29 3b 0a 0a 48 46 4f 4e 54 20 43 72 65 61 74  R);..HFONT Creat
16c10 65 46 6f 6e 74 57 28 69 6e 74 2c 20 69 6e 74 2c  eFontW(int, int,
16c20 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20   int, int, int, 
16c30 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57  DWORD, DWORD, DW
16c40 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  ORD, DWORD, DWOR
16c50 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  D, DWORD, DWORD,
16c60 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 29   DWORD, LPCWSTR)
16c70 3b 0a 0a 48 46 4f 4e 54 20 43 72 65 61 74 65 46  ;..HFONT CreateF
16c80 6f 6e 74 49 6e 64 69 72 65 63 74 41 28 43 50 74  ontIndirectA(CPt
16c90 72 21 28 4c 4f 47 46 4f 4e 54 41 29 29 3b 0a 0a  r!(LOGFONTA));..
16ca0 48 46 4f 4e 54 20 43 72 65 61 74 65 46 6f 6e 74  HFONT CreateFont
16cb0 49 6e 64 69 72 65 63 74 57 28 43 50 74 72 21 28  IndirectW(CPtr!(
16cc0 4c 4f 47 46 4f 4e 54 57 29 29 3b 0a 0a 48 50 41  LOGFONTW));..HPA
16cd0 4c 45 54 54 45 20 43 72 65 61 74 65 48 61 6c 66  LETTE CreateHalf
16ce0 74 6f 6e 65 50 61 6c 65 74 74 65 28 48 44 43 29  tonePalette(HDC)
16cf0 3b 0a 0a 48 42 52 55 53 48 20 43 72 65 61 74 65  ;..HBRUSH Create
16d00 48 61 74 63 68 42 72 75 73 68 28 69 6e 74 2c 20  HatchBrush(int, 
16d10 43 4f 4c 4f 52 52 45 46 29 3b 0a 0a 48 44 43 20  COLORREF);..HDC 
16d20 43 72 65 61 74 65 49 43 41 28 4c 50 43 53 54 52  CreateICA(LPCSTR
16d30 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52  , LPCSTR, LPCSTR
16d40 2c 20 43 50 74 72 21 28 44 45 56 4d 4f 44 45 41  , CPtr!(DEVMODEA
16d50 29 29 3b 0a 0a 48 44 43 20 43 72 65 61 74 65 49  ));..HDC CreateI
16d60 43 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  CW(LPCWSTR, LPCW
16d70 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 43 50  STR, LPCWSTR, CP
16d80 74 72 21 28 44 45 56 4d 4f 44 45 57 29 29 3b 0a  tr!(DEVMODEW));.
16d90 0a 48 44 43 20 43 72 65 61 74 65 4d 65 74 61 46  .HDC CreateMetaF
16da0 69 6c 65 41 28 4c 50 43 53 54 52 29 3b 0a 0a 48  ileA(LPCSTR);..H
16db0 44 43 20 43 72 65 61 74 65 4d 65 74 61 46 69 6c  DC CreateMetaFil
16dc0 65 57 28 4c 50 43 57 53 54 52 29 3b 0a 0a 48 50  eW(LPCWSTR);..HP
16dd0 41 4c 45 54 54 45 20 43 72 65 61 74 65 50 61 6c  ALETTE CreatePal
16de0 65 74 74 65 28 43 50 74 72 21 28 4c 4f 47 50 41  ette(CPtr!(LOGPA
16df0 4c 45 54 54 45 29 29 3b 0a 0a 48 42 52 55 53 48  LETTE));..HBRUSH
16e00 20 43 72 65 61 74 65 50 61 74 74 65 72 6e 42 72   CreatePatternBr
16e10 75 73 68 28 48 42 49 54 4d 41 50 29 3b 0a 0a 48  ush(HBITMAP);..H
16e20 50 45 4e 20 43 72 65 61 74 65 50 65 6e 28 69 6e  PEN CreatePen(in
16e30 74 2c 20 69 6e 74 2c 20 43 4f 4c 4f 52 52 45 46  t, int, COLORREF
16e40 29 3b 0a 0a 48 50 45 4e 20 43 72 65 61 74 65 50  );..HPEN CreateP
16e50 65 6e 49 6e 64 69 72 65 63 74 28 43 50 74 72 21  enIndirect(CPtr!
16e60 28 4c 4f 47 50 45 4e 29 29 3b 0a 0a 48 52 47 4e  (LOGPEN));..HRGN
16e70 20 43 72 65 61 74 65 50 6f 6c 79 67 6f 6e 52 67   CreatePolygonRg
16e80 6e 28 43 50 74 72 21 28 50 4f 49 4e 54 29 2c 20  n(CPtr!(POINT), 
16e90 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 48 52 47 4e  int, int);..HRGN
16ea0 20 43 72 65 61 74 65 50 6f 6c 79 50 6f 6c 79 67   CreatePolyPolyg
16eb0 6f 6e 52 67 6e 28 43 50 74 72 21 28 50 4f 49 4e  onRgn(CPtr!(POIN
16ec0 54 29 2c 20 43 50 74 72 21 28 49 4e 54 29 2c 20  T), CPtr!(INT), 
16ed0 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 48 52 47 4e  int, int);..HRGN
16ee0 20 43 72 65 61 74 65 52 65 63 74 52 67 6e 28 69   CreateRectRgn(i
16ef0 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
16f00 74 29 3b 0a 0a 48 52 47 4e 20 43 72 65 61 74 65  t);..HRGN Create
16f10 52 65 63 74 52 67 6e 49 6e 64 69 72 65 63 74 28  RectRgnIndirect(
16f20 4c 50 43 52 45 43 54 29 3b 0a 0a 48 52 47 4e 20  LPCRECT);..HRGN 
16f30 43 72 65 61 74 65 52 6f 75 6e 64 52 65 63 74 52  CreateRoundRectR
16f40 67 6e 28 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74  gn(int, int, int
16f50 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29  , int, int, int)
16f60 3b 0a 0a 42 4f 4f 4c 20 43 72 65 61 74 65 53 63  ;..BOOL CreateSc
16f70 61 6c 61 62 6c 65 46 6f 6e 74 52 65 73 6f 75 72  alableFontResour
16f80 63 65 41 28 44 57 4f 52 44 2c 20 4c 50 43 53 54  ceA(DWORD, LPCST
16f90 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54  R, LPCSTR, LPCST
16fa0 52 29 3b 0a 0a 42 4f 4f 4c 20 43 72 65 61 74 65  R);..BOOL Create
16fb0 53 63 61 6c 61 62 6c 65 46 6f 6e 74 52 65 73 6f  ScalableFontReso
16fc0 75 72 63 65 57 28 44 57 4f 52 44 2c 20 4c 50 43  urceW(DWORD, LPC
16fd0 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 4c  WSTR, LPCWSTR, L
16fe0 50 43 57 53 54 52 29 3b 0a 0a 48 42 52 55 53 48  PCWSTR);..HBRUSH
16ff0 20 43 72 65 61 74 65 53 6f 6c 69 64 42 72 75 73   CreateSolidBrus
17000 68 28 43 4f 4c 4f 52 52 45 46 29 3b 0a 0a 42 4f  h(COLORREF);..BO
17010 4f 4c 20 44 65 6c 65 74 65 43 6f 6c 6f 72 53 70  OL DeleteColorSp
17020 61 63 65 28 48 43 4f 4c 4f 52 53 50 41 43 45 29  ace(HCOLORSPACE)
17030 3b 0a 0a 42 4f 4f 4c 20 44 65 6c 65 74 65 44 43  ;..BOOL DeleteDC
17040 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 44 65 6c  (HDC);..BOOL Del
17050 65 74 65 45 6e 68 4d 65 74 61 46 69 6c 65 28 48  eteEnhMetaFile(H
17060 45 4e 48 4d 45 54 41 46 49 4c 45 29 3b 0a 0a 42  ENHMETAFILE);..B
17070 4f 4f 4c 20 44 65 6c 65 74 65 4d 65 74 61 46 69  OOL DeleteMetaFi
17080 6c 65 28 48 4d 45 54 41 46 49 4c 45 29 3b 0a 0a  le(HMETAFILE);..
17090 42 4f 4f 4c 20 44 65 6c 65 74 65 4f 62 6a 65 63  BOOL DeleteObjec
170a0 74 28 48 47 44 49 4f 42 4a 29 3b 0a 0a 69 6e 74  t(HGDIOBJ);..int
170b0 20 44 65 73 63 72 69 62 65 50 69 78 65 6c 46 6f   DescribePixelFo
170c0 72 6d 61 74 28 48 44 43 2c 20 69 6e 74 2c 20 55  rmat(HDC, int, U
170d0 49 4e 54 2c 20 4c 50 50 49 58 45 4c 46 4f 52 4d  INT, LPPIXELFORM
170e0 41 54 44 45 53 43 52 49 50 54 4f 52 29 3b 0a 0a  ATDESCRIPTOR);..
170f0 44 57 4f 52 44 20 44 65 76 69 63 65 43 61 70 61  DWORD DeviceCapa
17100 62 69 6c 69 74 69 65 73 41 28 4c 50 43 53 54 52  bilitiesA(LPCSTR
17110 2c 20 4c 50 43 53 54 52 2c 20 57 4f 52 44 2c 20  , LPCSTR, WORD, 
17120 4c 50 53 54 52 2c 20 43 50 74 72 21 28 44 45 56  LPSTR, CPtr!(DEV
17130 4d 4f 44 45 41 29 29 3b 0a 0a 44 57 4f 52 44 20  MODEA));..DWORD 
17140 44 65 76 69 63 65 43 61 70 61 62 69 6c 69 74 69  DeviceCapabiliti
17150 65 73 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43  esW(LPCWSTR, LPC
17160 57 53 54 52 2c 20 57 4f 52 44 2c 20 4c 50 57 53  WSTR, WORD, LPWS
17170 54 52 2c 20 43 50 74 72 21 28 44 45 56 4d 4f 44  TR, CPtr!(DEVMOD
17180 45 57 29 29 3b 0a 0a 42 4f 4f 4c 20 44 50 74 6f  EW));..BOOL DPto
17190 4c 50 28 48 44 43 2c 20 4c 50 50 4f 49 4e 54 2c  LP(HDC, LPPOINT,
171a0 20 69 6e 74 29 3b 0a 0a 69 6e 74 20 44 72 61 77   int);..int Draw
171b0 45 73 63 61 70 65 28 48 44 43 2c 20 69 6e 74 2c  Escape(HDC, int,
171c0 20 69 6e 74 2c 20 4c 50 43 53 54 52 29 3b 0a 0a   int, LPCSTR);..
171d0 42 4f 4f 4c 20 45 6c 6c 69 70 73 65 28 48 44 43  BOOL Ellipse(HDC
171e0 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c  , int, int, int,
171f0 20 69 6e 74 29 3b 0a 0a 69 6e 74 20 45 6e 64 44   int);..int EndD
17200 6f 63 28 48 44 43 29 3b 0a 0a 69 6e 74 20 45 6e  oc(HDC);..int En
17210 64 50 61 67 65 28 48 44 43 29 3b 0a 0a 42 4f 4f  dPage(HDC);..BOO
17220 4c 20 45 6e 64 50 61 74 68 28 48 44 43 29 3b 0a  L EndPath(HDC);.
17230 0a 42 4f 4f 4c 20 45 6e 75 6d 45 6e 68 4d 65 74  .BOOL EnumEnhMet
17240 61 46 69 6c 65 28 48 44 43 2c 20 48 45 4e 48 4d  aFile(HDC, HENHM
17250 45 54 41 46 49 4c 45 2c 20 45 4e 48 4d 46 45 4e  ETAFILE, ENHMFEN
17260 55 4d 50 52 4f 43 2c 20 50 56 4f 49 44 2c 20 4c  UMPROC, PVOID, L
17270 50 43 52 45 43 54 29 3b 0a 0a 69 6e 74 20 45 6e  PCRECT);..int En
17280 75 6d 46 6f 6e 74 46 61 6d 69 6c 69 65 73 41 28  umFontFamiliesA(
17290 48 44 43 2c 20 4c 50 43 53 54 52 2c 20 46 4f 4e  HDC, LPCSTR, FON
172a0 54 45 4e 55 4d 50 52 4f 43 41 2c 20 4c 50 41 52  TENUMPROCA, LPAR
172b0 41 4d 29 3b 0a 0a 69 6e 74 20 45 6e 75 6d 46 6f  AM);..int EnumFo
172c0 6e 74 46 61 6d 69 6c 69 65 73 57 28 48 44 43 2c  ntFamiliesW(HDC,
172d0 20 4c 50 43 57 53 54 52 2c 20 46 4f 4e 54 45 4e   LPCWSTR, FONTEN
172e0 55 4d 50 52 4f 43 57 2c 20 4c 50 41 52 41 4d 29  UMPROCW, LPARAM)
172f0 3b 0a 0a 69 6e 74 20 45 6e 75 6d 46 6f 6e 74 46  ;..int EnumFontF
17300 61 6d 69 6c 69 65 73 45 78 41 28 48 44 43 2c 20  amiliesExA(HDC, 
17310 50 4c 4f 47 46 4f 4e 54 41 2c 20 46 4f 4e 54 45  PLOGFONTA, FONTE
17320 4e 55 4d 50 52 4f 43 41 2c 20 4c 50 41 52 41 4d  NUMPROCA, LPARAM
17330 2c 20 44 57 4f 52 44 29 3b 0a 0a 69 6e 74 20 45  , DWORD);..int E
17340 6e 75 6d 46 6f 6e 74 46 61 6d 69 6c 69 65 73 45  numFontFamiliesE
17350 78 57 28 48 44 43 2c 20 50 4c 4f 47 46 4f 4e 54  xW(HDC, PLOGFONT
17360 57 2c 20 46 4f 4e 54 45 4e 55 4d 50 52 4f 43 57  W, FONTENUMPROCW
17370 2c 20 4c 50 41 52 41 4d 2c 20 44 57 4f 52 44 29  , LPARAM, DWORD)
17380 3b 0a 0a 69 6e 74 20 45 6e 75 6d 46 6f 6e 74 73  ;..int EnumFonts
17390 41 28 48 44 43 2c 20 4c 50 43 53 54 52 2c 20 46  A(HDC, LPCSTR, F
173a0 4f 4e 54 45 4e 55 4d 50 52 4f 43 41 2c 20 4c 50  ONTENUMPROCA, LP
173b0 41 52 41 4d 29 3b 0a 0a 69 6e 74 20 45 6e 75 6d  ARAM);..int Enum
173c0 46 6f 6e 74 73 57 28 48 44 43 2c 20 4c 50 43 57  FontsW(HDC, LPCW
173d0 53 54 52 2c 20 46 4f 4e 54 45 4e 55 4d 50 52 4f  STR, FONTENUMPRO
173e0 43 57 2c 20 4c 50 41 52 41 4d 29 3b 0a 0a 69 6e  CW, LPARAM);..in
173f0 74 20 45 6e 75 6d 49 43 4d 50 72 6f 66 69 6c 65  t EnumICMProfile
17400 73 41 28 48 44 43 2c 20 49 43 4d 45 4e 55 4d 50  sA(HDC, ICMENUMP
17410 52 4f 43 41 2c 20 4c 50 41 52 41 4d 29 3b 0a 0a  ROCA, LPARAM);..
17420 69 6e 74 20 45 6e 75 6d 49 43 4d 50 72 6f 66 69  int EnumICMProfi
17430 6c 65 73 57 28 48 44 43 2c 20 49 43 4d 45 4e 55  lesW(HDC, ICMENU
17440 4d 50 52 4f 43 57 2c 20 4c 50 41 52 41 4d 29 3b  MPROCW, LPARAM);
17450 0a 0a 42 4f 4f 4c 20 45 6e 75 6d 4d 65 74 61 46  ..BOOL EnumMetaF
17460 69 6c 65 28 48 44 43 2c 20 48 4d 45 54 41 46 49  ile(HDC, HMETAFI
17470 4c 45 2c 20 4d 46 45 4e 55 4d 50 52 4f 43 2c 20  LE, MFENUMPROC, 
17480 4c 50 41 52 41 4d 29 3b 0a 0a 69 6e 74 20 45 6e  LPARAM);..int En
17490 75 6d 4f 62 6a 65 63 74 73 28 48 44 43 2c 20 69  umObjects(HDC, i
174a0 6e 74 2c 20 47 4f 42 4a 45 4e 55 4d 50 52 4f 43  nt, GOBJENUMPROC
174b0 2c 20 4c 50 41 52 41 4d 29 3b 0a 0a 42 4f 4f 4c  , LPARAM);..BOOL
174c0 20 45 71 75 61 6c 52 67 6e 28 48 52 47 4e 2c 20   EqualRgn(HRGN, 
174d0 48 52 47 4e 29 3b 0a 0a 69 6e 74 20 45 73 63 61  HRGN);..int Esca
174e0 70 65 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74  pe(HDC, int, int
174f0 2c 20 4c 50 43 53 54 52 2c 20 50 56 4f 49 44 29  , LPCSTR, PVOID)
17500 3b 0a 0a 69 6e 74 20 45 78 63 6c 75 64 65 43 6c  ;..int ExcludeCl
17510 69 70 52 65 63 74 28 48 44 43 2c 20 69 6e 74 2c  ipRect(HDC, int,
17520 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29 3b   int, int, int);
17530 0a 0a 69 6e 74 20 45 78 63 6c 75 64 65 55 70 64  ..int ExcludeUpd
17540 61 74 65 52 67 6e 28 48 44 43 2c 20 48 57 4e 44  ateRgn(HDC, HWND
17550 29 3b 0a 0a 48 50 45 4e 20 45 78 74 43 72 65 61  );..HPEN ExtCrea
17560 74 65 50 65 6e 28 44 57 4f 52 44 2c 20 44 57 4f  tePen(DWORD, DWO
17570 52 44 2c 20 43 50 74 72 21 28 4c 4f 47 42 52 55  RD, CPtr!(LOGBRU
17580 53 48 29 2c 20 44 57 4f 52 44 2c 20 43 50 74 72  SH), DWORD, CPtr
17590 21 28 44 57 4f 52 44 29 29 3b 0a 0a 48 52 47 4e  !(DWORD));..HRGN
175a0 20 45 78 74 43 72 65 61 74 65 52 65 67 69 6f 6e   ExtCreateRegion
175b0 28 43 50 74 72 21 28 58 46 4f 52 4d 29 2c 20 44  (CPtr!(XFORM), D
175c0 57 4f 52 44 2c 20 43 50 74 72 21 28 52 47 4e 44  WORD, CPtr!(RGND
175d0 41 54 41 29 29 3b 0a 0a 69 6e 74 20 45 78 74 45  ATA));..int ExtE
175e0 73 63 61 70 65 28 48 44 43 2c 20 69 6e 74 2c 20  scape(HDC, int, 
175f0 69 6e 74 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74  int, LPCSTR, int
17600 2c 20 4c 50 53 54 52 29 3b 0a 0a 42 4f 4f 4c 20  , LPSTR);..BOOL 
17610 45 78 74 46 6c 6f 6f 64 46 69 6c 6c 28 48 44 43  ExtFloodFill(HDC
17620 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 43 4f 4c 4f  , int, int, COLO
17630 52 52 45 46 2c 20 55 49 4e 54 29 3b 0a 0a 69 6e  RREF, UINT);..in
17640 74 20 45 78 74 53 65 6c 65 63 74 43 6c 69 70 52  t ExtSelectClipR
17650 67 6e 28 48 44 43 2c 20 48 52 47 4e 2c 20 69 6e  gn(HDC, HRGN, in
17660 74 29 3b 0a 0a 42 4f 4f 4c 20 45 78 74 54 65 78  t);..BOOL ExtTex
17670 74 4f 75 74 41 28 48 44 43 2c 20 69 6e 74 2c 20  tOutA(HDC, int, 
17680 69 6e 74 2c 20 55 49 4e 54 2c 20 4c 50 43 52 45  int, UINT, LPCRE
17690 43 54 2c 20 4c 50 43 53 54 52 2c 20 55 49 4e 54  CT, LPCSTR, UINT
176a0 2c 20 43 50 74 72 21 28 49 4e 54 29 29 3b 0a 0a  , CPtr!(INT));..
176b0 42 4f 4f 4c 20 45 78 74 54 65 78 74 4f 75 74 57  BOOL ExtTextOutW
176c0 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20  (HDC, int, int, 
176d0 55 49 4e 54 2c 20 4c 50 43 52 45 43 54 2c 20 4c  UINT, LPCRECT, L
176e0 50 43 57 53 54 52 2c 20 55 49 4e 54 2c 20 43 50  PCWSTR, UINT, CP
176f0 74 72 21 28 49 4e 54 29 29 3b 0a 0a 42 4f 4f 4c  tr!(INT));..BOOL
17700 20 46 69 6c 6c 50 61 74 68 28 48 44 43 29 3b 0a   FillPath(HDC);.
17710 0a 69 6e 74 20 46 69 6c 6c 52 65 63 74 28 48 44  .int FillRect(HD
17720 43 2c 20 4c 50 43 52 45 43 54 2c 20 48 42 52 55  C, LPCRECT, HBRU
17730 53 48 29 3b 0a 0a 69 6e 74 20 46 69 6c 6c 52 67  SH);..int FillRg
17740 6e 28 48 44 43 2c 20 48 52 47 4e 2c 20 48 42 52  n(HDC, HRGN, HBR
17750 55 53 48 29 3b 0a 0a 42 4f 4f 4c 20 46 69 78 42  USH);..BOOL FixB
17760 72 75 73 68 4f 72 67 45 78 28 48 44 43 2c 20 69  rushOrgEx(HDC, i
17770 6e 74 2c 20 69 6e 74 2c 20 4c 50 50 4f 49 4e 54  nt, int, LPPOINT
17780 29 3b 0a 0a 42 4f 4f 4c 20 46 6c 61 74 74 65 6e  );..BOOL Flatten
17790 50 61 74 68 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c  Path(HDC);..BOOL
177a0 20 46 6c 6f 6f 64 46 69 6c 6c 28 48 44 43 2c 20   FloodFill(HDC, 
177b0 69 6e 74 2c 20 69 6e 74 2c 20 43 4f 4c 4f 52 52  int, int, COLORR
177c0 45 46 29 3b 0a 0a 42 4f 4f 4c 20 46 72 61 6d 65  EF);..BOOL Frame
177d0 52 67 6e 28 48 44 43 2c 20 48 52 47 4e 2c 20 48  Rgn(HDC, HRGN, H
177e0 42 52 55 53 48 2c 20 69 6e 74 2c 20 69 6e 74 29  BRUSH, int, int)
177f0 3b 0a 0a 42 4f 4f 4c 20 47 64 69 43 6f 6d 6d 65  ;..BOOL GdiComme
17800 6e 74 28 48 44 43 2c 20 55 49 4e 54 2c 20 43 50  nt(HDC, UINT, CP
17810 74 72 21 28 42 59 54 45 29 29 3b 0a 0a 42 4f 4f  tr!(BYTE));..BOO
17820 4c 20 47 64 69 46 6c 75 73 68 28 29 3b 0a 0a 44  L GdiFlush();..D
17830 57 4f 52 44 20 47 64 69 47 65 74 42 61 74 63 68  WORD GdiGetBatch
17840 4c 69 6d 69 74 28 29 3b 0a 0a 44 57 4f 52 44 20  Limit();..DWORD 
17850 47 64 69 53 65 74 42 61 74 63 68 4c 69 6d 69 74  GdiSetBatchLimit
17860 28 44 57 4f 52 44 29 3b 0a 0a 69 6e 74 20 47 65  (DWORD);..int Ge
17870 74 41 72 63 44 69 72 65 63 74 69 6f 6e 28 48 44  tArcDirection(HD
17880 43 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 41 73 70  C);..BOOL GetAsp
17890 65 63 74 52 61 74 69 6f 46 69 6c 74 65 72 45 78  ectRatioFilterEx
178a0 28 48 44 43 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a  (HDC, LPSIZE);..
178b0 4c 4f 4e 47 20 47 65 74 42 69 74 6d 61 70 42 69  LONG GetBitmapBi
178c0 74 73 28 48 42 49 54 4d 41 50 2c 20 4c 4f 4e 47  ts(HBITMAP, LONG
178d0 2c 20 50 56 4f 49 44 29 3b 0a 0a 42 4f 4f 4c 20  , PVOID);..BOOL 
178e0 47 65 74 42 69 74 6d 61 70 44 69 6d 65 6e 73 69  GetBitmapDimensi
178f0 6f 6e 45 78 28 48 42 49 54 4d 41 50 2c 20 4c 50  onEx(HBITMAP, LP
17900 53 49 5a 45 29 3b 0a 0a 43 4f 4c 4f 52 52 45 46  SIZE);..COLORREF
17910 20 47 65 74 42 6b 43 6f 6c 6f 72 28 48 44 43 29   GetBkColor(HDC)
17920 3b 0a 0a 69 6e 74 20 47 65 74 42 6b 4d 6f 64 65  ;..int GetBkMode
17930 28 48 44 43 29 3b 0a 0a 55 49 4e 54 20 47 65 74  (HDC);..UINT Get
17940 42 6f 75 6e 64 73 52 65 63 74 28 48 44 43 2c 20  BoundsRect(HDC, 
17950 4c 50 52 45 43 54 2c 20 55 49 4e 54 29 3b 0a 0a  LPRECT, UINT);..
17960 42 4f 4f 4c 20 47 65 74 42 72 75 73 68 4f 72 67  BOOL GetBrushOrg
17970 45 78 28 48 44 43 2c 20 4c 50 50 4f 49 4e 54 29  Ex(HDC, LPPOINT)
17980 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68 61 72 41  ;..BOOL GetCharA
17990 42 43 57 69 64 74 68 73 41 28 48 44 43 2c 20 55  BCWidthsA(HDC, U
179a0 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 41 42 43  INT, UINT, LPABC
179b0 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68 61 72  );..BOOL GetChar
179c0 41 42 43 57 69 64 74 68 73 57 28 48 44 43 2c 20  ABCWidthsW(HDC, 
179d0 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 41 42  UINT, UINT, LPAB
179e0 43 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68 61  C);..BOOL GetCha
179f0 72 41 42 43 57 69 64 74 68 73 46 6c 6f 61 74 41  rABCWidthsFloatA
17a00 28 48 44 43 2c 20 55 49 4e 54 2c 20 55 49 4e 54  (HDC, UINT, UINT
17a10 2c 20 4c 50 41 42 43 46 4c 4f 41 54 29 3b 0a 0a  , LPABCFLOAT);..
17a20 42 4f 4f 4c 20 47 65 74 43 68 61 72 41 42 43 57  BOOL GetCharABCW
17a30 69 64 74 68 73 46 6c 6f 61 74 57 28 48 44 43 2c  idthsFloatW(HDC,
17a40 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 41   UINT, UINT, LPA
17a50 42 43 46 4c 4f 41 54 29 3b 0a 0a 44 57 4f 52 44  BCFLOAT);..DWORD
17a60 20 47 65 74 43 68 61 72 61 63 74 65 72 50 6c 61   GetCharacterPla
17a70 63 65 6d 65 6e 74 41 28 48 44 43 2c 20 4c 50 43  cementA(HDC, LPC
17a80 53 54 52 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 4c  STR, int, int, L
17a90 50 47 43 50 5f 52 45 53 55 4c 54 53 41 2c 20 44  PGCP_RESULTSA, D
17aa0 57 4f 52 44 29 3b 0a 0a 44 57 4f 52 44 20 47 65  WORD);..DWORD Ge
17ab0 74 43 68 61 72 61 63 74 65 72 50 6c 61 63 65 6d  tCharacterPlacem
17ac0 65 6e 74 57 28 48 44 43 2c 20 4c 50 43 57 53 54  entW(HDC, LPCWST
17ad0 52 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 4c 50 47  R, int, int, LPG
17ae0 43 50 5f 52 45 53 55 4c 54 53 57 2c 20 44 57 4f  CP_RESULTSW, DWO
17af0 52 44 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68  RD);..BOOL GetCh
17b00 61 72 57 69 64 74 68 33 32 41 28 48 44 43 2c 20  arWidth32A(HDC, 
17b10 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 49 4e  UINT, UINT, LPIN
17b20 54 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68 61  T);..BOOL GetCha
17b30 72 57 69 64 74 68 33 32 57 28 48 44 43 2c 20 55  rWidth32W(HDC, U
17b40 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 49 4e 54  INT, UINT, LPINT
17b50 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 43 68 61 72  );..BOOL GetChar
17b60 57 69 64 74 68 41 28 48 44 43 2c 20 55 49 4e 54  WidthA(HDC, UINT
17b70 2c 20 55 49 4e 54 2c 20 4c 50 49 4e 54 29 3b 0a  , UINT, LPINT);.
17b80 0a 42 4f 4f 4c 20 47 65 74 43 68 61 72 57 69 64  .BOOL GetCharWid
17b90 74 68 57 28 48 44 43 2c 20 55 49 4e 54 2c 20 55  thW(HDC, UINT, U
17ba0 49 4e 54 2c 20 4c 50 49 4e 54 29 3b 0a 0a 42 4f  INT, LPINT);..BO
17bb0 4f 4c 20 47 65 74 43 68 61 72 57 69 64 74 68 46  OL GetCharWidthF
17bc0 6c 6f 61 74 41 28 48 44 43 2c 20 55 49 4e 54 2c  loatA(HDC, UINT,
17bd0 20 55 49 4e 54 2c 20 50 46 4c 4f 41 54 29 3b 0a   UINT, PFLOAT);.
17be0 0a 42 4f 4f 4c 20 47 65 74 43 68 61 72 57 69 64  .BOOL GetCharWid
17bf0 74 68 46 6c 6f 61 74 57 28 48 44 43 2c 20 55 49  thFloatW(HDC, UI
17c00 4e 54 2c 20 55 49 4e 54 2c 20 50 46 4c 4f 41 54  NT, UINT, PFLOAT
17c10 29 3b 0a 0a 69 6e 74 20 47 65 74 43 6c 69 70 42  );..int GetClipB
17c20 6f 78 28 48 44 43 2c 20 4c 50 52 45 43 54 29 3b  ox(HDC, LPRECT);
17c30 0a 0a 69 6e 74 20 47 65 74 43 6c 69 70 52 67 6e  ..int GetClipRgn
17c40 28 48 44 43 2c 20 48 52 47 4e 29 3b 0a 0a 42 4f  (HDC, HRGN);..BO
17c50 4f 4c 20 47 65 74 43 6f 6c 6f 72 41 64 6a 75 73  OL GetColorAdjus
17c60 74 6d 65 6e 74 28 48 44 43 2c 20 4c 50 43 4f 4c  tment(HDC, LPCOL
17c70 4f 52 41 44 4a 55 53 54 4d 45 4e 54 29 3b 0a 0a  ORADJUSTMENT);..
17c80 48 41 4e 44 4c 45 20 47 65 74 43 6f 6c 6f 72 53  HANDLE GetColorS
17c90 70 61 63 65 28 48 44 43 29 3b 0a 0a 48 47 44 49  pace(HDC);..HGDI
17ca0 4f 42 4a 20 47 65 74 43 75 72 72 65 6e 74 4f 62  OBJ GetCurrentOb
17cb0 6a 65 63 74 28 48 44 43 2c 20 55 49 4e 54 29 3b  ject(HDC, UINT);
17cc0 0a 0a 42 4f 4f 4c 20 47 65 74 43 75 72 72 65 6e  ..BOOL GetCurren
17cd0 74 50 6f 73 69 74 69 6f 6e 45 78 28 48 44 43 2c  tPositionEx(HDC,
17ce0 20 4c 50 50 4f 49 4e 54 29 3b 0a 0a 48 43 55 52   LPPOINT);..HCUR
17cf0 53 4f 52 20 47 65 74 43 75 72 73 6f 72 28 29 3b  SOR GetCursor();
17d00 0a 0a 42 4f 4f 4c 20 47 65 74 44 43 4f 72 67 45  ..BOOL GetDCOrgE
17d10 78 28 48 44 43 2c 20 4c 50 50 4f 49 4e 54 29 3b  x(HDC, LPPOINT);
17d20 0a 0a 69 6e 74 20 47 65 74 44 65 76 69 63 65 43  ..int GetDeviceC
17d30 61 70 73 28 48 44 43 2c 20 69 6e 74 29 3b 0a 0a  aps(HDC, int);..
17d40 42 4f 4f 4c 20 47 65 74 44 65 76 69 63 65 47 61  BOOL GetDeviceGa
17d50 6d 6d 61 52 61 6d 70 28 48 44 43 2c 20 50 56 4f  mmaRamp(HDC, PVO
17d60 49 44 29 3b 0a 0a 55 49 4e 54 20 47 65 74 44 49  ID);..UINT GetDI
17d70 42 43 6f 6c 6f 72 54 61 62 6c 65 28 48 44 43 2c  BColorTable(HDC,
17d80 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 52 47 42   UINT, UINT, RGB
17d90 51 55 41 44 2a 29 3b 0a 0a 69 6e 74 20 47 65 74  QUAD*);..int Get
17da0 44 49 42 69 74 73 28 48 44 43 2c 20 48 42 49 54  DIBits(HDC, HBIT
17db0 4d 41 50 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c  MAP, UINT, UINT,
17dc0 20 50 56 4f 49 44 2c 20 4c 50 42 49 54 4d 41 50   PVOID, LPBITMAP
17dd0 49 4e 46 4f 2c 20 55 49 4e 54 29 3b 0a 0a 48 45  INFO, UINT);..HE
17de0 4e 48 4d 45 54 41 46 49 4c 45 20 47 65 74 45 6e  NHMETAFILE GetEn
17df0 68 4d 65 74 61 46 69 6c 65 41 28 4c 50 43 53 54  hMetaFileA(LPCST
17e00 52 29 3b 0a 0a 48 45 4e 48 4d 45 54 41 46 49 4c  R);..HENHMETAFIL
17e10 45 20 47 65 74 45 6e 68 4d 65 74 61 46 69 6c 65  E GetEnhMetaFile
17e20 57 28 4c 50 43 57 53 54 52 29 3b 0a 0a 55 49 4e  W(LPCWSTR);..UIN
17e30 54 20 47 65 74 45 6e 68 4d 65 74 61 46 69 6c 65  T GetEnhMetaFile
17e40 42 69 74 73 28 48 45 4e 48 4d 45 54 41 46 49 4c  Bits(HENHMETAFIL
17e50 45 2c 20 55 49 4e 54 2c 20 4c 50 42 59 54 45 29  E, UINT, LPBYTE)
17e60 3b 0a 0a 55 49 4e 54 20 47 65 74 45 6e 68 4d 65  ;..UINT GetEnhMe
17e70 74 61 46 69 6c 65 44 65 73 63 72 69 70 74 69 6f  taFileDescriptio
17e80 6e 41 28 48 45 4e 48 4d 45 54 41 46 49 4c 45 2c  nA(HENHMETAFILE,
17e90 20 55 49 4e 54 2c 20 4c 50 53 54 52 29 3b 0a 0a   UINT, LPSTR);..
17ea0 55 49 4e 54 20 47 65 74 45 6e 68 4d 65 74 61 46  UINT GetEnhMetaF
17eb0 69 6c 65 44 65 73 63 72 69 70 74 69 6f 6e 57 28  ileDescriptionW(
17ec0 48 45 4e 48 4d 45 54 41 46 49 4c 45 2c 20 55 49  HENHMETAFILE, UI
17ed0 4e 54 2c 20 4c 50 57 53 54 52 29 3b 0a 0a 55 49  NT, LPWSTR);..UI
17ee0 4e 54 20 47 65 74 45 6e 68 4d 65 74 61 46 69 6c  NT GetEnhMetaFil
17ef0 65 48 65 61 64 65 72 28 48 45 4e 48 4d 45 54 41  eHeader(HENHMETA
17f00 46 49 4c 45 2c 20 55 49 4e 54 2c 20 4c 50 45 4e  FILE, UINT, LPEN
17f10 48 4d 45 54 41 48 45 41 44 45 52 29 3b 0a 0a 55  HMETAHEADER);..U
17f20 49 4e 54 20 47 65 74 45 6e 68 4d 65 74 61 46 69  INT GetEnhMetaFi
17f30 6c 65 50 61 6c 65 74 74 65 45 6e 74 72 69 65 73  lePaletteEntries
17f40 28 48 45 4e 48 4d 45 54 41 46 49 4c 45 2c 20 55  (HENHMETAFILE, U
17f50 49 4e 54 2c 20 4c 50 50 41 4c 45 54 54 45 45 4e  INT, LPPALETTEEN
17f60 54 52 59 29 3b 0a 0a 55 49 4e 54 20 47 65 74 45  TRY);..UINT GetE
17f70 6e 68 4d 65 74 61 46 69 6c 65 50 69 78 65 6c 46  nhMetaFilePixelF
17f80 6f 72 6d 61 74 28 48 45 4e 48 4d 45 54 41 46 49  ormat(HENHMETAFI
17f90 4c 45 2c 20 44 57 4f 52 44 2c 20 43 50 74 72 21  LE, DWORD, CPtr!
17fa0 28 50 49 58 45 4c 46 4f 52 4d 41 54 44 45 53 43  (PIXELFORMATDESC
17fb0 52 49 50 54 4f 52 29 29 3b 0a 0a 44 57 4f 52 44  RIPTOR));..DWORD
17fc0 20 47 65 74 46 6f 6e 74 44 61 74 61 28 48 44 43   GetFontData(HDC
17fd0 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  , DWORD, DWORD, 
17fe0 50 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a 0a  PVOID, DWORD);..
17ff0 44 57 4f 52 44 20 47 65 74 46 6f 6e 74 4c 61 6e  DWORD GetFontLan
18000 67 75 61 67 65 49 6e 66 6f 28 48 44 43 29 3b 0a  guageInfo(HDC);.
18010 0a 44 57 4f 52 44 20 47 65 74 47 6c 79 70 68 4f  .DWORD GetGlyphO
18020 75 74 6c 69 6e 65 41 28 48 44 43 2c 20 55 49 4e  utlineA(HDC, UIN
18030 54 2c 20 55 49 4e 54 2c 20 4c 50 47 4c 59 50 48  T, UINT, LPGLYPH
18040 4d 45 54 52 49 43 53 2c 20 44 57 4f 52 44 2c 20  METRICS, DWORD, 
18050 50 56 4f 49 44 2c 20 43 50 74 72 21 28 4d 41 54  PVOID, CPtr!(MAT
18060 32 29 29 3b 0a 0a 44 57 4f 52 44 20 47 65 74 47  2));..DWORD GetG
18070 6c 79 70 68 4f 75 74 6c 69 6e 65 57 28 48 44 43  lyphOutlineW(HDC
18080 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50  , UINT, UINT, LP
18090 47 4c 59 50 48 4d 45 54 52 49 43 53 2c 20 44 57  GLYPHMETRICS, DW
180a0 4f 52 44 2c 20 50 56 4f 49 44 2c 20 43 50 74 72  ORD, PVOID, CPtr
180b0 21 28 4d 41 54 32 29 29 3b 0a 0a 69 6e 74 20 47  !(MAT2));..int G
180c0 65 74 47 72 61 70 68 69 63 73 4d 6f 64 65 28 48  etGraphicsMode(H
180d0 44 43 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 49 43  DC);..BOOL GetIC
180e0 4d 50 72 6f 66 69 6c 65 41 28 48 44 43 2c 20 44  MProfileA(HDC, D
180f0 57 4f 52 44 2c 20 4c 50 53 54 52 29 3b 0a 0a 42  WORD, LPSTR);..B
18100 4f 4f 4c 20 47 65 74 49 43 4d 50 72 6f 66 69 6c  OOL GetICMProfil
18110 65 57 28 48 44 43 2c 20 44 57 4f 52 44 2c 20 4c  eW(HDC, DWORD, L
18120 50 57 53 54 52 29 3b 0a 0a 44 57 4f 52 44 20 47  PWSTR);..DWORD G
18130 65 74 4b 65 72 6e 69 6e 67 50 61 69 72 73 41 28  etKerningPairsA(
18140 48 44 43 2c 20 44 57 4f 52 44 2c 20 4c 50 4b 45  HDC, DWORD, LPKE
18150 52 4e 49 4e 47 50 41 49 52 29 3b 0a 0a 44 57 4f  RNINGPAIR);..DWO
18160 52 44 20 47 65 74 4b 65 72 6e 69 6e 67 50 61 69  RD GetKerningPai
18170 72 73 57 28 48 44 43 2c 20 44 57 4f 52 44 2c 20  rsW(HDC, DWORD, 
18180 4c 50 4b 45 52 4e 49 4e 47 50 41 49 52 29 3b 0a  LPKERNINGPAIR);.
18190 0a 42 4f 4f 4c 20 47 65 74 4c 6f 67 43 6f 6c 6f  .BOOL GetLogColo
181a0 72 53 70 61 63 65 41 28 48 43 4f 4c 4f 52 53 50  rSpaceA(HCOLORSP
181b0 41 43 45 2c 20 4c 50 4c 4f 47 43 4f 4c 4f 52 53  ACE, LPLOGCOLORS
181c0 50 41 43 45 41 2c 20 44 57 4f 52 44 29 3b 0a 0a  PACEA, DWORD);..
181d0 42 4f 4f 4c 20 47 65 74 4c 6f 67 43 6f 6c 6f 72  BOOL GetLogColor
181e0 53 70 61 63 65 57 28 48 43 4f 4c 4f 52 53 50 41  SpaceW(HCOLORSPA
181f0 43 45 2c 20 4c 50 4c 4f 47 43 4f 4c 4f 52 53 50  CE, LPLOGCOLORSP
18200 41 43 45 57 2c 20 44 57 4f 52 44 29 3b 0a 0a 69  ACEW, DWORD);..i
18210 6e 74 20 47 65 74 4d 61 70 4d 6f 64 65 28 48 44  nt GetMapMode(HD
18220 43 29 3b 0a 0a 48 4d 45 54 41 46 49 4c 45 20 47  C);..HMETAFILE G
18230 65 74 4d 65 74 61 46 69 6c 65 41 28 4c 50 43 53  etMetaFileA(LPCS
18240 54 52 29 3b 0a 0a 48 4d 45 54 41 46 49 4c 45 20  TR);..HMETAFILE 
18250 47 65 74 4d 65 74 61 46 69 6c 65 57 28 4c 50 43  GetMetaFileW(LPC
18260 57 53 54 52 29 3b 0a 0a 55 49 4e 54 20 47 65 74  WSTR);..UINT Get
18270 4d 65 74 61 46 69 6c 65 42 69 74 73 45 78 28 48  MetaFileBitsEx(H
18280 4d 45 54 41 46 49 4c 45 2c 20 55 49 4e 54 2c 20  METAFILE, UINT, 
18290 50 56 4f 49 44 29 3b 0a 0a 69 6e 74 20 47 65 74  PVOID);..int Get
182a0 4d 65 74 61 52 67 6e 28 48 44 43 2c 20 48 52 47  MetaRgn(HDC, HRG
182b0 4e 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 4d 69 74  N);..BOOL GetMit
182c0 65 72 4c 69 6d 69 74 28 48 44 43 2c 20 50 46 4c  erLimit(HDC, PFL
182d0 4f 41 54 29 3b 0a 0a 43 4f 4c 4f 52 52 45 46 20  OAT);..COLORREF 
182e0 47 65 74 4e 65 61 72 65 73 74 43 6f 6c 6f 72 28  GetNearestColor(
182f0 48 44 43 2c 20 43 4f 4c 4f 52 52 45 46 29 3b 0a  HDC, COLORREF);.
18300 0a 55 49 4e 54 20 47 65 74 4e 65 61 72 65 73 74  .UINT GetNearest
18310 50 61 6c 65 74 74 65 49 6e 64 65 78 28 48 50 41  PaletteIndex(HPA
18320 4c 45 54 54 45 2c 20 43 4f 4c 4f 52 52 45 46 29  LETTE, COLORREF)
18330 3b 0a 0a 69 6e 74 20 47 65 74 4f 62 6a 65 63 74  ;..int GetObject
18340 41 28 48 47 44 49 4f 42 4a 2c 20 69 6e 74 2c 20  A(HGDIOBJ, int, 
18350 50 56 4f 49 44 29 3b 0a 0a 69 6e 74 20 47 65 74  PVOID);..int Get
18360 4f 62 6a 65 63 74 57 28 48 47 44 49 4f 42 4a 2c  ObjectW(HGDIOBJ,
18370 20 69 6e 74 2c 20 50 56 4f 49 44 29 3b 0a 0a 44   int, PVOID);..D
18380 57 4f 52 44 20 47 65 74 4f 62 6a 65 63 74 54 79  WORD GetObjectTy
18390 70 65 28 48 47 44 49 4f 42 4a 29 3b 0a 0a 55 49  pe(HGDIOBJ);..UI
183a0 4e 54 20 47 65 74 4f 75 74 6c 69 6e 65 54 65 78  NT GetOutlineTex
183b0 74 4d 65 74 72 69 63 73 41 28 48 44 43 2c 20 55  tMetricsA(HDC, U
183c0 49 4e 54 2c 20 4c 50 4f 55 54 4c 49 4e 45 54 45  INT, LPOUTLINETE
183d0 58 54 4d 45 54 52 49 43 41 29 3b 0a 0a 55 49 4e  XTMETRICA);..UIN
183e0 54 20 47 65 74 4f 75 74 6c 69 6e 65 54 65 78 74  T GetOutlineText
183f0 4d 65 74 72 69 63 73 57 28 48 44 43 2c 20 55 49  MetricsW(HDC, UI
18400 4e 54 2c 20 4c 50 4f 55 54 4c 49 4e 45 54 45 58  NT, LPOUTLINETEX
18410 54 4d 45 54 52 49 43 57 29 3b 0a 0a 55 49 4e 54  TMETRICW);..UINT
18420 20 47 65 74 50 61 6c 65 74 74 65 45 6e 74 72 69   GetPaletteEntri
18430 65 73 28 48 50 41 4c 45 54 54 45 2c 20 55 49 4e  es(HPALETTE, UIN
18440 54 2c 20 55 49 4e 54 2c 20 4c 50 50 41 4c 45 54  T, UINT, LPPALET
18450 54 45 45 4e 54 52 59 29 3b 0a 0a 69 6e 74 20 47  TEENTRY);..int G
18460 65 74 50 61 74 68 28 48 44 43 2c 20 4c 50 50 4f  etPath(HDC, LPPO
18470 49 4e 54 2c 20 50 42 59 54 45 2c 20 69 6e 74 29  INT, PBYTE, int)
18480 3b 0a 0a 43 4f 4c 4f 52 52 45 46 20 47 65 74 50  ;..COLORREF GetP
18490 69 78 65 6c 28 48 44 43 2c 20 69 6e 74 2c 20 69  ixel(HDC, int, i
184a0 6e 74 29 3b 0a 0a 69 6e 74 20 47 65 74 50 69 78  nt);..int GetPix
184b0 65 6c 46 6f 72 6d 61 74 28 48 44 43 29 3b 0a 0a  elFormat(HDC);..
184c0 69 6e 74 20 47 65 74 50 6f 6c 79 46 69 6c 6c 4d  int GetPolyFillM
184d0 6f 64 65 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20  ode(HDC);..BOOL 
184e0 47 65 74 52 61 73 74 65 72 69 7a 65 72 43 61 70  GetRasterizerCap
184f0 73 28 4c 50 52 41 53 54 45 52 49 5a 45 52 5f 53  s(LPRASTERIZER_S
18500 54 41 54 55 53 2c 20 55 49 4e 54 29 3b 0a 0a 69  TATUS, UINT);..i
18510 6e 74 20 47 65 74 52 61 6e 64 6f 6d 52 67 6e 28  nt GetRandomRgn(
18520 48 44 43 2c 20 48 52 47 4e 2c 20 49 4e 54 29 3b  HDC, HRGN, INT);
18530 0a 0a 44 57 4f 52 44 20 47 65 74 52 65 67 69 6f  ..DWORD GetRegio
18540 6e 44 61 74 61 28 48 52 47 4e 2c 20 44 57 4f 52  nData(HRGN, DWOR
18550 44 2c 20 4c 50 52 47 4e 44 41 54 41 29 3b 0a 0a  D, LPRGNDATA);..
18560 69 6e 74 20 47 65 74 52 67 6e 42 6f 78 28 48 52  int GetRgnBox(HR
18570 47 4e 2c 20 4c 50 52 45 43 54 29 3b 0a 0a 69 6e  GN, LPRECT);..in
18580 74 20 47 65 74 52 4f 50 32 28 48 44 43 29 3b 0a  t GetROP2(HDC);.
18590 0a 48 47 44 49 4f 42 4a 20 47 65 74 53 74 6f 63  .HGDIOBJ GetStoc
185a0 6b 4f 62 6a 65 63 74 28 69 6e 74 29 3b 0a 0a 69  kObject(int);..i
185b0 6e 74 20 47 65 74 53 74 72 65 74 63 68 42 6c 74  nt GetStretchBlt
185c0 4d 6f 64 65 28 48 44 43 29 3b 0a 0a 55 49 4e 54  Mode(HDC);..UINT
185d0 20 47 65 74 53 79 73 74 65 6d 50 61 6c 65 74 74   GetSystemPalett
185e0 65 45 6e 74 72 69 65 73 28 48 44 43 2c 20 55 49  eEntries(HDC, UI
185f0 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 50 41 4c 45  NT, UINT, LPPALE
18600 54 54 45 45 4e 54 52 59 29 3b 0a 0a 55 49 4e 54  TTEENTRY);..UINT
18610 20 47 65 74 53 79 73 74 65 6d 50 61 6c 65 74 74   GetSystemPalett
18620 65 55 73 65 28 48 44 43 29 3b 0a 0a 55 49 4e 54  eUse(HDC);..UINT
18630 20 47 65 74 54 65 78 74 41 6c 69 67 6e 28 48 44   GetTextAlign(HD
18640 43 29 3b 0a 0a 69 6e 74 20 47 65 74 54 65 78 74  C);..int GetText
18650 43 68 61 72 61 63 74 65 72 45 78 74 72 61 28 48  CharacterExtra(H
18660 44 43 29 3b 0a 0a 69 6e 74 20 47 65 74 54 65 78  DC);..int GetTex
18670 74 43 68 61 72 73 65 74 28 48 44 43 29 3b 0a 0a  tCharset(HDC);..
18680 69 6e 74 20 47 65 74 54 65 78 74 43 68 61 72 73  int GetTextChars
18690 65 74 49 6e 66 6f 28 48 44 43 2c 20 4c 50 46 4f  etInfo(HDC, LPFO
186a0 4e 54 53 49 47 4e 41 54 55 52 45 2c 20 44 57 4f  NTSIGNATURE, DWO
186b0 52 44 29 3b 0a 0a 43 4f 4c 4f 52 52 45 46 20 47  RD);..COLORREF G
186c0 65 74 54 65 78 74 43 6f 6c 6f 72 28 48 44 43 29  etTextColor(HDC)
186d0 3b 0a 0a 42 4f 4f 4c 20 47 65 74 54 65 78 74 45  ;..BOOL GetTextE
186e0 78 74 65 6e 74 45 78 50 6f 69 6e 74 41 28 48 44  xtentExPointA(HD
186f0 43 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 2c 20  C, LPCSTR, int, 
18700 69 6e 74 2c 20 4c 50 49 4e 54 2c 20 4c 50 49 4e  int, LPINT, LPIN
18710 54 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f  T, LPSIZE);..BOO
18720 4c 20 47 65 74 54 65 78 74 45 78 74 65 6e 74 45  L GetTextExtentE
18730 78 50 6f 69 6e 74 57 28 48 44 43 2c 20 4c 50 43  xPointW(HDC, LPC
18740 57 53 54 52 2c 20 69 6e 74 2c 20 69 6e 74 2c 20  WSTR, int, int, 
18750 4c 50 49 4e 54 2c 20 4c 50 49 4e 54 2c 20 4c 50  LPINT, LPINT, LP
18760 53 49 5a 45 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74  SIZE);..BOOL Get
18770 54 65 78 74 45 78 74 65 6e 74 50 6f 69 6e 74 41  TextExtentPointA
18780 28 48 44 43 2c 20 4c 50 43 53 54 52 2c 20 69 6e  (HDC, LPCSTR, in
18790 74 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f  t, LPSIZE);..BOO
187a0 4c 20 47 65 74 54 65 78 74 45 78 74 65 6e 74 50  L GetTextExtentP
187b0 6f 69 6e 74 57 28 48 44 43 2c 20 4c 50 43 57 53  ointW(HDC, LPCWS
187c0 54 52 2c 20 69 6e 74 2c 20 4c 50 53 49 5a 45 29  TR, int, LPSIZE)
187d0 3b 0a 0a 42 4f 4f 4c 20 47 65 74 54 65 78 74 45  ;..BOOL GetTextE
187e0 78 74 65 6e 74 50 6f 69 6e 74 33 32 41 28 48 44  xtentPoint32A(HD
187f0 43 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 2c 20  C, LPCSTR, int, 
18800 4c 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f 4c 20 47  LPSIZE);..BOOL G
18810 65 74 54 65 78 74 45 78 74 65 6e 74 50 6f 69 6e  etTextExtentPoin
18820 74 33 32 57 28 48 44 43 2c 20 4c 50 43 57 53 54  t32W(HDC, LPCWST
18830 52 2c 20 69 6e 74 2c 20 4c 50 53 49 5a 45 29 3b  R, int, LPSIZE);
18840 0a 0a 69 6e 74 20 47 65 74 54 65 78 74 46 61 63  ..int GetTextFac
18850 65 41 28 48 44 43 2c 20 69 6e 74 2c 20 4c 50 53  eA(HDC, int, LPS
18860 54 52 29 3b 0a 0a 69 6e 74 20 47 65 74 54 65 78  TR);..int GetTex
18870 74 46 61 63 65 57 28 48 44 43 2c 20 69 6e 74 2c  tFaceW(HDC, int,
18880 20 4c 50 57 53 54 52 29 3b 0a 0a 42 4f 4f 4c 20   LPWSTR);..BOOL 
18890 47 65 74 54 65 78 74 4d 65 74 72 69 63 73 41 28  GetTextMetricsA(
188a0 48 44 43 2c 20 4c 50 54 45 58 54 4d 45 54 52 49  HDC, LPTEXTMETRI
188b0 43 41 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 54 65  CA);..BOOL GetTe
188c0 78 74 4d 65 74 72 69 63 73 57 28 48 44 43 2c 20  xtMetricsW(HDC, 
188d0 4c 50 54 45 58 54 4d 45 54 52 49 43 57 29 3b 0a  LPTEXTMETRICW);.
188e0 0a 42 4f 4f 4c 20 47 65 74 56 69 65 77 70 6f 72  .BOOL GetViewpor
188f0 74 45 78 74 45 78 28 48 44 43 2c 20 4c 50 53 49  tExtEx(HDC, LPSI
18900 5a 45 29 3b 0a 0a 42 4f 4f 4c 20 47 65 74 56 69  ZE);..BOOL GetVi
18910 65 77 70 6f 72 74 4f 72 67 45 78 28 48 44 43 2c  ewportOrgEx(HDC,
18920 20 4c 50 50 4f 49 4e 54 29 3b 0a 0a 42 4f 4f 4c   LPPOINT);..BOOL
18930 20 47 65 74 57 69 6e 64 6f 77 45 78 74 45 78 28   GetWindowExtEx(
18940 48 44 43 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a 42  HDC, LPSIZE);..B
18950 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 4f 72 67  OOL GetWindowOrg
18960 45 78 28 48 44 43 2c 20 4c 50 50 4f 49 4e 54 29  Ex(HDC, LPPOINT)
18970 3b 0a 0a 55 49 4e 54 20 47 65 74 57 69 6e 4d 65  ;..UINT GetWinMe
18980 74 61 46 69 6c 65 42 69 74 73 28 48 45 4e 48 4d  taFileBits(HENHM
18990 45 54 41 46 49 4c 45 2c 20 55 49 4e 54 2c 20 4c  ETAFILE, UINT, L
189a0 50 42 59 54 45 2c 20 49 4e 54 2c 20 48 44 43 29  PBYTE, INT, HDC)
189b0 3b 0a 0a 42 4f 4f 4c 20 47 65 74 57 6f 72 6c 64  ;..BOOL GetWorld
189c0 54 72 61 6e 73 66 6f 72 6d 28 48 44 43 2c 20 4c  Transform(HDC, L
189d0 50 58 46 4f 52 4d 29 3b 0a 0a 69 6e 74 20 49 6e  PXFORM);..int In
189e0 74 65 72 73 65 63 74 43 6c 69 70 52 65 63 74 28  tersectClipRect(
189f0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
18a00 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f 4c 20  nt, int);..BOOL 
18a10 49 6e 76 65 72 74 52 67 6e 28 48 44 43 2c 20 48  InvertRgn(HDC, H
18a20 52 47 4e 29 3b 0a 0a 42 4f 4f 4c 20 4c 69 6e 65  RGN);..BOOL Line
18a30 44 44 41 28 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  DDA(int, int, in
18a40 74 2c 20 69 6e 74 2c 20 4c 49 4e 45 44 44 41 50  t, int, LINEDDAP
18a50 52 4f 43 2c 20 4c 50 41 52 41 4d 29 3b 0a 0a 42  ROC, LPARAM);..B
18a60 4f 4f 4c 20 4c 69 6e 65 54 6f 28 48 44 43 2c 20  OOL LineTo(HDC, 
18a70 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f 4c  int, int);..BOOL
18a80 20 4c 50 74 6f 44 50 28 48 44 43 2c 20 4c 50 50   LPtoDP(HDC, LPP
18a90 4f 49 4e 54 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f  OINT, int);..BOO
18aa0 4c 20 4d 61 73 6b 42 6c 74 28 48 44 43 2c 20 69  L MaskBlt(HDC, i
18ab0 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
18ac0 74 2c 20 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74  t, HDC, int, int
18ad0 2c 20 48 42 49 54 4d 41 50 2c 20 69 6e 74 2c 20  , HBITMAP, int, 
18ae0 69 6e 74 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f  int, DWORD);..BO
18af0 4f 4c 20 4d 6f 64 69 66 79 57 6f 72 6c 64 54 72  OL ModifyWorldTr
18b00 61 6e 73 66 6f 72 6d 28 48 44 43 2c 20 43 50 74  ansform(HDC, CPt
18b10 72 21 28 58 46 4f 52 4d 29 2c 20 44 57 4f 52 44  r!(XFORM), DWORD
18b20 29 3b 0a 0a 42 4f 4f 4c 20 4d 6f 76 65 54 6f 45  );..BOOL MoveToE
18b30 78 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c  x(HDC, int, int,
18b40 20 4c 50 50 4f 49 4e 54 29 3b 0a 0a 69 6e 74 20   LPPOINT);..int 
18b50 4f 66 66 73 65 74 43 6c 69 70 52 67 6e 28 48 44  OffsetClipRgn(HD
18b60 43 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 69  C, int, int);..i
18b70 6e 74 20 4f 66 66 73 65 74 52 67 6e 28 48 52 47  nt OffsetRgn(HRG
18b80 4e 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42  N, int, int);..B
18b90 4f 4f 4c 20 4f 66 66 73 65 74 56 69 65 77 70 6f  OOL OffsetViewpo
18ba0 72 74 4f 72 67 45 78 28 48 44 43 2c 20 69 6e 74  rtOrgEx(HDC, int
18bb0 2c 20 69 6e 74 2c 20 4c 50 50 4f 49 4e 54 29 3b  , int, LPPOINT);
18bc0 0a 0a 42 4f 4f 4c 20 4f 66 66 73 65 74 57 69 6e  ..BOOL OffsetWin
18bd0 64 6f 77 4f 72 67 45 78 28 48 44 43 2c 20 69 6e  dowOrgEx(HDC, in
18be0 74 2c 20 69 6e 74 2c 20 4c 50 50 4f 49 4e 54 29  t, int, LPPOINT)
18bf0 3b 0a 0a 42 4f 4f 4c 20 50 61 69 6e 74 52 67 6e  ;..BOOL PaintRgn
18c00 28 48 44 43 2c 20 48 52 47 4e 29 3b 0a 0a 42 4f  (HDC, HRGN);..BO
18c10 4f 4c 20 50 61 74 42 6c 74 28 48 44 43 2c 20 69  OL PatBlt(HDC, i
18c20 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
18c30 74 2c 20 44 57 4f 52 44 29 3b 0a 0a 48 52 47 4e  t, DWORD);..HRGN
18c40 20 50 61 74 68 54 6f 52 65 67 69 6f 6e 28 48 44   PathToRegion(HD
18c50 43 29 3b 0a 0a 42 4f 4f 4c 20 50 69 65 28 48 44  C);..BOOL Pie(HD
18c60 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74  C, int, int, int
18c70 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c  , int, int, int,
18c80 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f   int, int);..BOO
18c90 4c 20 50 6c 61 79 45 6e 68 4d 65 74 61 46 69 6c  L PlayEnhMetaFil
18ca0 65 28 48 44 43 2c 20 48 45 4e 48 4d 45 54 41 46  e(HDC, HENHMETAF
18cb0 49 4c 45 2c 20 4c 50 43 52 45 43 54 29 3b 0a 0a  ILE, LPCRECT);..
18cc0 42 4f 4f 4c 20 50 6c 61 79 45 6e 68 4d 65 74 61  BOOL PlayEnhMeta
18cd0 46 69 6c 65 52 65 63 6f 72 64 28 48 44 43 2c 20  FileRecord(HDC, 
18ce0 4c 50 48 41 4e 44 4c 45 54 41 42 4c 45 2c 20 43  LPHANDLETABLE, C
18cf0 50 74 72 21 28 45 4e 48 4d 45 54 41 52 45 43 4f  Ptr!(ENHMETARECO
18d00 52 44 29 2c 20 55 49 4e 54 29 3b 0a 0a 42 4f 4f  RD), UINT);..BOO
18d10 4c 20 50 6c 61 79 4d 65 74 61 46 69 6c 65 28 48  L PlayMetaFile(H
18d20 44 43 2c 20 48 4d 45 54 41 46 49 4c 45 29 3b 0a  DC, HMETAFILE);.
18d30 0a 42 4f 4f 4c 20 50 6c 61 79 4d 65 74 61 46 69  .BOOL PlayMetaFi
18d40 6c 65 52 65 63 6f 72 64 28 48 44 43 2c 20 4c 50  leRecord(HDC, LP
18d50 48 41 4e 44 4c 45 54 41 42 4c 45 2c 20 4c 50 4d  HANDLETABLE, LPM
18d60 45 54 41 52 45 43 4f 52 44 2c 20 55 49 4e 54 29  ETARECORD, UINT)
18d70 3b 0a 0a 42 4f 4f 4c 20 50 6c 67 42 6c 74 28 48  ;..BOOL PlgBlt(H
18d80 44 43 2c 20 43 50 74 72 21 28 50 4f 49 4e 54 29  DC, CPtr!(POINT)
18d90 2c 20 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c  , HDC, int, int,
18da0 20 69 6e 74 2c 20 69 6e 74 2c 20 48 42 49 54 4d   int, int, HBITM
18db0 41 50 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a  AP, int, int);..
18dc0 42 4f 4f 4c 20 50 6f 6c 79 42 65 7a 69 65 72 28  BOOL PolyBezier(
18dd0 48 44 43 2c 20 43 50 74 72 21 28 50 4f 49 4e 54  HDC, CPtr!(POINT
18de0 29 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c  ), DWORD);..BOOL
18df0 20 50 6f 6c 79 42 65 7a 69 65 72 54 6f 28 48 44   PolyBezierTo(HD
18e00 43 2c 20 43 50 74 72 21 28 50 4f 49 4e 54 29 2c  C, CPtr!(POINT),
18e10 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c 20 50   DWORD);..BOOL P
18e20 6f 6c 79 44 72 61 77 28 48 44 43 2c 20 43 50 74  olyDraw(HDC, CPt
18e30 72 21 28 50 4f 49 4e 54 29 2c 20 43 50 74 72 21  r!(POINT), CPtr!
18e40 28 42 59 54 45 29 2c 20 69 6e 74 29 3b 0a 0a 42  (BYTE), int);..B
18e50 4f 4f 4c 20 50 6f 6c 79 67 6f 6e 28 48 44 43 2c  OOL Polygon(HDC,
18e60 20 43 50 74 72 21 28 50 4f 49 4e 54 29 2c 20 69   CPtr!(POINT), i
18e70 6e 74 29 3b 0a 0a 42 4f 4f 4c 20 50 6f 6c 79 6c  nt);..BOOL Polyl
18e80 69 6e 65 28 48 44 43 2c 20 43 50 74 72 21 28 50  ine(HDC, CPtr!(P
18e90 4f 49 4e 54 29 2c 20 69 6e 74 29 3b 0a 0a 42 4f  OINT), int);..BO
18ea0 4f 4c 20 50 6f 6c 79 6c 69 6e 65 54 6f 28 48 44  OL PolylineTo(HD
18eb0 43 2c 20 43 50 74 72 21 28 50 4f 49 4e 54 29 2c  C, CPtr!(POINT),
18ec0 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c 20 50   DWORD);..BOOL P
18ed0 6f 6c 79 50 6f 6c 79 67 6f 6e 28 48 44 43 2c 20  olyPolygon(HDC, 
18ee0 43 50 74 72 21 28 50 4f 49 4e 54 29 2c 20 43 50  CPtr!(POINT), CP
18ef0 74 72 21 28 49 4e 54 29 2c 20 69 6e 74 29 3b 0a  tr!(INT), int);.
18f00 0a 42 4f 4f 4c 20 50 6f 6c 79 50 6f 6c 79 6c 69  .BOOL PolyPolyli
18f10 6e 65 28 48 44 43 2c 20 43 50 74 72 21 28 50 4f  ne(HDC, CPtr!(PO
18f20 49 4e 54 29 2c 20 43 50 74 72 21 28 44 57 4f 52  INT), CPtr!(DWOR
18f30 44 29 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f  D), DWORD);..BOO
18f40 4c 20 50 6f 6c 79 54 65 78 74 4f 75 74 41 28 48  L PolyTextOutA(H
18f50 44 43 2c 20 43 50 74 72 21 28 50 4f 4c 59 54 45  DC, CPtr!(POLYTE
18f60 58 54 41 29 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f  XTA), int);..BOO
18f70 4c 20 50 6f 6c 79 54 65 78 74 4f 75 74 57 28 48  L PolyTextOutW(H
18f80 44 43 2c 20 43 50 74 72 21 28 50 4f 4c 59 54 45  DC, CPtr!(POLYTE
18f90 58 54 57 29 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f  XTW), int);..BOO
18fa0 4c 20 50 74 49 6e 52 65 67 69 6f 6e 28 48 52 47  L PtInRegion(HRG
18fb0 4e 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42  N, int, int);..B
18fc0 4f 4f 4c 20 50 74 56 69 73 69 62 6c 65 28 48 44  OOL PtVisible(HD
18fd0 43 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 55  C, int, int);..U
18fe0 49 4e 54 20 52 65 61 6c 69 7a 65 50 61 6c 65 74  INT RealizePalet
18ff0 74 65 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 52  te(HDC);..BOOL R
19000 65 63 74 61 6e 67 6c 65 28 48 44 43 2c 20 69 6e  ectangle(HDC, in
19010 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74  t, int, int, int
19020 29 3b 0a 0a 42 4f 4f 4c 20 52 65 63 74 49 6e 52  );..BOOL RectInR
19030 65 67 69 6f 6e 28 48 52 47 4e 2c 20 4c 50 43 52  egion(HRGN, LPCR
19040 45 43 54 29 3b 0a 0a 42 4f 4f 4c 20 52 65 63 74  ECT);..BOOL Rect
19050 56 69 73 69 62 6c 65 28 48 44 43 2c 20 4c 50 43  Visible(HDC, LPC
19060 52 45 43 54 29 3b 0a 0a 42 4f 4f 4c 20 52 65 6d  RECT);..BOOL Rem
19070 6f 76 65 46 6f 6e 74 52 65 73 6f 75 72 63 65 41  oveFontResourceA
19080 28 4c 50 43 53 54 52 29 3b 0a 0a 42 4f 4f 4c 20  (LPCSTR);..BOOL 
19090 52 65 6d 6f 76 65 46 6f 6e 74 52 65 73 6f 75 72  RemoveFontResour
190a0 63 65 57 28 4c 50 43 57 53 54 52 29 3b 0a 0a 48  ceW(LPCWSTR);..H
190b0 44 43 20 52 65 73 65 74 44 43 41 28 48 44 43 2c  DC ResetDCA(HDC,
190c0 20 43 50 74 72 21 28 44 45 56 4d 4f 44 45 41 29   CPtr!(DEVMODEA)
190d0 29 3b 0a 0a 48 44 43 20 52 65 73 65 74 44 43 57  );..HDC ResetDCW
190e0 28 48 44 43 2c 20 43 50 74 72 21 28 44 45 56 4d  (HDC, CPtr!(DEVM
190f0 4f 44 45 57 29 29 3b 0a 0a 42 4f 4f 4c 20 52 65  ODEW));..BOOL Re
19100 73 69 7a 65 50 61 6c 65 74 74 65 28 48 50 41 4c  sizePalette(HPAL
19110 45 54 54 45 2c 20 55 49 4e 54 29 3b 0a 0a 42 4f  ETTE, UINT);..BO
19120 4f 4c 20 52 65 73 74 6f 72 65 44 43 28 48 44 43  OL RestoreDC(HDC
19130 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f 4c 20 52 6f  , int);..BOOL Ro
19140 75 6e 64 52 65 63 74 28 48 44 43 2c 20 69 6e 74  undRect(HDC, int
19150 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c  , int, int, int,
19160 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 69 6e 74   int, int);..int
19170 20 53 61 76 65 44 43 28 48 44 43 29 3b 0a 0a 42   SaveDC(HDC);..B
19180 4f 4f 4c 20 53 63 61 6c 65 56 69 65 77 70 6f 72  OOL ScaleViewpor
19190 74 45 78 74 45 78 28 48 44 43 2c 20 69 6e 74 2c  tExtEx(HDC, int,
191a0 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20   int, int, int, 
191b0 4c 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f 4c 20 53  LPSIZE);..BOOL S
191c0 63 61 6c 65 57 69 6e 64 6f 77 45 78 74 45 78 28  caleWindowExtEx(
191d0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
191e0 6e 74 2c 20 69 6e 74 2c 20 4c 50 53 49 5a 45 29  nt, int, LPSIZE)
191f0 3b 0a 0a 42 4f 4f 4c 20 53 65 6c 65 63 74 43 6c  ;..BOOL SelectCl
19200 69 70 50 61 74 68 28 48 44 43 2c 20 69 6e 74 29  ipPath(HDC, int)
19210 3b 0a 0a 69 6e 74 20 53 65 6c 65 63 74 43 6c 69  ;..int SelectCli
19220 70 52 67 6e 28 48 44 43 2c 20 48 52 47 4e 29 3b  pRgn(HDC, HRGN);
19230 0a 0a 48 47 44 49 4f 42 4a 20 53 65 6c 65 63 74  ..HGDIOBJ Select
19240 4f 62 6a 65 63 74 28 48 44 43 2c 20 48 47 44 49  Object(HDC, HGDI
19250 4f 42 4a 29 3b 0a 0a 48 50 41 4c 45 54 54 45 20  OBJ);..HPALETTE 
19260 53 65 6c 65 63 74 50 61 6c 65 74 74 65 28 48 44  SelectPalette(HD
19270 43 2c 20 48 50 41 4c 45 54 54 45 2c 20 42 4f 4f  C, HPALETTE, BOO
19280 4c 29 3b 0a 0a 69 6e 74 20 53 65 74 41 62 6f 72  L);..int SetAbor
19290 74 50 72 6f 63 28 48 44 43 2c 20 41 42 4f 52 54  tProc(HDC, ABORT
192a0 50 52 4f 43 29 3b 0a 0a 69 6e 74 20 53 65 74 41  PROC);..int SetA
192b0 72 63 44 69 72 65 63 74 69 6f 6e 28 48 44 43 2c  rcDirection(HDC,
192c0 20 69 6e 74 29 3b 0a 0a 4c 4f 4e 47 20 53 65 74   int);..LONG Set
192d0 42 69 74 6d 61 70 42 69 74 73 28 48 42 49 54 4d  BitmapBits(HBITM
192e0 41 50 2c 20 44 57 4f 52 44 2c 20 50 43 56 4f 49  AP, DWORD, PCVOI
192f0 44 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74 42 69 74  D);..BOOL SetBit
19300 6d 61 70 44 69 6d 65 6e 73 69 6f 6e 45 78 28 48  mapDimensionEx(H
19310 42 49 54 4d 41 50 2c 20 69 6e 74 2c 20 69 6e 74  BITMAP, int, int
19320 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a 43 4f 4c 4f  , LPSIZE);..COLO
19330 52 52 45 46 20 53 65 74 42 6b 43 6f 6c 6f 72 28  RREF SetBkColor(
19340 48 44 43 2c 20 43 4f 4c 4f 52 52 45 46 29 3b 0a  HDC, COLORREF);.
19350 0a 69 6e 74 20 53 65 74 42 6b 4d 6f 64 65 28 48  .int SetBkMode(H
19360 44 43 2c 20 69 6e 74 29 3b 0a 0a 55 49 4e 54 20  DC, int);..UINT 
19370 53 65 74 42 6f 75 6e 64 73 52 65 63 74 28 48 44  SetBoundsRect(HD
19380 43 2c 20 4c 50 43 52 45 43 54 2c 20 55 49 4e 54  C, LPCRECT, UINT
19390 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74 42 72 75 73  );..BOOL SetBrus
193a0 68 4f 72 67 45 78 28 48 44 43 2c 20 69 6e 74 2c  hOrgEx(HDC, int,
193b0 20 69 6e 74 2c 20 4c 50 50 4f 49 4e 54 29 3b 0a   int, LPPOINT);.
193c0 0a 42 4f 4f 4c 20 53 65 74 43 6f 6c 6f 72 41 64  .BOOL SetColorAd
193d0 6a 75 73 74 6d 65 6e 74 28 48 44 43 2c 20 43 50  justment(HDC, CP
193e0 74 72 21 28 43 4f 4c 4f 52 41 44 4a 55 53 54 4d  tr!(COLORADJUSTM
193f0 45 4e 54 29 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74  ENT));..BOOL Set
19400 43 6f 6c 6f 72 53 70 61 63 65 28 48 44 43 2c 20  ColorSpace(HDC, 
19410 48 43 4f 4c 4f 52 53 50 41 43 45 29 3b 0a 0a 42  HCOLORSPACE);..B
19420 4f 4f 4c 20 53 65 74 44 65 76 69 63 65 47 61 6d  OOL SetDeviceGam
19430 6d 61 52 61 6d 70 28 48 44 43 2c 20 50 56 4f 49  maRamp(HDC, PVOI
19440 44 29 3b 0a 0a 55 49 4e 54 20 53 65 74 44 49 42  D);..UINT SetDIB
19450 43 6f 6c 6f 72 54 61 62 6c 65 28 48 44 43 2c 20  ColorTable(HDC, 
19460 55 49 4e 54 2c 20 55 49 4e 54 2c 20 43 50 74 72  UINT, UINT, CPtr
19470 21 28 52 47 42 51 55 41 44 29 29 3b 0a 0a 69 6e  !(RGBQUAD));..in
19480 74 20 53 65 74 44 49 42 69 74 73 28 48 44 43 2c  t SetDIBits(HDC,
19490 20 48 42 49 54 4d 41 50 2c 20 55 49 4e 54 2c 20   HBITMAP, UINT, 
194a0 55 49 4e 54 2c 20 50 43 56 4f 49 44 2c 20 43 50  UINT, PCVOID, CP
194b0 74 72 21 28 42 49 54 4d 41 50 49 4e 46 4f 29 2c  tr!(BITMAPINFO),
194c0 20 55 49 4e 54 29 3b 0a 0a 69 6e 74 20 53 65 74   UINT);..int Set
194d0 44 49 42 69 74 73 54 6f 44 65 76 69 63 65 28 48  DIBitsToDevice(H
194e0 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 44 57  DC, int, int, DW
194f0 4f 52 44 2c 20 44 57 4f 52 44 2c 20 69 6e 74 2c  ORD, DWORD, int,
19500 20 69 6e 74 2c 20 55 49 4e 54 2c 20 55 49 4e 54   int, UINT, UINT
19510 2c 20 50 43 56 4f 49 44 2c 20 43 50 74 72 21 28  , PCVOID, CPtr!(
19520 42 49 54 4d 41 50 49 4e 46 4f 29 2c 20 55 49 4e  BITMAPINFO), UIN
19530 54 29 3b 0a 0a 48 45 4e 48 4d 45 54 41 46 49 4c  T);..HENHMETAFIL
19540 45 20 53 65 74 45 6e 68 4d 65 74 61 46 69 6c 65  E SetEnhMetaFile
19550 42 69 74 73 28 55 49 4e 54 2c 20 43 50 74 72 21  Bits(UINT, CPtr!
19560 28 42 59 54 45 29 29 3b 0a 0a 69 6e 74 20 53 65  (BYTE));..int Se
19570 74 47 72 61 70 68 69 63 73 4d 6f 64 65 28 48 44  tGraphicsMode(HD
19580 43 2c 20 69 6e 74 29 3b 0a 0a 69 6e 74 20 53 65  C, int);..int Se
19590 74 49 43 4d 4d 6f 64 65 28 48 44 43 2c 20 69 6e  tICMMode(HDC, in
195a0 74 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74 49 43 4d  t);..BOOL SetICM
195b0 50 72 6f 66 69 6c 65 41 28 48 44 43 2c 20 4c 50  ProfileA(HDC, LP
195c0 53 54 52 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74 49  STR);..BOOL SetI
195d0 43 4d 50 72 6f 66 69 6c 65 57 28 48 44 43 2c 20  CMProfileW(HDC, 
195e0 4c 50 57 53 54 52 29 3b 0a 0a 69 6e 74 20 53 65  LPWSTR);..int Se
195f0 74 4d 61 70 4d 6f 64 65 28 48 44 43 2c 20 69 6e  tMapMode(HDC, in
19600 74 29 3b 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20  t);..static..if 
19610 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
19620 30 29 0a 7b 0a 20 20 20 20 44 57 4f 52 44 20 53  0).{.    DWORD S
19630 65 74 4c 61 79 6f 75 74 28 48 44 43 20 68 64 63  etLayout(HDC hdc
19640 2c 20 44 57 4f 52 44 20 6c 29 3b 0a 0a 20 20 20  , DWORD l);..   
19650 20 44 57 4f 52 44 20 47 65 74 4c 61 79 6f 75 74   DWORD GetLayout
19660 28 48 44 43 20 68 64 63 29 3b 0a 7d 0a 0a 44 57  (HDC hdc);.}..DW
19670 4f 52 44 20 53 65 74 4d 61 70 70 65 72 46 6c 61  ORD SetMapperFla
19680 67 73 28 48 44 43 2c 20 44 57 4f 52 44 29 3b 0a  gs(HDC, DWORD);.
19690 0a 48 4d 45 54 41 46 49 4c 45 20 53 65 74 4d 65  .HMETAFILE SetMe
196a0 74 61 46 69 6c 65 42 69 74 73 45 78 28 55 49 4e  taFileBitsEx(UIN
196b0 54 2c 20 43 50 74 72 21 28 42 59 54 45 29 29 3b  T, CPtr!(BYTE));
196c0 0a 0a 69 6e 74 20 53 65 74 4d 65 74 61 52 67 6e  ..int SetMetaRgn
196d0 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74  (HDC);..BOOL Set
196e0 4d 69 74 65 72 4c 69 6d 69 74 28 48 44 43 2c 20  MiterLimit(HDC, 
196f0 46 4c 4f 41 54 2c 20 50 46 4c 4f 41 54 29 3b 0a  FLOAT, PFLOAT);.
19700 0a 55 49 4e 54 20 53 65 74 50 61 6c 65 74 74 65  .UINT SetPalette
19710 45 6e 74 72 69 65 73 28 48 50 41 4c 45 54 54 45  Entries(HPALETTE
19720 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 43 50  , UINT, UINT, CP
19730 74 72 21 28 50 41 4c 45 54 54 45 45 4e 54 52 59  tr!(PALETTEENTRY
19740 29 29 3b 0a 0a 43 4f 4c 4f 52 52 45 46 20 53 65  ));..COLORREF Se
19750 74 50 69 78 65 6c 28 48 44 43 2c 20 69 6e 74 2c  tPixel(HDC, int,
19760 20 69 6e 74 2c 20 43 4f 4c 4f 52 52 45 46 29 3b   int, COLORREF);
19770 0a 0a 42 4f 4f 4c 20 53 65 74 50 69 78 65 6c 46  ..BOOL SetPixelF
19780 6f 72 6d 61 74 28 48 44 43 2c 20 69 6e 74 2c 20  ormat(HDC, int, 
19790 43 50 74 72 21 28 50 49 58 45 4c 46 4f 52 4d 41  CPtr!(PIXELFORMA
197a0 54 44 45 53 43 52 49 50 54 4f 52 29 29 3b 0a 0a  TDESCRIPTOR));..
197b0 42 4f 4f 4c 20 53 65 74 50 69 78 65 6c 56 28 48  BOOL SetPixelV(H
197c0 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 43 4f  DC, int, int, CO
197d0 4c 4f 52 52 45 46 29 3b 0a 0a 69 6e 74 20 53 65  LORREF);..int Se
197e0 74 50 6f 6c 79 46 69 6c 6c 4d 6f 64 65 28 48 44  tPolyFillMode(HD
197f0 43 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f 4c 20 53  C, int);..BOOL S
19800 65 74 52 65 63 74 52 67 6e 28 48 52 47 4e 2c 20  etRectRgn(HRGN, 
19810 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  int, int, int, i
19820 6e 74 29 3b 0a 0a 69 6e 74 20 53 65 74 52 4f 50  nt);..int SetROP
19830 32 28 48 44 43 2c 20 69 6e 74 29 3b 0a 0a 69 6e  2(HDC, int);..in
19840 74 20 53 65 74 53 74 72 65 74 63 68 42 6c 74 4d  t SetStretchBltM
19850 6f 64 65 28 48 44 43 2c 20 69 6e 74 29 3b 0a 0a  ode(HDC, int);..
19860 55 49 4e 54 20 53 65 74 53 79 73 74 65 6d 50 61  UINT SetSystemPa
19870 6c 65 74 74 65 55 73 65 28 48 44 43 2c 20 55 49  letteUse(HDC, UI
19880 4e 54 29 3b 0a 0a 55 49 4e 54 20 53 65 74 54 65  NT);..UINT SetTe
19890 78 74 41 6c 69 67 6e 28 48 44 43 2c 20 55 49 4e  xtAlign(HDC, UIN
198a0 54 29 3b 0a 0a 69 6e 74 20 53 65 74 54 65 78 74  T);..int SetText
198b0 43 68 61 72 61 63 74 65 72 45 78 74 72 61 28 48  CharacterExtra(H
198c0 44 43 2c 20 69 6e 74 29 3b 0a 0a 43 4f 4c 4f 52  DC, int);..COLOR
198d0 52 45 46 20 53 65 74 54 65 78 74 43 6f 6c 6f 72  REF SetTextColor
198e0 28 48 44 43 2c 20 43 4f 4c 4f 52 52 45 46 29 3b  (HDC, COLORREF);
198f0 0a 0a 42 4f 4f 4c 20 53 65 74 54 65 78 74 4a 75  ..BOOL SetTextJu
19900 73 74 69 66 69 63 61 74 69 6f 6e 28 48 44 43 2c  stification(HDC,
19910 20 69 6e 74 2c 20 69 6e 74 29 3b 0a 0a 42 4f 4f   int, int);..BOO
19920 4c 20 53 65 74 56 69 65 77 70 6f 72 74 45 78 74  L SetViewportExt
19930 45 78 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74  Ex(HDC, int, int
19940 2c 20 4c 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f 4c  , LPSIZE);..BOOL
19950 20 53 65 74 56 69 65 77 70 6f 72 74 4f 72 67 45   SetViewportOrgE
19960 78 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c  x(HDC, int, int,
19970 20 4c 50 50 4f 49 4e 54 29 3b 0a 0a 42 4f 4f 4c   LPPOINT);..BOOL
19980 20 53 65 74 57 69 6e 64 6f 77 45 78 74 45 78 28   SetWindowExtEx(
19990 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 4c  HDC, int, int, L
199a0 50 53 49 5a 45 29 3b 0a 0a 42 4f 4f 4c 20 53 65  PSIZE);..BOOL Se
199b0 74 57 69 6e 64 6f 77 4f 72 67 45 78 28 48 44 43  tWindowOrgEx(HDC
199c0 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 4c 50 50 4f  , int, int, LPPO
199d0 49 4e 54 29 3b 0a 0a 48 45 4e 48 4d 45 54 41 46  INT);..HENHMETAF
199e0 49 4c 45 20 53 65 74 57 69 6e 4d 65 74 61 46 69  ILE SetWinMetaFi
199f0 6c 65 42 69 74 73 28 55 49 4e 54 2c 20 43 50 74  leBits(UINT, CPt
19a00 72 21 28 42 59 54 45 29 2c 20 48 44 43 2c 20 43  r!(BYTE), HDC, C
19a10 50 74 72 21 28 4d 45 54 41 46 49 4c 45 50 49 43  Ptr!(METAFILEPIC
19a20 54 29 29 3b 0a 0a 42 4f 4f 4c 20 53 65 74 57 6f  T));..BOOL SetWo
19a30 72 6c 64 54 72 61 6e 73 66 6f 72 6d 28 48 44 43  rldTransform(HDC
19a40 2c 20 43 50 74 72 21 28 58 46 4f 52 4d 29 29 3b  , CPtr!(XFORM));
19a50 0a 0a 69 6e 74 20 53 74 61 72 74 44 6f 63 41 28  ..int StartDocA(
19a60 48 44 43 2c 20 43 50 74 72 21 28 44 4f 43 49 4e  HDC, CPtr!(DOCIN
19a70 46 4f 41 29 29 3b 0a 0a 69 6e 74 20 53 74 61 72  FOA));..int Star
19a80 74 44 6f 63 57 28 48 44 43 2c 20 43 50 74 72 21  tDocW(HDC, CPtr!
19a90 28 44 4f 43 49 4e 46 4f 57 29 29 3b 0a 0a 69 6e  (DOCINFOW));..in
19aa0 74 20 53 74 61 72 74 50 61 67 65 28 48 44 43 29  t StartPage(HDC)
19ab0 3b 0a 0a 42 4f 4f 4c 20 53 74 72 65 74 63 68 42  ;..BOOL StretchB
19ac0 6c 74 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74  lt(HDC, int, int
19ad0 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 48 44 43 2c  , int, int, HDC,
19ae0 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20   int, int, int, 
19af0 69 6e 74 2c 20 44 57 4f 52 44 29 3b 0a 0a 69 6e  int, DWORD);..in
19b00 74 20 53 74 72 65 74 63 68 44 49 42 69 74 73 28  t StretchDIBits(
19b10 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
19b20 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  nt, int, int, in
19b30 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 43 50 74  t, int, int, CPt
19b40 72 21 28 56 4f 49 44 29 2c 20 43 50 74 72 21 28  r!(VOID), CPtr!(
19b50 42 49 54 4d 41 50 49 4e 46 4f 29 2c 20 55 49 4e  BITMAPINFO), UIN
19b60 54 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c  T, DWORD);..BOOL
19b70 20 53 74 72 6f 6b 65 41 6e 64 46 69 6c 6c 50 61   StrokeAndFillPa
19b80 74 68 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 53  th(HDC);..BOOL S
19b90 74 72 6f 6b 65 50 61 74 68 28 48 44 43 29 3b 0a  trokePath(HDC);.
19ba0 0a 42 4f 4f 4c 20 53 77 61 70 42 75 66 66 65 72  .BOOL SwapBuffer
19bb0 73 28 48 44 43 29 3b 0a 0a 42 4f 4f 4c 20 54 65  s(HDC);..BOOL Te
19bc0 78 74 4f 75 74 41 28 48 44 43 2c 20 69 6e 74 2c  xtOutA(HDC, int,
19bd0 20 69 6e 74 2c 20 4c 50 43 53 54 52 2c 20 69 6e   int, LPCSTR, in
19be0 74 29 3b 0a 0a 42 4f 4f 4c 20 54 65 78 74 4f 75  t);..BOOL TextOu
19bf0 74 57 28 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74  tW(HDC, int, int
19c00 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 29 3b  , LPCWSTR, int);
19c10 0a 0a 42 4f 4f 4c 20 54 72 61 6e 73 6c 61 74 65  ..BOOL Translate
19c20 43 68 61 72 73 65 74 49 6e 66 6f 28 50 44 57 4f  CharsetInfo(PDWO
19c30 52 44 2c 20 4c 50 43 48 41 52 53 45 54 49 4e 46  RD, LPCHARSETINF
19c40 4f 2c 20 44 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c  O, DWORD);..BOOL
19c50 20 55 6e 72 65 61 6c 69 7a 65 4f 62 6a 65 63 74   UnrealizeObject
19c60 28 48 47 44 49 4f 42 4a 29 3b 0a 0a 42 4f 4f 4c  (HGDIOBJ);..BOOL
19c70 20 55 70 64 61 74 65 43 6f 6c 6f 72 73 28 48 44   UpdateColors(HD
19c80 43 29 3b 0a 0a 42 4f 4f 4c 20 55 70 64 61 74 65  C);..BOOL Update
19c90 49 43 4d 52 65 67 4b 65 79 41 28 44 57 4f 52 44  ICMRegKeyA(DWORD
19ca0 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20  , DWORD, LPSTR, 
19cb0 55 49 4e 54 29 3b 0a 0a 42 4f 4f 4c 20 55 70 64  UINT);..BOOL Upd
19cc0 61 74 65 49 43 4d 52 65 67 4b 65 79 57 28 44 57  ateICMRegKeyW(DW
19cd0 4f 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 57 53  ORD, DWORD, LPWS
19ce0 54 52 2c 20 55 49 4e 54 29 3b 0a 0a 42 4f 4f 4c  TR, UINT);..BOOL
19cf0 20 57 69 64 65 6e 50 61 74 68 28 48 44 43 29 3b   WidenPath(HDC);
19d00 0a 0a 42 4f 4f 4c 20 77 67 6c 43 6f 70 79 43 6f  ..BOOL wglCopyCo
19d10 6e 74 65 78 74 28 48 47 4c 52 43 2c 20 48 47 4c  ntext(HGLRC, HGL
19d20 52 43 2c 20 55 49 4e 54 29 3b 0a 0a 48 47 4c 52  RC, UINT);..HGLR
19d30 43 20 77 67 6c 43 72 65 61 74 65 43 6f 6e 74 65  C wglCreateConte
19d40 78 74 28 48 44 43 29 3b 0a 0a 48 47 4c 52 43 20  xt(HDC);..HGLRC 
19d50 77 67 6c 43 72 65 61 74 65 4c 61 79 65 72 43 6f  wglCreateLayerCo
19d60 6e 74 65 78 74 28 48 44 43 2c 20 69 6e 74 29 3b  ntext(HDC, int);
19d70 0a 0a 42 4f 4f 4c 20 77 67 6c 44 65 6c 65 74 65  ..BOOL wglDelete
19d80 43 6f 6e 74 65 78 74 28 48 47 4c 52 43 29 3b 0a  Context(HGLRC);.
19d90 0a 42 4f 4f 4c 20 77 67 6c 44 65 73 63 72 69 62  .BOOL wglDescrib
19da0 65 4c 61 79 65 72 50 6c 61 6e 65 28 48 44 43 2c  eLayerPlane(HDC,
19db0 20 69 6e 74 2c 20 69 6e 74 2c 20 55 49 4e 54 2c   int, int, UINT,
19dc0 20 4c 50 4c 41 59 45 52 50 4c 41 4e 45 44 45 53   LPLAYERPLANEDES
19dd0 43 52 49 50 54 4f 52 29 3b 0a 0a 48 47 4c 52 43  CRIPTOR);..HGLRC
19de0 20 77 67 6c 47 65 74 43 75 72 72 65 6e 74 43 6f   wglGetCurrentCo
19df0 6e 74 65 78 74 28 29 3b 0a 0a 48 44 43 20 77 67  ntext();..HDC wg
19e00 6c 47 65 74 43 75 72 72 65 6e 74 44 43 28 29 3b  lGetCurrentDC();
19e10 0a 0a 69 6e 74 20 77 67 6c 47 65 74 4c 61 79 65  ..int wglGetLaye
19e20 72 50 61 6c 65 74 74 65 45 6e 74 72 69 65 73 28  rPaletteEntries(
19e30 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
19e40 6e 74 2c 20 43 4f 4c 4f 52 52 45 46 2a 29 3b 0a  nt, COLORREF*);.
19e50 0a 50 52 4f 43 20 77 67 6c 47 65 74 50 72 6f 63  .PROC wglGetProc
19e60 41 64 64 72 65 73 73 28 4c 50 43 53 54 52 29 3b  Address(LPCSTR);
19e70 0a 0a 42 4f 4f 4c 20 77 67 6c 4d 61 6b 65 43 75  ..BOOL wglMakeCu
19e80 72 72 65 6e 74 28 48 44 43 2c 20 48 47 4c 52 43  rrent(HDC, HGLRC
19e90 29 3b 0a 0a 42 4f 4f 4c 20 77 67 6c 52 65 61 6c  );..BOOL wglReal
19ea0 69 7a 65 4c 61 79 65 72 50 61 6c 65 74 74 65 28  izeLayerPalette(
19eb0 48 44 43 2c 20 69 6e 74 2c 20 42 4f 4f 4c 29 3b  HDC, int, BOOL);
19ec0 0a 0a 69 6e 74 20 77 67 6c 53 65 74 4c 61 79 65  ..int wglSetLaye
19ed0 72 50 61 6c 65 74 74 65 45 6e 74 72 69 65 73 28  rPaletteEntries(
19ee0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
19ef0 6e 74 2c 20 43 50 74 72 21 28 43 4f 4c 4f 52 52  nt, CPtr!(COLORR
19f00 45 46 29 29 3b 0a 0a 42 4f 4f 4c 20 77 67 6c 53  EF));..BOOL wglS
19f10 68 61 72 65 4c 69 73 74 73 28 48 47 4c 52 43 2c  hareLists(HGLRC,
19f20 20 48 47 4c 52 43 29 3b 0a 0a 42 4f 4f 4c 20 77   HGLRC);..BOOL w
19f30 67 6c 53 77 61 70 4c 61 79 65 72 42 75 66 66 65  glSwapLayerBuffe
19f40 72 73 28 48 44 43 2c 20 55 49 4e 54 29 3b 0a 0a  rs(HDC, UINT);..
19f50 42 4f 4f 4c 20 77 67 6c 55 73 65 46 6f 6e 74 42  BOOL wglUseFontB
19f60 69 74 6d 61 70 73 41 28 48 44 43 2c 20 44 57 4f  itmapsA(HDC, DWO
19f70 52 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  RD, DWORD, DWORD
19f80 29 3b 0a 0a 42 4f 4f 4c 20 77 67 6c 55 73 65 46  );..BOOL wglUseF
19f90 6f 6e 74 42 69 74 6d 61 70 73 57 28 48 44 43 2c  ontBitmapsW(HDC,
19fa0 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44   DWORD, DWORD, D
19fb0 57 4f 52 44 29 3b 0a 0a 42 4f 4f 4c 20 77 67 6c  WORD);..BOOL wgl
19fc0 55 73 65 46 6f 6e 74 4f 75 74 6c 69 6e 65 73 41  UseFontOutlinesA
19fd0 28 48 44 43 2c 20 44 57 4f 52 44 2c 20 44 57 4f  (HDC, DWORD, DWO
19fe0 52 44 2c 20 44 57 4f 52 44 2c 20 46 4c 4f 41 54  RD, DWORD, FLOAT
19ff0 2c 20 46 4c 4f 41 54 2c 20 69 6e 74 2c 20 4c 50  , FLOAT, int, LP
1a000 47 4c 59 50 48 4d 45 54 52 49 43 53 46 4c 4f 41  GLYPHMETRICSFLOA
1a010 54 29 3b 0a 0a 42 4f 4f 4c 20 77 67 6c 55 73 65  T);..BOOL wglUse
1a020 46 6f 6e 74 4f 75 74 6c 69 6e 65 73 57 28 48 44  FontOutlinesW(HD
1a030 43 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  C, DWORD, DWORD,
1a040 20 44 57 4f 52 44 2c 20 46 4c 4f 41 54 2c 20 46   DWORD, FLOAT, F
1a050 4c 4f 41 54 2c 20 69 6e 74 2c 20 4c 50 47 4c 59  LOAT, int, LPGLY
1a060 50 48 4d 45 54 52 49 43 53 46 4c 4f 41 54 29 3b  PHMETRICSFLOAT);
1a070 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 57 49  ..static..if (WI
1a080 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0a  NVER >= 0x0500).
1a090 7b 0a 20 20 20 20 61 6c 69 61 73 20 57 47 4c 53  {.    alias WGLS
1a0a0 57 41 50 2a 50 57 47 4c 53 57 41 50 3b 0a 20 20  WAP*PWGLSWAP;.  
1a0b0 20 20 73 74 72 75 63 74 20 57 47 4c 53 57 41 50    struct WGLSWAP
1a0c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 48  .    {.        H
1a0d0 44 43 20 68 64 63 3b 0a 20 20 20 20 20 20 20 20  DC hdc;.        
1a0e0 55 49 4e 54 20 75 69 46 6c 61 67 73 3b 0a 20 20  UINT uiFlags;.  
1a0f0 20 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 57 47    }.    const WG
1a100 4c 5f 53 57 41 50 4d 55 4c 54 49 50 4c 45 5f 4d  L_SWAPMULTIPLE_M
1a110 41 58 20 3d 20 31 36 3b 0a 20 20 20 20 44 57 4f  AX = 16;.    DWO
1a120 52 44 20 20 77 67 6c 53 77 61 70 4d 75 6c 74 69  RD  wglSwapMulti
1a130 70 6c 65 42 75 66 66 65 72 73 28 55 49 4e 54 2c  pleBuffers(UINT,
1a140 20 57 47 4c 53 57 41 50 2a 29 3b 0a 7d 0a 0a 73   WGLSWAP*);.}..s
1a150 74 61 74 69 63 0a 0a 69 66 20 28 57 49 4e 56 45  tatic..if (WINVE
1a160 52 20 3e 3d 20 30 78 30 35 30 30 29 0a 7b 0a 20  R >= 0x0500).{. 
1a170 20 20 20 42 4f 4f 4c 20 47 64 69 41 6c 70 68 61     BOOL GdiAlpha
1a180 42 6c 65 6e 64 28 48 44 43 2c 20 69 6e 74 2c 20  Blend(HDC, int, 
1a190 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 48  int, int, int, H
1a1a0 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  DC, int, int, in
1a1b0 74 2c 20 69 6e 74 2c 20 42 4c 45 4e 44 46 55 4e  t, int, BLENDFUN
1a1c0 43 54 49 4f 4e 29 3b 0a 0a 20 20 20 20 42 4f 4f  CTION);..    BOO
1a1d0 4c 20 47 72 61 64 69 65 6e 74 46 69 6c 6c 28 48  L GradientFill(H
1a1e0 44 43 2c 20 50 54 52 49 56 45 52 54 45 58 2c 20  DC, PTRIVERTEX, 
1a1f0 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2c 20 55 4c  ULONG, PVOID, UL
1a200 4f 4e 47 2c 20 55 4c 4f 4e 47 29 3b 0a 0a 20 20  ONG, ULONG);..  
1a210 20 20 42 4f 4f 4c 20 54 72 61 6e 73 70 61 72 65    BOOL Transpare
1a220 6e 74 42 6c 74 28 48 44 43 2c 20 69 6e 74 2c 20  ntBlt(HDC, int, 
1a230 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 48  int, int, int, H
1a240 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e  DC, int, int, in
1a250 74 2c 20 69 6e 74 2c 20 55 49 4e 54 29 3b 0a 7d  t, int, UINT);.}
1a260 0a 0a 73 74 61 74 69 63 0a 0a 69 66 20 28 5f 57  ..static..if (_W
1a270 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
1a280 30 35 30 30 29 0a 7b 0a 20 20 20 20 43 4f 4c 4f  0500).{.    COLO
1a290 52 52 45 46 20 53 65 74 44 43 42 72 75 73 68 43  RREF SetDCBrushC
1a2a0 6f 6c 6f 72 28 48 44 43 2c 20 43 4f 4c 4f 52 52  olor(HDC, COLORR
1a2b0 45 46 29 3b 0a 0a 20 20 20 20 43 4f 4c 4f 52 52  EF);..    COLORR
1a2c0 45 46 20 53 65 74 44 43 50 65 6e 43 6f 6c 6f 72  EF SetDCPenColor
1a2d0 28 48 44 43 2c 20 43 4f 4c 4f 52 52 45 46 29 3b  (HDC, COLORREF);
1a2e0 0a 0a 20 20 20 20 48 41 4e 44 4c 45 20 41 64 64  ..    HANDLE Add
1a2f0 46 6f 6e 74 4d 65 6d 52 65 73 6f 75 72 63 65 45  FontMemResourceE
1a300 78 28 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20  x(PVOID, DWORD, 
1a310 50 56 4f 49 44 2c 20 44 57 4f 52 44 2a 29 3b 0a  PVOID, DWORD*);.
1a320 0a 20 20 20 20 69 6e 74 20 41 64 64 46 6f 6e 74  .    int AddFont
1a330 52 65 73 6f 75 72 63 65 45 78 41 28 4c 50 43 53  ResourceExA(LPCS
1a340 54 52 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44  TR, DWORD, PVOID
1a350 29 3b 0a 0a 20 20 20 20 69 6e 74 20 41 64 64 46  );..    int AddF
1a360 6f 6e 74 52 65 73 6f 75 72 63 65 45 78 57 28 4c  ontResourceExW(L
1a370 50 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50  PCWSTR, DWORD, P
1a380 56 4f 49 44 29 3b 0a 0a 20 20 20 20 42 4f 4f 4c  VOID);..    BOOL
1a390 20 52 65 6d 6f 76 65 46 6f 6e 74 4d 65 6d 52 65   RemoveFontMemRe
1a3a0 73 6f 75 72 63 65 45 78 28 48 41 4e 44 4c 45 29  sourceEx(HANDLE)
1a3b0 3b 0a 0a 20 20 20 20 42 4f 4f 4c 20 52 65 6d 6f  ;..    BOOL Remo
1a3c0 76 65 46 6f 6e 74 52 65 73 6f 75 72 63 65 45 78  veFontResourceEx
1a3d0 41 28 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c  A(LPCSTR, DWORD,
1a3e0 20 50 56 4f 49 44 29 3b 0a 0a 20 20 20 20 42 4f   PVOID);..    BO
1a3f0 4f 4c 20 52 65 6d 6f 76 65 46 6f 6e 74 52 65 73  OL RemoveFontRes
1a400 6f 75 72 63 65 45 78 57 28 4c 50 43 57 53 54 52  ourceExW(LPCWSTR
1a410 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49 44 29 3b  , DWORD, PVOID);
1a420 0a 0a 20 20 20 20 44 57 4f 52 44 20 47 65 74 46  ..    DWORD GetF
1a430 6f 6e 74 55 6e 69 63 6f 64 65 52 61 6e 67 65 73  ontUnicodeRanges
1a440 28 48 44 43 2c 20 4c 50 47 4c 59 50 48 53 45 54  (HDC, LPGLYPHSET
1a450 29 3b 0a 0a 20 20 20 20 44 57 4f 52 44 20 47 65  );..    DWORD Ge
1a460 74 47 6c 79 70 68 49 6e 64 69 63 65 73 41 28 48  tGlyphIndicesA(H
1a470 44 43 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 2c  DC, LPCSTR, int,
1a480 20 4c 50 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b   LPWORD, DWORD);
1a490 0a 0a 20 20 20 20 44 57 4f 52 44 20 47 65 74 47  ..    DWORD GetG
1a4a0 6c 79 70 68 49 6e 64 69 63 65 73 57 28 48 44 43  lyphIndicesW(HDC
1a4b0 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 2c 20  , LPCWSTR, int, 
1a4c0 4c 50 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a  LPWORD, DWORD);.
1a4d0 0a 20 20 20 20 42 4f 4f 4c 20 47 65 74 54 65 78  .    BOOL GetTex
1a4e0 74 45 78 74 65 6e 74 50 6f 69 6e 74 49 28 48 44  tExtentPointI(HD
1a4f0 43 2c 20 4c 50 57 4f 52 44 2c 20 69 6e 74 2c 20  C, LPWORD, int, 
1a500 4c 50 53 49 5a 45 29 3b 0a 0a 20 20 20 20 42 4f  LPSIZE);..    BO
1a510 4f 4c 20 47 65 74 54 65 78 74 45 78 74 65 6e 74  OL GetTextExtent
1a520 45 78 50 6f 69 6e 74 49 28 48 44 43 2c 20 4c 50  ExPointI(HDC, LP
1a530 57 4f 52 44 2c 20 69 6e 74 2c 20 69 6e 74 2c 20  WORD, int, int, 
1a540 4c 50 49 4e 54 2c 20 4c 50 49 4e 54 2c 20 4c 50  LPINT, LPINT, LP
1a550 53 49 5a 45 29 3b 0a 0a 20 20 20 20 42 4f 4f 4c  SIZE);..    BOOL
1a560 20 47 65 74 43 68 61 72 57 69 64 74 68 49 28 48   GetCharWidthI(H
1a570 44 43 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20  DC, UINT, UINT, 
1a580 4c 50 57 4f 52 44 2c 20 4c 50 49 4e 54 29 3b 0a  LPWORD, LPINT);.
1a590 0a 20 20 20 20 42 4f 4f 4c 20 47 65 74 43 68 61  .    BOOL GetCha
1a5a0 72 41 42 43 57 69 64 74 68 73 49 28 48 44 43 2c  rABCWidthsI(HDC,
1a5b0 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 57   UINT, UINT, LPW
1a5c0 4f 52 44 2c 20 4c 50 41 42 43 29 3b 0a 7d 0a 7d  ORD, LPABC);.}.}
1a5d0 20 2f 2f 20 65 78 74 65 72 6e 20 28 57 69 6e 64   // extern (Wind
1a5e0 6f 77 73 29 0a 0a 76 65 72 73 69 6f 6e 20 28 55  ows)..version (U
1a5f0 6e 69 63 6f 64 65 29 0a 7b 0a 20 20 20 20 61 6c  nicode).{.    al
1a600 69 61 73 20 57 43 48 41 52 20 42 43 48 41 52 3b  ias WCHAR BCHAR;
1a610 0a 20 20 20 20 61 6c 69 61 73 20 44 4f 43 49 4e  .    alias DOCIN
1a620 46 4f 57 20 44 4f 43 49 4e 46 4f 3b 0a 20 20 20  FOW DOCINFO;.   
1a630 20 61 6c 69 61 73 20 4c 4f 47 46 4f 4e 54 57 20   alias LOGFONTW 
1a640 4c 4f 47 46 4f 4e 54 3b 0a 0a 20 20 20 20 61 6c  LOGFONT;..    al
1a650 69 61 73 20 54 45 58 54 4d 45 54 52 49 43 57 20  ias TEXTMETRICW 
1a660 54 45 58 54 4d 45 54 52 49 43 3b 0a 20 20 20 20  TEXTMETRIC;.    
1a670 61 6c 69 61 73 20 4e 50 54 45 58 54 4d 45 54 52  alias NPTEXTMETR
1a680 49 43 57 20 4e 50 54 45 58 54 4d 45 54 52 49 43  ICW NPTEXTMETRIC
1a690 3b 0a 20 20 20 20 61 6c 69 61 73 20 49 43 4d 45  ;.    alias ICME
1a6a0 4e 55 4d 50 52 4f 43 57 20 20 49 43 4d 45 4e 55  NUMPROCW  ICMENU
1a6b0 4d 50 52 4f 43 3b 0a 20 20 20 20 61 6c 69 61 73  MPROC;.    alias
1a6c0 20 46 4f 4e 54 45 4e 55 4d 50 52 4f 43 57 20 46   FONTENUMPROCW F
1a6d0 4f 4e 54 45 4e 55 4d 50 52 4f 43 3b 0a 20 20 20  ONTENUMPROC;.   
1a6e0 20 61 6c 69 61 73 20 44 45 56 4d 4f 44 45 57 20   alias DEVMODEW 
1a6f0 44 45 56 4d 4f 44 45 3b 0a 0a 20 20 20 20 61 6c  DEVMODE;..    al
1a700 69 61 73 20 45 58 54 4c 4f 47 46 4f 4e 54 57 20  ias EXTLOGFONTW 
1a710 20 45 58 54 4c 4f 47 46 4f 4e 54 3b 0a 20 20 20   EXTLOGFONT;.   
1a720 20 61 6c 69 61 73 20 47 43 50 5f 52 45 53 55 4c   alias GCP_RESUL
1a730 54 53 57 20 47 43 50 5f 52 45 53 55 4c 54 53 3b  TSW GCP_RESULTS;
1a740 0a 20 20 20 20 61 6c 69 61 73 20 4f 55 54 4c 49  .    alias OUTLI
1a750 4e 45 54 45 58 54 4d 45 54 52 49 43 57 20 4f 55  NETEXTMETRICW OU
1a760 54 4c 49 4e 45 54 45 58 54 4d 45 54 52 49 43 3b  TLINETEXTMETRIC;
1a770 0a 20 20 20 20 61 6c 69 61 73 20 50 4f 4c 59 54  .    alias POLYT
1a780 45 58 54 57 20 50 4f 4c 59 54 45 58 54 3b 0a 20  EXTW POLYTEXT;. 
1a790 20 20 20 61 6c 69 61 73 20 4c 4f 47 43 4f 4c 4f     alias LOGCOLO
1a7a0 52 53 50 41 43 45 57 20 4c 4f 47 43 4f 4c 4f 52  RSPACEW LOGCOLOR
1a7b0 53 50 41 43 45 3b 0a 20 20 20 20 61 6c 69 61 73  SPACE;.    alias
1a7c0 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43 57 20   NEWTEXTMETRICW 
1a7d0 4e 45 57 54 45 58 54 4d 45 54 52 49 43 3b 0a 20  NEWTEXTMETRIC;. 
1a7e0 20 20 20 61 6c 69 61 73 20 4e 45 57 54 45 58 54     alias NEWTEXT
1a7f0 4d 45 54 52 49 43 45 58 57 20 4e 45 57 54 45 58  METRICEXW NEWTEX
1a800 54 4d 45 54 52 49 43 45 58 3b 0a 20 20 20 20 61  TMETRICEX;.    a
1a810 6c 69 61 73 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54  lias ENUMLOGFONT
1a820 57 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 3b 0a 20  W ENUMLOGFONT;. 
1a830 20 20 20 61 6c 69 61 73 20 45 4e 55 4d 4c 4f 47     alias ENUMLOG
1a840 46 4f 4e 54 45 58 57 20 20 20 45 4e 55 4d 4c 4f  FONTEXW   ENUMLO
1a850 47 46 4f 4e 54 45 58 3b 0a 20 20 20 20 61 6c 69  GFONTEX;.    ali
1a860 61 73 20 44 49 53 50 4c 41 59 5f 44 45 56 49 43  as DISPLAY_DEVIC
1a870 45 57 20 20 44 49 53 50 4c 41 59 5f 44 45 56 49  EW  DISPLAY_DEVI
1a880 43 45 3b 0a 20 20 20 20 61 6c 69 61 73 20 41 64  CE;.    alias Ad
1a890 64 46 6f 6e 74 52 65 73 6f 75 72 63 65 57 20 41  dFontResourceW A
1a8a0 64 64 46 6f 6e 74 52 65 73 6f 75 72 63 65 3b 0a  ddFontResource;.
1a8b0 0a 20 20 20 20 61 6c 69 61 73 20 43 6f 70 79 45  .    alias CopyE
1a8c0 6e 68 4d 65 74 61 46 69 6c 65 57 20 43 6f 70 79  nhMetaFileW Copy
1a8d0 45 6e 68 4d 65 74 61 46 69 6c 65 3b 0a 20 20 20  EnhMetaFile;.   
1a8e0 20 61 6c 69 61 73 20 43 6f 70 79 4d 65 74 61 46   alias CopyMetaF
1a8f0 69 6c 65 57 20 43 6f 70 79 4d 65 74 61 46 69 6c  ileW CopyMetaFil
1a900 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65  e;.    alias Cre
1a910 61 74 65 43 6f 6c 6f 72 53 70 61 63 65 57 20 43  ateColorSpaceW C
1a920 72 65 61 74 65 43 6f 6c 6f 72 53 70 61 63 65 3b  reateColorSpace;
1a930 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65 61 74  .    alias Creat
1a940 65 44 43 57 20 43 72 65 61 74 65 44 43 3b 0a 20  eDCW CreateDC;. 
1a950 20 20 20 61 6c 69 61 73 20 43 72 65 61 74 65 45     alias CreateE
1a960 6e 68 4d 65 74 61 46 69 6c 65 57 20 43 72 65 61  nhMetaFileW Crea
1a970 74 65 45 6e 68 4d 65 74 61 46 69 6c 65 3b 0a 20  teEnhMetaFile;. 
1a980 20 20 20 61 6c 69 61 73 20 43 72 65 61 74 65 46     alias CreateF
1a990 6f 6e 74 57 20 43 72 65 61 74 65 46 6f 6e 74 3b  ontW CreateFont;
1a9a0 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65 61 74  .    alias Creat
1a9b0 65 46 6f 6e 74 49 6e 64 69 72 65 63 74 57 20 43  eFontIndirectW C
1a9c0 72 65 61 74 65 46 6f 6e 74 49 6e 64 69 72 65 63  reateFontIndirec
1a9d0 74 3b 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65  t;.    alias Cre
1a9e0 61 74 65 49 43 57 20 43 72 65 61 74 65 49 43 3b  ateICW CreateIC;
1a9f0 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65 61 74  .    alias Creat
1aa00 65 4d 65 74 61 46 69 6c 65 57 20 43 72 65 61 74  eMetaFileW Creat
1aa10 65 4d 65 74 61 46 69 6c 65 3b 0a 20 20 20 20 61  eMetaFile;.    a
1aa20 6c 69 61 73 20 43 72 65 61 74 65 53 63 61 6c 61  lias CreateScala
1aa30 62 6c 65 46 6f 6e 74 52 65 73 6f 75 72 63 65 57  bleFontResourceW
1aa40 20 43 72 65 61 74 65 53 63 61 6c 61 62 6c 65 46   CreateScalableF
1aa50 6f 6e 74 52 65 73 6f 75 72 63 65 3b 0a 20 20 20  ontResource;.   
1aa60 20 61 6c 69 61 73 20 44 65 76 69 63 65 43 61 70   alias DeviceCap
1aa70 61 62 69 6c 69 74 69 65 73 57 20 44 65 76 69 63  abilitiesW Devic
1aa80 65 43 61 70 61 62 69 6c 69 74 69 65 73 3b 0a 20  eCapabilities;. 
1aa90 20 20 20 61 6c 69 61 73 20 45 6e 75 6d 46 6f 6e     alias EnumFon
1aaa0 74 46 61 6d 69 6c 69 65 73 57 20 45 6e 75 6d 46  tFamiliesW EnumF
1aab0 6f 6e 74 46 61 6d 69 6c 69 65 73 3b 0a 20 20 20  ontFamilies;.   
1aac0 20 61 6c 69 61 73 20 45 6e 75 6d 46 6f 6e 74 46   alias EnumFontF
1aad0 61 6d 69 6c 69 65 73 45 78 57 20 45 6e 75 6d 46  amiliesExW EnumF
1aae0 6f 6e 74 46 61 6d 69 6c 69 65 73 45 78 3b 0a 20  ontFamiliesEx;. 
1aaf0 20 20 20 61 6c 69 61 73 20 45 6e 75 6d 46 6f 6e     alias EnumFon
1ab00 74 73 57 20 45 6e 75 6d 46 6f 6e 74 73 3b 0a 20  tsW EnumFonts;. 
1ab10 20 20 20 61 6c 69 61 73 20 45 6e 75 6d 49 43 4d     alias EnumICM
1ab20 50 72 6f 66 69 6c 65 73 57 20 45 6e 75 6d 49 43  ProfilesW EnumIC
1ab30 4d 50 72 6f 66 69 6c 65 73 3b 0a 20 20 20 20 61  MProfiles;.    a
1ab40 6c 69 61 73 20 45 78 74 54 65 78 74 4f 75 74 57  lias ExtTextOutW
1ab50 20 45 78 74 54 65 78 74 4f 75 74 3b 0a 20 20 20   ExtTextOut;.   
1ab60 20 61 6c 69 61 73 20 47 65 74 43 68 61 72 41 42   alias GetCharAB
1ab70 43 57 69 64 74 68 73 46 6c 6f 61 74 57 20 47 65  CWidthsFloatW Ge
1ab80 74 43 68 61 72 41 42 43 57 69 64 74 68 73 46 6c  tCharABCWidthsFl
1ab90 6f 61 74 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  oat;.    alias G
1aba0 65 74 43 68 61 72 41 42 43 57 69 64 74 68 73 57  etCharABCWidthsW
1abb0 20 47 65 74 43 68 61 72 41 42 43 57 69 64 74 68   GetCharABCWidth
1abc0 73 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74  s;.    alias Get
1abd0 43 68 61 72 61 63 74 65 72 50 6c 61 63 65 6d 65  CharacterPlaceme
1abe0 6e 74 57 20 47 65 74 43 68 61 72 61 63 74 65 72  ntW GetCharacter
1abf0 50 6c 61 63 65 6d 65 6e 74 3b 0a 20 20 20 20 61  Placement;.    a
1ac00 6c 69 61 73 20 47 65 74 43 68 61 72 57 69 64 74  lias GetCharWidt
1ac10 68 33 32 57 20 47 65 74 43 68 61 72 57 69 64 74  h32W GetCharWidt
1ac20 68 33 32 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  h32;.    alias G
1ac30 65 74 43 68 61 72 57 69 64 74 68 46 6c 6f 61 74  etCharWidthFloat
1ac40 57 20 47 65 74 43 68 61 72 57 69 64 74 68 46 6c  W GetCharWidthFl
1ac50 6f 61 74 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  oat;.    alias G
1ac60 65 74 43 68 61 72 57 69 64 74 68 57 20 47 65 74  etCharWidthW Get
1ac70 43 68 61 72 57 69 64 74 68 3b 0a 20 20 20 20 61  CharWidth;.    a
1ac80 6c 69 61 73 20 47 65 74 45 6e 68 4d 65 74 61 46  lias GetEnhMetaF
1ac90 69 6c 65 57 20 47 65 74 45 6e 68 4d 65 74 61 46  ileW GetEnhMetaF
1aca0 69 6c 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  ile;.    alias G
1acb0 65 74 45 6e 68 4d 65 74 61 46 69 6c 65 44 65 73  etEnhMetaFileDes
1acc0 63 72 69 70 74 69 6f 6e 57 20 47 65 74 45 6e 68  criptionW GetEnh
1acd0 4d 65 74 61 46 69 6c 65 44 65 73 63 72 69 70 74  MetaFileDescript
1ace0 69 6f 6e 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  ion;.    alias G
1acf0 65 74 47 6c 79 70 68 4f 75 74 6c 69 6e 65 57 20  etGlyphOutlineW 
1ad00 47 65 74 47 6c 79 70 68 4f 75 74 6c 69 6e 65 3b  GetGlyphOutline;
1ad10 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74 49 43  .    alias GetIC
1ad20 4d 50 72 6f 66 69 6c 65 57 20 47 65 74 49 43 4d  MProfileW GetICM
1ad30 50 72 6f 66 69 6c 65 3b 0a 20 20 20 20 61 6c 69  Profile;.    ali
1ad40 61 73 20 47 65 74 4b 65 72 6e 69 6e 67 50 61 69  as GetKerningPai
1ad50 72 73 57 20 20 47 65 74 4b 65 72 6e 69 6e 67 50  rsW  GetKerningP
1ad60 61 69 72 73 3b 0a 20 20 20 20 61 6c 69 61 73 20  airs;.    alias 
1ad70 47 65 74 4c 6f 67 43 6f 6c 6f 72 53 70 61 63 65  GetLogColorSpace
1ad80 57 20 47 65 74 4c 6f 67 43 6f 6c 6f 72 53 70 61  W GetLogColorSpa
1ad90 63 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65  ce;.    alias Ge
1ada0 74 4d 65 74 61 46 69 6c 65 57 20 47 65 74 4d 65  tMetaFileW GetMe
1adb0 74 61 46 69 6c 65 3b 0a 20 20 20 20 61 6c 69 61  taFile;.    alia
1adc0 73 20 47 65 74 4f 62 6a 65 63 74 57 20 47 65 74  s GetObjectW Get
1add0 4f 62 6a 65 63 74 3b 0a 20 20 20 20 61 6c 69 61  Object;.    alia
1ade0 73 20 47 65 74 4f 75 74 6c 69 6e 65 54 65 78 74  s GetOutlineText
1adf0 4d 65 74 72 69 63 73 57 20 47 65 74 4f 75 74 6c  MetricsW GetOutl
1ae00 69 6e 65 54 65 78 74 4d 65 74 72 69 63 73 3b 0a  ineTextMetrics;.
1ae10 20 20 20 20 61 6c 69 61 73 20 47 65 74 54 65 78      alias GetTex
1ae20 74 45 78 74 65 6e 74 50 6f 69 6e 74 57 20 47 65  tExtentPointW Ge
1ae30 74 54 65 78 74 45 78 74 65 6e 74 50 6f 69 6e 74  tTextExtentPoint
1ae40 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74 54  ;.    alias GetT
1ae50 65 78 74 45 78 74 65 6e 74 45 78 50 6f 69 6e 74  extExtentExPoint
1ae60 57 20 47 65 74 54 65 78 74 45 78 74 65 6e 74 45  W GetTextExtentE
1ae70 78 50 6f 69 6e 74 3b 0a 20 20 20 20 61 6c 69 61  xPoint;.    alia
1ae80 73 20 47 65 74 54 65 78 74 45 78 74 65 6e 74 50  s GetTextExtentP
1ae90 6f 69 6e 74 33 32 57 20 47 65 74 54 65 78 74 45  oint32W GetTextE
1aea0 78 74 65 6e 74 50 6f 69 6e 74 33 32 3b 0a 20 20  xtentPoint32;.  
1aeb0 20 20 61 6c 69 61 73 20 47 65 74 54 65 78 74 46    alias GetTextF
1aec0 61 63 65 57 20 47 65 74 54 65 78 74 46 61 63 65  aceW GetTextFace
1aed0 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74 54  ;.    alias GetT
1aee0 65 78 74 4d 65 74 72 69 63 73 57 20 47 65 74 54  extMetricsW GetT
1aef0 65 78 74 4d 65 74 72 69 63 73 3b 0a 20 20 20 20  extMetrics;.    
1af00 61 6c 69 61 73 20 50 6f 6c 79 54 65 78 74 4f 75  alias PolyTextOu
1af10 74 57 20 50 6f 6c 79 54 65 78 74 4f 75 74 3b 0a  tW PolyTextOut;.
1af20 20 20 20 20 61 6c 69 61 73 20 52 65 6d 6f 76 65      alias Remove
1af30 46 6f 6e 74 52 65 73 6f 75 72 63 65 57 20 52 65  FontResourceW Re
1af40 6d 6f 76 65 46 6f 6e 74 52 65 73 6f 75 72 63 65  moveFontResource
1af50 3b 0a 0a 20 20 20 20 61 6c 69 61 73 20 52 65 73  ;..    alias Res
1af60 65 74 44 43 57 20 52 65 73 65 74 44 43 3b 0a 20  etDCW ResetDC;. 
1af70 20 20 20 61 6c 69 61 73 20 53 65 74 49 43 4d 50     alias SetICMP
1af80 72 6f 66 69 6c 65 57 20 53 65 74 49 43 4d 50 72  rofileW SetICMPr
1af90 6f 66 69 6c 65 3b 0a 20 20 20 20 61 6c 69 61 73  ofile;.    alias
1afa0 20 53 74 61 72 74 44 6f 63 57 20 53 74 61 72 74   StartDocW Start
1afb0 44 6f 63 3b 0a 20 20 20 20 61 6c 69 61 73 20 54  Doc;.    alias T
1afc0 65 78 74 4f 75 74 57 20 20 54 65 78 74 4f 75 74  extOutW  TextOut
1afd0 3b 0a 20 20 20 20 61 6c 69 61 73 20 55 70 64 61  ;.    alias Upda
1afe0 74 65 49 43 4d 52 65 67 4b 65 79 57 20 55 70 64  teICMRegKeyW Upd
1aff0 61 74 65 49 43 4d 52 65 67 4b 65 79 3b 0a 20 20  ateICMRegKey;.  
1b000 20 20 61 6c 69 61 73 20 77 67 6c 55 73 65 46 6f    alias wglUseFo
1b010 6e 74 42 69 74 6d 61 70 73 57 20 20 77 67 6c 55  ntBitmapsW  wglU
1b020 73 65 46 6f 6e 74 42 69 74 6d 61 70 73 3b 0a 20  seFontBitmaps;. 
1b030 20 20 20 61 6c 69 61 73 20 77 67 6c 55 73 65 46     alias wglUseF
1b040 6f 6e 74 4f 75 74 6c 69 6e 65 73 57 20 77 67 6c  ontOutlinesW wgl
1b050 55 73 65 46 6f 6e 74 4f 75 74 6c 69 6e 65 73 3b  UseFontOutlines;
1b060 0a 20 20 20 20 73 74 61 74 69 63 0a 0a 20 20 20  .    static..   
1b070 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
1b080 54 20 3e 3d 20 30 78 30 35 30 30 29 0a 20 20 20  T >= 0x0500).   
1b090 20 7b 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73   {.        alias
1b0a0 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 44 56   ENUMLOGFONTEXDV
1b0b0 57 20 20 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45  W   ENUMLOGFONTE
1b0c0 58 44 56 3b 0a 20 20 20 20 20 20 20 20 61 6c 69  XDV;.        ali
1b0d0 61 73 20 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45  as PENUMLOGFONTE
1b0e0 58 44 56 57 20 20 50 45 4e 55 4d 4c 4f 47 46 4f  XDVW  PENUMLOGFO
1b0f0 4e 54 45 58 44 56 3b 0a 20 20 20 20 20 20 20 20  NTEXDV;.        
1b100 61 6c 69 61 73 20 4c 50 45 4e 55 4d 4c 4f 47 46  alias LPENUMLOGF
1b110 4f 4e 54 45 58 44 56 57 20 4c 50 45 4e 55 4d 4c  ONTEXDVW LPENUML
1b120 4f 47 46 4f 4e 54 45 58 44 56 3b 0a 20 20 20 20  OGFONTEXDV;.    
1b130 20 20 20 20 61 6c 69 61 73 20 41 64 64 46 6f 6e      alias AddFon
1b140 74 52 65 73 6f 75 72 63 65 45 78 57 20 41 64 64  tResourceExW Add
1b150 46 6f 6e 74 52 65 73 6f 75 72 63 65 45 78 3b 0a  FontResourceEx;.
1b160 20 20 20 20 20 20 20 20 61 6c 69 61 73 20 52 65          alias Re
1b170 6d 6f 76 65 46 6f 6e 74 52 65 73 6f 75 72 63 65  moveFontResource
1b180 45 78 57 20 52 65 6d 6f 76 65 46 6f 6e 74 52 65  ExW RemoveFontRe
1b190 73 6f 75 72 63 65 45 78 3b 0a 20 20 20 20 20 20  sourceEx;.      
1b1a0 20 20 61 6c 69 61 73 20 47 65 74 47 6c 79 70 68    alias GetGlyph
1b1b0 49 6e 64 69 63 65 73 57 20 47 65 74 47 6c 79 70  IndicesW GetGlyp
1b1c0 68 49 6e 64 69 63 65 73 3b 0a 20 20 20 20 7d 0a  hIndices;.    }.
1b1d0 7d 0a 65 6c 73 65 20 20 20 20 20 2f 2a 20 6e 6f  }.else     /* no
1b1e0 6e 2d 75 6e 69 63 6f 64 65 20 62 75 69 6c 64 20  n-unicode build 
1b1f0 2a 2f 0a 7b 0a 20 20 20 20 61 6c 69 61 73 20 42  */.{.    alias B
1b200 59 54 45 20 42 43 48 41 52 3b 0a 20 20 20 20 61  YTE BCHAR;.    a
1b210 6c 69 61 73 20 44 4f 43 49 4e 46 4f 41 20 44 4f  lias DOCINFOA DO
1b220 43 49 4e 46 4f 3b 0a 20 20 20 20 61 6c 69 61 73  CINFO;.    alias
1b230 20 4c 4f 47 46 4f 4e 54 41 20 4c 4f 47 46 4f 4e   LOGFONTA LOGFON
1b240 54 3b 0a 20 20 20 20 61 6c 69 61 73 20 54 45 58  T;.    alias TEX
1b250 54 4d 45 54 52 49 43 41 20 54 45 58 54 4d 45 54  TMETRICA TEXTMET
1b260 52 49 43 3b 0a 20 20 20 20 61 6c 69 61 73 20 4e  RIC;.    alias N
1b270 50 54 45 58 54 4d 45 54 52 49 43 41 20 4e 50 54  PTEXTMETRICA NPT
1b280 45 58 54 4d 45 54 52 49 43 3b 0a 20 20 20 20 61  EXTMETRIC;.    a
1b290 6c 69 61 73 20 49 43 4d 45 4e 55 4d 50 52 4f 43  lias ICMENUMPROC
1b2a0 41 20 20 49 43 4d 45 4e 55 4d 50 52 4f 43 3b 0a  A  ICMENUMPROC;.
1b2b0 20 20 20 20 61 6c 69 61 73 20 46 4f 4e 54 45 4e      alias FONTEN
1b2c0 55 4d 50 52 4f 43 41 20 46 4f 4e 54 45 4e 55 4d  UMPROCA FONTENUM
1b2d0 50 52 4f 43 3b 0a 20 20 20 20 61 6c 69 61 73 20  PROC;.    alias 
1b2e0 44 45 56 4d 4f 44 45 41 20 44 45 56 4d 4f 44 45  DEVMODEA DEVMODE
1b2f0 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 58 54 4c  ;.    alias EXTL
1b300 4f 47 46 4f 4e 54 41 20 20 45 58 54 4c 4f 47 46  OGFONTA  EXTLOGF
1b310 4f 4e 54 3b 0a 20 20 20 20 61 6c 69 61 73 20 47  ONT;.    alias G
1b320 43 50 5f 52 45 53 55 4c 54 53 41 20 47 43 50 5f  CP_RESULTSA GCP_
1b330 52 45 53 55 4c 54 53 3b 0a 20 20 20 20 61 6c 69  RESULTS;.    ali
1b340 61 73 20 4f 55 54 4c 49 4e 45 54 45 58 54 4d 45  as OUTLINETEXTME
1b350 54 52 49 43 41 20 4f 55 54 4c 49 4e 45 54 45 58  TRICA OUTLINETEX
1b360 54 4d 45 54 52 49 43 3b 0a 20 20 20 20 61 6c 69  TMETRIC;.    ali
1b370 61 73 20 50 4f 4c 59 54 45 58 54 41 20 50 4f 4c  as POLYTEXTA POL
1b380 59 54 45 58 54 3b 0a 20 20 20 20 61 6c 69 61 73  YTEXT;.    alias
1b390 20 4c 4f 47 43 4f 4c 4f 52 53 50 41 43 45 41 20   LOGCOLORSPACEA 
1b3a0 4c 4f 47 43 4f 4c 4f 52 53 50 41 43 45 3b 0a 20  LOGCOLORSPACE;. 
1b3b0 20 20 20 61 6c 69 61 73 20 4e 45 57 54 45 58 54     alias NEWTEXT
1b3c0 4d 45 54 52 49 43 41 20 4e 45 57 54 45 58 54 4d  METRICA NEWTEXTM
1b3d0 45 54 52 49 43 3b 0a 20 20 20 20 61 6c 69 61 73  ETRIC;.    alias
1b3e0 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43 45 58   NEWTEXTMETRICEX
1b3f0 41 20 4e 45 57 54 45 58 54 4d 45 54 52 49 43 45  A NEWTEXTMETRICE
1b400 58 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 4e 55  X;.    alias ENU
1b410 4d 4c 4f 47 46 4f 4e 54 41 20 45 4e 55 4d 4c 4f  MLOGFONTA ENUMLO
1b420 47 46 4f 4e 54 3b 0a 20 20 20 20 61 6c 69 61 73  GFONT;.    alias
1b430 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 41 20   ENUMLOGFONTEXA 
1b440 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 3b 0a   ENUMLOGFONTEX;.
1b450 20 20 20 20 61 6c 69 61 73 20 44 49 53 50 4c 41      alias DISPLA
1b460 59 5f 44 45 56 49 43 45 41 20 44 49 53 50 4c 41  Y_DEVICEA DISPLA
1b470 59 5f 44 45 56 49 43 45 3b 0a 0a 20 20 20 20 61  Y_DEVICE;..    a
1b480 6c 69 61 73 20 41 64 64 46 6f 6e 74 52 65 73 6f  lias AddFontReso
1b490 75 72 63 65 41 20 41 64 64 46 6f 6e 74 52 65 73  urceA AddFontRes
1b4a0 6f 75 72 63 65 3b 0a 20 20 20 20 61 6c 69 61 73  ource;.    alias
1b4b0 20 43 6f 70 79 45 6e 68 4d 65 74 61 46 69 6c 65   CopyEnhMetaFile
1b4c0 41 20 43 6f 70 79 45 6e 68 4d 65 74 61 46 69 6c  A CopyEnhMetaFil
1b4d0 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 43 6f 70  e;.    alias Cop
1b4e0 79 4d 65 74 61 46 69 6c 65 41 20 43 6f 70 79 4d  yMetaFileA CopyM
1b4f0 65 74 61 46 69 6c 65 3b 0a 20 20 20 20 61 6c 69  etaFile;.    ali
1b500 61 73 20 43 72 65 61 74 65 43 6f 6c 6f 72 53 70  as CreateColorSp
1b510 61 63 65 41 20 43 72 65 61 74 65 43 6f 6c 6f 72  aceA CreateColor
1b520 53 70 61 63 65 3b 0a 20 20 20 20 61 6c 69 61 73  Space;.    alias
1b530 20 43 72 65 61 74 65 44 43 41 20 43 72 65 61 74   CreateDCA Creat
1b540 65 44 43 3b 0a 20 20 20 20 61 6c 69 61 73 20 43  eDC;.    alias C
1b550 72 65 61 74 65 45 6e 68 4d 65 74 61 46 69 6c 65  reateEnhMetaFile
1b560 41 20 43 72 65 61 74 65 45 6e 68 4d 65 74 61 46  A CreateEnhMetaF
1b570 69 6c 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 43  ile;.    alias C
1b580 72 65 61 74 65 46 6f 6e 74 41 20 43 72 65 61 74  reateFontA Creat
1b590 65 46 6f 6e 74 3b 0a 20 20 20 20 61 6c 69 61 73  eFont;.    alias
1b5a0 20 43 72 65 61 74 65 46 6f 6e 74 49 6e 64 69 72   CreateFontIndir
1b5b0 65 63 74 41 20 43 72 65 61 74 65 46 6f 6e 74 49  ectA CreateFontI
1b5c0 6e 64 69 72 65 63 74 3b 0a 20 20 20 20 61 6c 69  ndirect;.    ali
1b5d0 61 73 20 43 72 65 61 74 65 49 43 41 20 43 72 65  as CreateICA Cre
1b5e0 61 74 65 49 43 3b 0a 20 20 20 20 61 6c 69 61 73  ateIC;.    alias
1b5f0 20 43 72 65 61 74 65 4d 65 74 61 46 69 6c 65 41   CreateMetaFileA
1b600 20 43 72 65 61 74 65 4d 65 74 61 46 69 6c 65 3b   CreateMetaFile;
1b610 0a 20 20 20 20 61 6c 69 61 73 20 43 72 65 61 74  .    alias Creat
1b620 65 53 63 61 6c 61 62 6c 65 46 6f 6e 74 52 65 73  eScalableFontRes
1b630 6f 75 72 63 65 41 20 43 72 65 61 74 65 53 63 61  ourceA CreateSca
1b640 6c 61 62 6c 65 46 6f 6e 74 52 65 73 6f 75 72 63  lableFontResourc
1b650 65 3b 0a 20 20 20 20 61 6c 69 61 73 20 44 65 76  e;.    alias Dev
1b660 69 63 65 43 61 70 61 62 69 6c 69 74 69 65 73 41  iceCapabilitiesA
1b670 20 44 65 76 69 63 65 43 61 70 61 62 69 6c 69 74   DeviceCapabilit
1b680 69 65 73 3b 0a 20 20 20 20 61 6c 69 61 73 20 45  ies;.    alias E
1b690 6e 75 6d 46 6f 6e 74 46 61 6d 69 6c 69 65 73 41  numFontFamiliesA
1b6a0 20 45 6e 75 6d 46 6f 6e 74 46 61 6d 69 6c 69 65   EnumFontFamilie
1b6b0 73 3b 0a 20 20 20 20 61 6c 69 61 73 20 45 6e 75  s;.    alias Enu
1b6c0 6d 46 6f 6e 74 46 61 6d 69 6c 69 65 73 45 78 41  mFontFamiliesExA
1b6d0 20 45 6e 75 6d 46 6f 6e 74 46 61 6d 69 6c 69 65   EnumFontFamilie
1b6e0 73 45 78 3b 0a 20 20 20 20 61 6c 69 61 73 20 45  sEx;.    alias E
1b6f0 6e 75 6d 46 6f 6e 74 73 41 20 45 6e 75 6d 46 6f  numFontsA EnumFo
1b700 6e 74 73 3b 0a 20 20 20 20 61 6c 69 61 73 20 45  nts;.    alias E
1b710 6e 75 6d 49 43 4d 50 72 6f 66 69 6c 65 73 41 20  numICMProfilesA 
1b720 45 6e 75 6d 49 43 4d 50 72 6f 66 69 6c 65 73 3b  EnumICMProfiles;
1b730 0a 20 20 20 20 61 6c 69 61 73 20 45 78 74 54 65  .    alias ExtTe
1b740 78 74 4f 75 74 41 20 45 78 74 54 65 78 74 4f 75  xtOutA ExtTextOu
1b750 74 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74  t;.    alias Get
1b760 43 68 61 72 57 69 64 74 68 46 6c 6f 61 74 41 20  CharWidthFloatA 
1b770 47 65 74 43 68 61 72 57 69 64 74 68 46 6c 6f 61  GetCharWidthFloa
1b780 74 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74  t;.    alias Get
1b790 43 68 61 72 57 69 64 74 68 41 20 47 65 74 43 68  CharWidthA GetCh
1b7a0 61 72 57 69 64 74 68 3b 0a 20 20 20 20 61 6c 69  arWidth;.    ali
1b7b0 61 73 20 47 65 74 43 68 61 72 61 63 74 65 72 50  as GetCharacterP
1b7c0 6c 61 63 65 6d 65 6e 74 41 20 47 65 74 43 68 61  lacementA GetCha
1b7d0 72 61 63 74 65 72 50 6c 61 63 65 6d 65 6e 74 3b  racterPlacement;
1b7e0 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74 43 68  .    alias GetCh
1b7f0 61 72 41 42 43 57 69 64 74 68 73 41 20 47 65 74  arABCWidthsA Get
1b800 43 68 61 72 41 42 43 57 69 64 74 68 73 3b 0a 20  CharABCWidths;. 
1b810 20 20 20 61 6c 69 61 73 20 47 65 74 43 68 61 72     alias GetChar
1b820 41 42 43 57 69 64 74 68 73 46 6c 6f 61 74 41 20  ABCWidthsFloatA 
1b830 47 65 74 43 68 61 72 41 42 43 57 69 64 74 68 73  GetCharABCWidths
1b840 46 6c 6f 61 74 3b 0a 20 20 20 20 61 6c 69 61 73  Float;.    alias
1b850 20 47 65 74 43 68 61 72 57 69 64 74 68 33 32 41   GetCharWidth32A
1b860 20 47 65 74 43 68 61 72 57 69 64 74 68 33 32 3b   GetCharWidth32;
1b870 0a 20 20 20 20 61 6c 69 61 73 20 47 65 74 45 6e  .    alias GetEn
1b880 68 4d 65 74 61 46 69 6c 65 41 20 47 65 74 45 6e  hMetaFileA GetEn
1b890 68 4d 65 74 61 46 69 6c 65 3b 0a 20 20 20 20 61  hMetaFile;.    a
1b8a0 6c 69 61 73 20 47 65 74 45 6e 68 4d 65 74 61 46  lias GetEnhMetaF
1b8b0 69 6c 65 44 65 73 63 72 69 70 74 69 6f 6e 41 20  ileDescriptionA 
1b8c0 47 65 74 45 6e 68 4d 65 74 61 46 69 6c 65 44 65  GetEnhMetaFileDe
1b8d0 73 63 72 69 70 74 69 6f 6e 3b 0a 20 20 20 20 61  scription;.    a
1b8e0 6c 69 61 73 20 47 65 74 47 6c 79 70 68 4f 75 74  lias GetGlyphOut
1b8f0 6c 69 6e 65 41 20 47 65 74 47 6c 79 70 68 4f 75  lineA GetGlyphOu
1b900 74 6c 69 6e 65 3b 0a 20 20 20 20 61 6c 69 61 73  tline;.    alias
1b910 20 47 65 74 49 43 4d 50 72 6f 66 69 6c 65 41 20   GetICMProfileA 
1b920 47 65 74 49 43 4d 50 72 6f 66 69 6c 65 3b 0a 20  GetICMProfile;. 
1b930 20 20 20 61 6c 69 61 73 20 47 65 74 4b 65 72 6e     alias GetKern
1b940 69 6e 67 50 61 69 72 73 41 20 20 47 65 74 4b 65  ingPairsA  GetKe
1b950 72 6e 69 6e 67 50 61 69 72 73 3b 0a 20 20 20 20  rningPairs;.    
1b960 61 6c 69 61 73 20 47 65 74 4c 6f 67 43 6f 6c 6f  alias GetLogColo
1b970 72 53 70 61 63 65 41 20 47 65 74 4c 6f 67 43 6f  rSpaceA GetLogCo
1b980 6c 6f 72 53 70 61 63 65 3b 0a 20 20 20 20 61 6c  lorSpace;.    al
1b990 69 61 73 20 47 65 74 4d 65 74 61 46 69 6c 65 41  ias GetMetaFileA
1b9a0 20 47 65 74 4d 65 74 61 46 69 6c 65 3b 0a 20 20   GetMetaFile;.  
1b9b0 20 20 61 6c 69 61 73 20 47 65 74 4f 62 6a 65 63    alias GetObjec
1b9c0 74 41 20 47 65 74 4f 62 6a 65 63 74 3b 0a 20 20  tA GetObject;.  
1b9d0 20 20 61 6c 69 61 73 20 47 65 74 4f 75 74 6c 69    alias GetOutli
1b9e0 6e 65 54 65 78 74 4d 65 74 72 69 63 73 41 20 47  neTextMetricsA G
1b9f0 65 74 4f 75 74 6c 69 6e 65 54 65 78 74 4d 65 74  etOutlineTextMet
1ba00 72 69 63 73 3b 0a 20 20 20 20 61 6c 69 61 73 20  rics;.    alias 
1ba10 47 65 74 54 65 78 74 45 78 74 65 6e 74 50 6f 69  GetTextExtentPoi
1ba20 6e 74 41 20 47 65 74 54 65 78 74 45 78 74 65 6e  ntA GetTextExten
1ba30 74 50 6f 69 6e 74 3b 0a 20 20 20 20 61 6c 69 61  tPoint;.    alia
1ba40 73 20 47 65 74 54 65 78 74 45 78 74 65 6e 74 45  s GetTextExtentE
1ba50 78 50 6f 69 6e 74 41 20 47 65 74 54 65 78 74 45  xPointA GetTextE
1ba60 78 74 65 6e 74 45 78 50 6f 69 6e 74 3b 0a 20 20  xtentExPoint;.  
1ba70 20 20 61 6c 69 61 73 20 47 65 74 54 65 78 74 45    alias GetTextE
1ba80 78 74 65 6e 74 50 6f 69 6e 74 33 32 41 20 47 65  xtentPoint32A Ge
1ba90 74 54 65 78 74 45 78 74 65 6e 74 50 6f 69 6e 74  tTextExtentPoint
1baa0 33 32 3b 0a 20 20 20 20 61 6c 69 61 73 20 47 65  32;.    alias Ge
1bab0 74 54 65 78 74 46 61 63 65 41 20 47 65 74 54 65  tTextFaceA GetTe
1bac0 78 74 46 61 63 65 3b 0a 20 20 20 20 61 6c 69 61  xtFace;.    alia
1bad0 73 20 47 65 74 54 65 78 74 4d 65 74 72 69 63 73  s GetTextMetrics
1bae0 41 20 47 65 74 54 65 78 74 4d 65 74 72 69 63 73  A GetTextMetrics
1baf0 3b 0a 20 20 20 20 61 6c 69 61 73 20 50 6f 6c 79  ;.    alias Poly
1bb00 54 65 78 74 4f 75 74 41 20 50 6f 6c 79 54 65 78  TextOutA PolyTex
1bb10 74 4f 75 74 3b 0a 20 20 20 20 61 6c 69 61 73 20  tOut;.    alias 
1bb20 52 65 6d 6f 76 65 46 6f 6e 74 52 65 73 6f 75 72  RemoveFontResour
1bb30 63 65 41 20 52 65 6d 6f 76 65 46 6f 6e 74 52 65  ceA RemoveFontRe
1bb40 73 6f 75 72 63 65 3b 0a 20 20 20 20 61 6c 69 61  source;.    alia
1bb50 73 20 52 65 73 65 74 44 43 41 20 52 65 73 65 74  s ResetDCA Reset
1bb60 44 43 3b 0a 20 20 20 20 61 6c 69 61 73 20 53 65  DC;.    alias Se
1bb70 74 49 43 4d 50 72 6f 66 69 6c 65 41 20 53 65 74  tICMProfileA Set
1bb80 49 43 4d 50 72 6f 66 69 6c 65 3b 0a 20 20 20 20  ICMProfile;.    
1bb90 61 6c 69 61 73 20 53 74 61 72 74 44 6f 63 41 20  alias StartDocA 
1bba0 53 74 61 72 74 44 6f 63 3b 0a 20 20 20 20 61 6c  StartDoc;.    al
1bbb0 69 61 73 20 54 65 78 74 4f 75 74 41 20 20 54 65  ias TextOutA  Te
1bbc0 78 74 4f 75 74 3b 0a 20 20 20 20 61 6c 69 61 73  xtOut;.    alias
1bbd0 20 55 70 64 61 74 65 49 43 4d 52 65 67 4b 65 79   UpdateICMRegKey
1bbe0 41 20 55 70 64 61 74 65 49 43 4d 52 65 67 4b 65  A UpdateICMRegKe
1bbf0 79 3b 0a 20 20 20 20 61 6c 69 61 73 20 77 67 6c  y;.    alias wgl
1bc00 55 73 65 46 6f 6e 74 42 69 74 6d 61 70 73 41 20  UseFontBitmapsA 
1bc10 20 77 67 6c 55 73 65 46 6f 6e 74 42 69 74 6d 61   wglUseFontBitma
1bc20 70 73 3b 0a 20 20 20 20 61 6c 69 61 73 20 77 67  ps;.    alias wg
1bc30 6c 55 73 65 46 6f 6e 74 4f 75 74 6c 69 6e 65 73  lUseFontOutlines
1bc40 41 20 77 67 6c 55 73 65 46 6f 6e 74 4f 75 74 6c  A wglUseFontOutl
1bc50 69 6e 65 73 3b 0a 20 20 20 20 73 74 61 74 69 63  ines;.    static
1bc60 0a 0a 20 20 20 20 69 66 20 28 5f 57 49 4e 33 32  ..    if (_WIN32
1bc70 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
1bc80 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20  ).    {.        
1bc90 61 6c 69 61 73 20 45 4e 55 4d 4c 4f 47 46 4f 4e  alias ENUMLOGFON
1bca0 54 45 58 44 56 41 20 20 20 45 4e 55 4d 4c 4f 47  TEXDVA   ENUMLOG
1bcb0 46 4f 4e 54 45 58 44 56 3b 0a 20 20 20 20 20 20  FONTEXDV;.      
1bcc0 20 20 61 6c 69 61 73 20 50 45 4e 55 4d 4c 4f 47    alias PENUMLOG
1bcd0 46 4f 4e 54 45 58 44 56 41 20 20 50 45 4e 55 4d  FONTEXDVA  PENUM
1bce0 4c 4f 47 46 4f 4e 54 45 58 44 56 3b 0a 20 20 20  LOGFONTEXDV;.   
1bcf0 20 20 20 20 20 61 6c 69 61 73 20 4c 50 45 4e 55       alias LPENU
1bd00 4d 4c 4f 47 46 4f 4e 54 45 58 44 56 41 20 4c 50  MLOGFONTEXDVA LP
1bd10 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 44 56 3b  ENUMLOGFONTEXDV;
1bd20 0a 20 20 20 20 20 20 20 20 61 6c 69 61 73 20 41  .        alias A
1bd30 64 64 46 6f 6e 74 52 65 73 6f 75 72 63 65 45 78  ddFontResourceEx
1bd40 41 20 41 64 64 46 6f 6e 74 52 65 73 6f 75 72 63  A AddFontResourc
1bd50 65 45 78 3b 0a 20 20 20 20 20 20 20 20 61 6c 69  eEx;.        ali
1bd60 61 73 20 52 65 6d 6f 76 65 46 6f 6e 74 52 65 73  as RemoveFontRes
1bd70 6f 75 72 63 65 45 78 41 20 52 65 6d 6f 76 65 46  ourceExA RemoveF
1bd80 6f 6e 74 52 65 73 6f 75 72 63 65 45 78 3b 0a 20  ontResourceEx;. 
1bd90 20 20 20 20 20 20 20 61 6c 69 61 73 20 47 65 74         alias Get
1bda0 47 6c 79 70 68 49 6e 64 69 63 65 73 41 20 47 65  GlyphIndicesA Ge
1bdb0 74 47 6c 79 70 68 49 6e 64 69 63 65 73 3b 0a 20  tGlyphIndices;. 
1bdc0 20 20 20 7d 0a 7d 0a 0a 2f 2f 20 43 6f 6d 6d 6f     }.}..// Commo
1bdd0 6e 20 74 6f 20 62 6f 74 68 20 41 53 43 49 49 20  n to both ASCII 
1bde0 26 20 55 4e 49 43 4f 44 45 0a 61 6c 69 61 73 20  & UNICODE.alias 
1bdf0 44 4f 43 49 4e 46 4f 2a 4c 50 44 4f 43 49 4e 46  DOCINFO*LPDOCINF
1be00 4f 3b 0a 61 6c 69 61 73 20 4c 4f 47 46 4f 4e 54  O;.alias LOGFONT
1be10 2a 50 4c 4f 47 46 4f 4e 54 2c 20 4e 50 4c 4f 47  *PLOGFONT, NPLOG
1be20 46 4f 4e 54 2c 20 4c 50 4c 4f 47 46 4f 4e 54 3b  FONT, LPLOGFONT;
1be30 0a 61 6c 69 61 73 20 54 45 58 54 4d 45 54 52 49  .alias TEXTMETRI
1be40 43 2a 50 54 45 58 54 4d 45 54 52 49 43 2c 20 4c  C*PTEXTMETRIC, L
1be50 50 54 45 58 54 4d 45 54 52 49 43 3b 0a 61 6c 69  PTEXTMETRIC;.ali
1be60 61 73 20 44 45 56 4d 4f 44 45 2a 50 44 45 56 4d  as DEVMODE*PDEVM
1be70 4f 44 45 2c 20 4e 50 44 45 56 4d 4f 44 45 2c 20  ODE, NPDEVMODE, 
1be80 4c 50 44 45 56 4d 4f 44 45 3b 0a 61 6c 69 61 73  LPDEVMODE;.alias
1be90 20 45 58 54 4c 4f 47 46 4f 4e 54 20 2a 50 45 58   EXTLOGFONT *PEX
1bea0 54 4c 4f 47 46 4f 4e 54 2c 20 4e 50 45 58 54 4c  TLOGFONT, NPEXTL
1beb0 4f 47 46 4f 4e 54 2c 20 4c 50 45 58 54 4c 4f 47  OGFONT, LPEXTLOG
1bec0 46 4f 4e 54 3b 0a 61 6c 69 61 73 20 47 43 50 5f  FONT;.alias GCP_
1bed0 52 45 53 55 4c 54 53 2a 4c 50 47 43 50 5f 52 45  RESULTS*LPGCP_RE
1bee0 53 55 4c 54 53 3b 0a 61 6c 69 61 73 20 4f 55 54  SULTS;.alias OUT
1bef0 4c 49 4e 45 54 45 58 54 4d 45 54 52 49 43 2a 50  LINETEXTMETRIC*P
1bf00 4f 55 54 4c 49 4e 45 54 45 58 54 4d 45 54 52 49  OUTLINETEXTMETRI
1bf10 43 2c 20 4e 50 4f 55 54 4c 49 4e 45 54 45 58 54  C, NPOUTLINETEXT
1bf20 4d 45 54 52 49 43 2c 20 4c 50 4f 55 54 4c 49 4e  METRIC, LPOUTLIN
1bf30 45 54 45 58 54 4d 45 54 52 49 43 3b 0a 61 6c 69  ETEXTMETRIC;.ali
1bf40 61 73 20 50 4f 4c 59 54 45 58 54 2a 50 50 4f 4c  as POLYTEXT*PPOL
1bf50 59 54 45 58 54 2c 20 4e 50 50 4f 4c 59 54 45 58  YTEXT, NPPOLYTEX
1bf60 54 2c 20 4c 50 50 4f 4c 59 54 45 58 54 3b 0a 61  T, LPPOLYTEXT;.a
1bf70 6c 69 61 73 20 4c 4f 47 43 4f 4c 4f 52 53 50 41  lias LOGCOLORSPA
1bf80 43 45 2a 4c 50 4c 4f 47 43 4f 4c 4f 52 53 50 41  CE*LPLOGCOLORSPA
1bf90 43 45 3b 0a 61 6c 69 61 73 20 4e 45 57 54 45 58  CE;.alias NEWTEX
1bfa0 54 4d 45 54 52 49 43 2a 50 4e 45 57 54 45 58 54  TMETRIC*PNEWTEXT
1bfb0 4d 45 54 52 49 43 2c 20 4e 50 4e 45 57 54 45 58  METRIC, NPNEWTEX
1bfc0 54 4d 45 54 52 49 43 2c 20 4c 50 4e 45 57 54 45  TMETRIC, LPNEWTE
1bfd0 58 54 4d 45 54 52 49 43 3b 0a 61 6c 69 61 73 20  XTMETRIC;.alias 
1bfe0 45 4e 55 4d 4c 4f 47 46 4f 4e 54 2a 4c 50 45 4e  ENUMLOGFONT*LPEN
1bff0 55 4d 4c 4f 47 46 4f 4e 54 3b 0a 61 6c 69 61 73  UMLOGFONT;.alias
1c000 20 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 20 2a   ENUMLOGFONTEX *
1c010 4c 50 45 4e 55 4d 4c 4f 47 46 4f 4e 54 45 58 3b  LPENUMLOGFONTEX;
1c020 0a 61 6c 69 61 73 20 44 49 53 50 4c 41 59 5f 44  .alias DISPLAY_D
1c030 45 56 49 43 45 2a 50 44 49 53 50 4c 41 59 5f 44  EVICE*PDISPLAY_D
1c040 45 56 49 43 45 2c 20 4c 50 44 49 53 50 4c 41 59  EVICE, LPDISPLAY
1c050 5f 44 45 56 49 43 45 3b 0a                       _DEVICE;.