home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / wingdi.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  88KB  |  3,053 lines

  1. #ifndef _WINGDI_H
  2. #define _WINGDI_H
  3. #define _WINGDI_
  4. #if __GNUC__ >= 3
  5. #pragma GCC system_header
  6. #endif
  7.  
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12. #define WINGDIAPI
  13. #define BI_RGB 0
  14. #define BI_RLE8 1
  15. #define BI_RLE4 2
  16. #define BI_BITFIELDS 3
  17. #define BI_JPEG 4
  18. #define BI_PNG 5
  19. #define LF_FACESIZE    32
  20. #define LF_FULLFACESIZE    64
  21. #define CA_NEGATIVE    1
  22. #define CA_LOG_FILTER    2
  23. #define ILLUMINANT_DEVICE_DEFAULT    0
  24. #define ILLUMINANT_A    1
  25. #define ILLUMINANT_B    2
  26. #define ILLUMINANT_C    3
  27. #define ILLUMINANT_D50    4
  28. #define ILLUMINANT_D55    5
  29. #define ILLUMINANT_D65    6
  30. #define ILLUMINANT_D75    7
  31. #define ILLUMINANT_F2    8
  32. #define ILLUMINANT_MAX_INDEX    ILLUMINANT_F2
  33. #define ILLUMINANT_TUNGSTEN    ILLUMINANT_A
  34. #define ILLUMINANT_DAYLIGHT    ILLUMINANT_C
  35. #define ILLUMINANT_FLUORESCENT    ILLUMINANT_F2
  36. #define ILLUMINANT_NTSC    ILLUMINANT_C
  37. #define RGB_GAMMA_MIN    2500
  38. #define RGB_GAMMA_MAX    65000
  39. #define REFERENCE_WHITE_MIN    6000
  40. #define REFERENCE_WHITE_MAX    10000
  41. #define REFERENCE_BLACK_MIN    0
  42. #define REFERENCE_BLACK_MAX    4000
  43. #define COLOR_ADJ_MIN    (-100)
  44. #define COLOR_ADJ_MAX    100
  45. #define CCHDEVICENAME 32
  46. #define CCHFORMNAME 32
  47. #define DI_COMPAT    4
  48. #define DI_DEFAULTSIZE    8
  49. #define DI_IMAGE    2
  50. #define DI_MASK    1
  51. #define DI_NORMAL    3
  52. #define DI_APPBANDING 1
  53. #define EMR_HEADER    1
  54. #define EMR_POLYBEZIER 2
  55. #define EMR_POLYGON    3
  56. #define EMR_POLYLINE    4
  57. #define EMR_POLYBEZIERTO    5
  58. #define EMR_POLYLINETO 6
  59. #define EMR_POLYPOLYLINE    7
  60. #define EMR_POLYPOLYGON 8
  61. #define EMR_SETWINDOWEXTEX    9
  62. #define EMR_SETWINDOWORGEX    10
  63. #define EMR_SETVIEWPORTEXTEX 11
  64. #define EMR_SETVIEWPORTORGEX 12
  65. #define EMR_SETBRUSHORGEX 13
  66. #define EMR_EOF 14
  67. #define EMR_SETPIXELV 15
  68. #define EMR_SETMAPPERFLAGS 16
  69. #define EMR_SETMAPMODE 17
  70. #define EMR_SETBKMODE 18
  71. #define EMR_SETPOLYFILLMODE 19
  72. #define EMR_SETROP2 20
  73. #define EMR_SETSTRETCHBLTMODE 21
  74. #define EMR_SETTEXTALIGN 22
  75. #define EMR_SETCOLORADJUSTMENT 23
  76. #define EMR_SETTEXTCOLOR 24
  77. #define EMR_SETBKCOLOR 25
  78. #define EMR_OFFSETCLIPRGN 26
  79. #define EMR_MOVETOEX 27
  80. #define EMR_SETMETARGN 28
  81. #define EMR_EXCLUDECLIPRECT 29
  82. #define EMR_INTERSECTCLIPRECT 30
  83. #define EMR_SCALEVIEWPORTEXTEX 31
  84. #define EMR_SCALEWINDOWEXTEX 32
  85. #define EMR_SAVEDC 33
  86. #define EMR_RESTOREDC 34
  87. #define EMR_SETWORLDTRANSFORM 35
  88. #define EMR_MODIFYWORLDTRANSFORM 36
  89. #define EMR_SELECTOBJECT 37
  90. #define EMR_CREATEPEN 38
  91. #define EMR_CREATEBRUSHINDIRECT 39
  92. #define EMR_DELETEOBJECT 40
  93. #define EMR_ANGLEARC 41
  94. #define EMR_ELLIPSE  42
  95. #define EMR_RECTANGLE 43
  96. #define EMR_ROUNDRECT 44
  97. #define EMR_ARC 45
  98. #define EMR_CHORD 46
  99. #define EMR_PIE 47
  100. #define EMR_SELECTPALETTE 48
  101. #define EMR_CREATEPALETTE 49
  102. #define EMR_SETPALETTEENTRIES 50
  103. #define EMR_RESIZEPALETTE 51
  104. #define EMR_REALIZEPALETTE 52
  105. #define EMR_EXTFLOODFILL 53
  106. #define EMR_LINETO 54
  107. #define EMR_ARCTO 55
  108. #define EMR_POLYDRAW 56
  109. #define EMR_SETARCDIRECTION 57
  110. #define EMR_SETMITERLIMIT 58
  111. #define EMR_BEGINPATH 59
  112. #define EMR_ENDPATH 60
  113. #define EMR_CLOSEFIGURE 61
  114. #define EMR_FILLPATH 62
  115. #define EMR_STROKEANDFILLPATH 63
  116. #define EMR_STROKEPATH 64
  117. #define EMR_FLATTENPATH 65
  118. #define EMR_WIDENPATH 66
  119. #define EMR_SELECTCLIPPATH 67
  120. #define EMR_ABORTPATH 68
  121. #define EMR_GDICOMMENT 70
  122. #define EMR_FILLRGN 71
  123. #define EMR_FRAMERGN 72
  124. #define EMR_INVERTRGN 73
  125. #define EMR_PAINTRGN 74
  126. #define EMR_EXTSELECTCLIPRGN 75
  127. #define EMR_BITBLT 76
  128. #define EMR_STRETCHBLT 77
  129. #define EMR_MASKBLT 78
  130. #define EMR_PLGBLT 79
  131. #define EMR_SETDIBITSTODEVICE 80
  132. #define EMR_STRETCHDIBITS 81
  133. #define EMR_EXTCREATEFONTINDIRECTW 82
  134. #define EMR_EXTTEXTOUTA 83
  135. #define EMR_EXTTEXTOUTW 84
  136. #define EMR_POLYBEZIER16 85
  137. #define EMR_POLYGON16 86
  138. #define EMR_POLYLINE16 87
  139. #define EMR_POLYBEZIERTO16 88
  140. #define EMR_POLYLINETO16 89
  141. #define EMR_POLYPOLYLINE16 90
  142. #define EMR_POLYPOLYGON16 91
  143. #define EMR_POLYDRAW16 92
  144. #define EMR_CREATEMONOBRUSH 93
  145. #define EMR_CREATEDIBPATTERNBRUSHPT 94
  146. #define EMR_EXTCREATEPEN 95
  147. #define EMR_POLYTEXTOUTA 96
  148. #define EMR_POLYTEXTOUTW 97
  149. #define EMR_SETICMMODE 98
  150. #define EMR_CREATECOLORSPACE 99
  151. #define EMR_SETCOLORSPACE 100
  152. #define EMR_DELETECOLORSPACE 101
  153. #define EMR_GLSRECORD 102
  154. #define EMR_GLSBOUNDEDRECORD 103
  155. #define EMR_PIXELFORMAT 104
  156. #define ENHMETA_SIGNATURE 1179469088
  157. #define EPS_SIGNATURE 0x46535045
  158. #if (_WIN32_WINNT >= 0x0500)
  159. #define FR_PRIVATE 0x10
  160. #define FR_NOT_ENUM 0x20
  161. #endif
  162. #define META_SETBKCOLOR    0x201
  163. #define META_SETBKMODE    0x102
  164. #define META_SETMAPMODE    0x103
  165. #define META_SETROP2    0x104
  166. #define META_SETRELABS    0x105
  167. #define META_SETPOLYFILLMODE    0x106
  168. #define META_SETSTRETCHBLTMODE    0x107
  169. #define META_SETTEXTCHAREXTRA    0x108
  170. #define META_SETTEXTCOLOR    0x209
  171. #define META_SETTEXTJUSTIFICATION    0x20A
  172. #define META_SETWINDOWORG    0x20B
  173. #define META_SETWINDOWEXT    0x20C
  174. #define META_SETVIEWPORTORG    0x20D
  175. #define META_SETVIEWPORTEXT    0x20E
  176. #define META_OFFSETWINDOWORG    0x20F
  177. #define META_SCALEWINDOWEXT    0x410
  178. #define META_OFFSETVIEWPORTORG    0x211
  179. #define META_SCALEVIEWPORTEXT    0x412
  180. #define META_LINETO    0x213
  181. #define META_MOVETO    0x214
  182. #define META_EXCLUDECLIPRECT    0x415
  183. #define META_INTERSECTCLIPRECT    0x416
  184. #define META_ARC    0x817
  185. #define META_ELLIPSE    0x418
  186. #define META_FLOODFILL    0x419
  187. #define META_PIE    0x81A
  188. #define META_RECTANGLE    0x41B
  189. #define META_ROUNDRECT    0x61C
  190. #define META_PATBLT    0x61D
  191. #define META_SAVEDC    0x1E
  192. #define META_SETPIXEL    0x41F
  193. #define META_OFFSETCLIPRGN    0x220
  194. #define META_TEXTOUT    0x521
  195. #define META_BITBLT    0x922
  196. #define META_STRETCHBLT    0xB23
  197. #define META_POLYGON    0x324
  198. #define META_POLYLINE    0x325
  199. #define META_ESCAPE    0x626
  200. #define META_RESTOREDC    0x127
  201. #define META_FILLREGION    0x228
  202. #define META_FRAMEREGION    0x429
  203. #define META_INVERTREGION    0x12A
  204. #define META_PAINTREGION    0x12B
  205. #define META_SELECTCLIPREGION    0x12C
  206. #define META_SELECTOBJECT    0x12D
  207. #define META_SETTEXTALIGN    0x12E
  208. #define META_CHORD    0x830
  209. #define META_SETMAPPERFLAGS    0x231
  210. #define META_EXTTEXTOUT    0xa32
  211. #define META_SETDIBTODEV    0xd33
  212. #define META_SELECTPALETTE    0x234
  213. #define META_REALIZEPALETTE    0x35
  214. #define META_ANIMATEPALETTE    0x436
  215. #define META_SETPALENTRIES    0x37
  216. #define META_POLYPOLYGON    0x538
  217. #define META_RESIZEPALETTE    0x139
  218. #define META_DIBBITBLT    0x940
  219. #define META_DIBSTRETCHBLT    0xb41
  220. #define META_DIBCREATEPATTERNBRUSH    0x142
  221. #define META_STRETCHDIB    0xf43
  222. #define META_EXTFLOODFILL    0x548
  223. #define META_DELETEOBJECT    0x1f0
  224. #define META_CREATEPALETTE    0xf7
  225. #define META_CREATEPATTERNBRUSH    0x1F9
  226. #define META_CREATEPENINDIRECT    0x2FA
  227. #define META_CREATEFONTINDIRECT    0x2FB
  228. #define META_CREATEBRUSHINDIRECT    0x2FC
  229. #define META_CREATEREGION    0x6FF
  230. #define PT_MOVETO    6
  231. #define PT_LINETO    2
  232. #define PT_BEZIERTO    4
  233. #define PT_CLOSEFIGURE 1
  234. #define ELF_VENDOR_SIZE    4
  235. #define ELF_VERSION    0
  236. #define ELF_CULTURE_LATIN    0
  237. #define PFD_TYPE_RGBA    0
  238. #define PFD_TYPE_COLORINDEX    1
  239. #define PFD_MAIN_PLANE    0
  240. #define PFD_OVERLAY_PLANE    1
  241. #define PFD_UNDERLAY_PLANE    (-1)
  242. #define PFD_DOUBLEBUFFER    1
  243. #define PFD_STEREO    2
  244. #define PFD_DRAW_TO_WINDOW    4
  245. #define PFD_DRAW_TO_BITMAP    8
  246. #define PFD_SUPPORT_GDI    16
  247. #define PFD_SUPPORT_OPENGL    32
  248. #define PFD_GENERIC_FORMAT    64
  249. #define PFD_NEED_PALETTE    128
  250. #define PFD_NEED_SYSTEM_PALETTE    0x00000100
  251. #define PFD_SWAP_EXCHANGE    0x00000200
  252. #define PFD_SWAP_COPY    0x00000400
  253. #define PFD_SWAP_LAYER_BUFFERS    0x00000800
  254. #define PFD_GENERIC_ACCELERATED    0x00001000
  255. #define PFD_DEPTH_DONTCARE    0x20000000
  256. #define PFD_DOUBLEBUFFER_DONTCARE    0x40000000
  257. #define PFD_STEREO_DONTCARE    0x80000000
  258. #define SP_ERROR    (-1)
  259. #define SP_OUTOFDISK    (-4)
  260. #define SP_OUTOFMEMORY    (-5)
  261. #define SP_USERABORT    (-3)
  262. #define SP_APPABORT    (-2)
  263. #define BLACKNESS    0x42
  264. #define NOTSRCERASE    0x1100A6
  265. #define NOTSRCCOPY    0x330008
  266. #define SRCERASE    0x440328
  267. #define DSTINVERT    0x550009
  268. #define PATINVERT    0x5A0049
  269. #define SRCINVERT    0x660046
  270. #define SRCAND    0x8800C6
  271. #define MERGEPAINT    0xBB0226
  272. #define MERGECOPY    0xC000CA
  273. #define SRCCOPY 0xCC0020
  274. #define SRCPAINT    0xEE0086
  275. #define PATCOPY    0xF00021
  276. #define PATPAINT    0xFB0A09
  277. #define WHITENESS    0xFF0062
  278. #define R2_BLACK    1
  279. #define R2_COPYPEN    13
  280. #define R2_MASKNOTPEN    3
  281. #define R2_MASKPEN    9
  282. #define R2_MASKPENNOT    5
  283. #define R2_MERGENOTPEN    12
  284. #define R2_MERGEPEN    15
  285. #define R2_MERGEPENNOT    14
  286. #define R2_NOP    11
  287. #define R2_NOT    6
  288. #define R2_NOTCOPYPEN    4
  289. #define R2_NOTMASKPEN    8
  290. #define R2_NOTMERGEPEN    2
  291. #define R2_NOTXORPEN    10
  292. #define R2_WHITE    16
  293. #define R2_XORPEN    7
  294. #define CM_OUT_OF_GAMUT    255
  295. #define CM_IN_GAMUT    0
  296. #define RGN_AND 1
  297. #define RGN_COPY    5
  298. #define RGN_DIFF    4
  299. #define RGN_OR    2
  300. #define RGN_XOR    3
  301. #define NULLREGION    1
  302. #define SIMPLEREGION    2
  303. #define COMPLEXREGION    3
  304. #define ERROR 0
  305. #define CBM_INIT    4
  306. #define DIB_PAL_COLORS    1
  307. #define DIB_RGB_COLORS    0
  308. #define FW_DONTCARE    0
  309. #define FW_THIN    100
  310. #define FW_EXTRALIGHT    200
  311. #define FW_ULTRALIGHT    FW_EXTRALIGHT
  312. #define FW_LIGHT    300
  313. #define FW_NORMAL    400
  314. #define FW_REGULAR    400
  315. #define FW_MEDIUM    500
  316. #define FW_SEMIBOLD    600
  317. #define FW_DEMIBOLD    FW_SEMIBOLD
  318. #define FW_BOLD    700
  319. #define FW_EXTRABOLD    800
  320. #define FW_ULTRABOLD    FW_EXTRABOLD
  321. #define FW_HEAVY    900
  322. #define FW_BLACK    FW_HEAVY
  323. #define ANSI_CHARSET    0
  324. #define DEFAULT_CHARSET    1
  325. #define SYMBOL_CHARSET    2
  326. #define SHIFTJIS_CHARSET    128
  327. #define HANGEUL_CHARSET    129
  328. #define HANGUL_CHARSET  129
  329. #define GB2312_CHARSET    134
  330. #define CHINESEBIG5_CHARSET    136
  331. #define GREEK_CHARSET    161
  332. #define TURKISH_CHARSET    162
  333. #define HEBREW_CHARSET    177
  334. #define ARABIC_CHARSET    178
  335. #define BALTIC_CHARSET    186
  336. #define RUSSIAN_CHARSET    204
  337. #define THAI_CHARSET    222
  338. #define EASTEUROPE_CHARSET    238
  339. #define OEM_CHARSET    255
  340. #define JOHAB_CHARSET    130
  341. #define VIETNAMESE_CHARSET    163
  342. #define MAC_CHARSET 77
  343. #define OUT_DEFAULT_PRECIS    0
  344. #define OUT_STRING_PRECIS    1
  345. #define OUT_CHARACTER_PRECIS    2
  346. #define OUT_STROKE_PRECIS    3
  347. #define OUT_TT_PRECIS    4
  348. #define OUT_DEVICE_PRECIS    5
  349. #define OUT_RASTER_PRECIS    6
  350. #define OUT_TT_ONLY_PRECIS    7
  351. #define OUT_OUTLINE_PRECIS    8
  352. #define CLIP_DEFAULT_PRECIS    0
  353. #define CLIP_CHARACTER_PRECIS    1
  354. #define CLIP_STROKE_PRECIS    2
  355. #define CLIP_MASK    15
  356. #define CLIP_LH_ANGLES    16
  357. #define CLIP_TT_ALWAYS    32
  358. #define CLIP_EMBEDDED    128
  359. #define DEFAULT_QUALITY    0
  360. #define DRAFT_QUALITY    1
  361. #define PROOF_QUALITY    2
  362. #define NONANTIALIASED_QUALITY 3
  363. #define ANTIALIASED_QUALITY 4
  364. #define DEFAULT_PITCH    0
  365. #define FIXED_PITCH    1
  366. #define VARIABLE_PITCH    2
  367. #define MONO_FONT 8
  368. #define FF_DECORATIVE    80
  369. #define FF_DONTCARE    0
  370. #define FF_MODERN    48
  371. #define FF_ROMAN    16
  372. #define FF_SCRIPT    64
  373. #define FF_SWISS    32
  374. #define PANOSE_COUNT 10
  375. #define PAN_FAMILYTYPE_INDEX 0
  376. #define PAN_SERIFSTYLE_INDEX 1
  377. #define PAN_WEIGHT_INDEX 2
  378. #define PAN_PROPORTION_INDEX 3
  379. #define PAN_CONTRAST_INDEX 4
  380. #define PAN_STROKEVARIATION_INDEX 5
  381. #define PAN_ARMSTYLE_INDEX 6
  382. #define PAN_LETTERFORM_INDEX 7
  383. #define PAN_MIDLINE_INDEX 8
  384. #define PAN_XHEIGHT_INDEX 9
  385. #define PAN_CULTURE_LATIN 0
  386. #define PAN_ANY 0
  387. #define PAN_NO_FIT 1
  388. #define PAN_FAMILY_TEXT_DISPLAY 2
  389. #define PAN_FAMILY_SCRIPT 3
  390. #define PAN_FAMILY_DECORATIVE 4
  391. #define PAN_FAMILY_PICTORIAL 5
  392. #define PAN_SERIF_COVE 2
  393. #define PAN_SERIF_OBTUSE_COVE 3
  394. #define PAN_SERIF_SQUARE_COVE 4
  395. #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
  396. #define PAN_SERIF_SQUARE 6
  397. #define PAN_SERIF_THIN 7
  398. #define PAN_SERIF_BONE 8
  399. #define PAN_SERIF_EXAGGERATED 9
  400. #define PAN_SERIF_TRIANGLE 10
  401. #define PAN_SERIF_NORMAL_SANS 11
  402. #define PAN_SERIF_OBTUSE_SANS 12
  403. #define PAN_SERIF_PERP_SANS 13
  404. #define PAN_SERIF_FLARED 14
  405. #define PAN_SERIF_ROUNDED 15
  406. #define PAN_WEIGHT_VERY_LIGHT 2
  407. #define PAN_WEIGHT_LIGHT 3
  408. #define PAN_WEIGHT_THIN 4
  409. #define PAN_WEIGHT_BOOK 5
  410. #define PAN_WEIGHT_MEDIUM 6
  411. #define PAN_WEIGHT_DEMI 7
  412. #define PAN_WEIGHT_BOLD 8
  413. #define PAN_WEIGHT_HEAVY 9
  414. #define PAN_WEIGHT_BLACK 10
  415. #define PAN_WEIGHT_NORD 11
  416. #define PAN_PROP_OLD_STYLE 2
  417. #define PAN_PROP_MODERN 3
  418. #define PAN_PROP_EVEN_WIDTH 4
  419. #define PAN_PROP_EXPANDED 5
  420. #define PAN_PROP_CONDENSED 6
  421. #define PAN_PROP_VERY_EXPANDED 7
  422. #define PAN_PROP_VERY_CONDENSED 8
  423. #define PAN_PROP_MONOSPACED 9
  424. #define PAN_CONTRAST_NONE 2
  425. #define PAN_CONTRAST_VERY_LOW 3
  426. #define PAN_CONTRAST_LOW 4
  427. #define PAN_CONTRAST_MEDIUM_LOW 5
  428. #define PAN_CONTRAST_MEDIUM 6
  429. #define PAN_CONTRAST_MEDIUM_HIGH 7
  430. #define PAN_CONTRAST_HIGH 8
  431. #define PAN_CONTRAST_VERY_HIGH 9
  432. #define PAN_STROKE_GRADUAL_DIAG 2
  433. #define PAN_STROKE_GRADUAL_TRAN 3
  434. #define PAN_STROKE_GRADUAL_VERT 4
  435. #define PAN_STROKE_GRADUAL_HORZ 5
  436. #define PAN_STROKE_RAPID_VERT 6
  437. #define PAN_STROKE_RAPID_HORZ 7
  438. #define PAN_STROKE_INSTANT_VERT 8
  439. #define PAN_STRAIGHT_ARMS_HORZ 2
  440. #define PAN_STRAIGHT_ARMS_WEDGE 3
  441. #define PAN_STRAIGHT_ARMS_VERT 4
  442. #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
  443. #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
  444. #define PAN_BENT_ARMS_HORZ 7
  445. #define PAN_BENT_ARMS_WEDGE 8
  446. #define PAN_BENT_ARMS_VERT 9
  447. #define PAN_BENT_ARMS_SINGLE_SERIF 10
  448. #define PAN_BENT_ARMS_DOUBLE_SERIF 11
  449. #define PAN_LETT_NORMAL_CONTACT 2
  450. #define PAN_LETT_NORMAL_WEIGHTED 3
  451. #define PAN_LETT_NORMAL_BOXED 4
  452. #define PAN_LETT_NORMAL_FLATTENED 5
  453. #define PAN_LETT_NORMAL_ROUNDED 6
  454. #define PAN_LETT_NORMAL_OFF_CENTER 7
  455. #define PAN_LETT_NORMAL_SQUARE 8
  456. #define PAN_LETT_OBLIQUE_CONTACT 9
  457. #define PAN_LETT_OBLIQUE_WEIGHTED 10
  458. #define PAN_LETT_OBLIQUE_BOXED 11
  459. #define PAN_LETT_OBLIQUE_FLATTENED 12
  460. #define PAN_LETT_OBLIQUE_ROUNDED 13
  461. #define PAN_LETT_OBLIQUE_OFF_CENTER 14
  462. #define PAN_LETT_OBLIQUE_SQUARE 15
  463. #define PAN_MIDLINE_STANDARD_TRIMMED 2
  464. #define PAN_MIDLINE_STANDARD_POINTED 3
  465. #define PAN_MIDLINE_STANDARD_SERIFED 4
  466. #define PAN_MIDLINE_HIGH_TRIMMED 5
  467. #define PAN_MIDLINE_HIGH_POINTED 6
  468. #define PAN_MIDLINE_HIGH_SERIFED 7
  469. #define PAN_MIDLINE_CONSTANT_TRIMMED 8
  470. #define PAN_MIDLINE_CONSTANT_POINTED 9
  471. #define PAN_MIDLINE_CONSTANT_SERIFED 10
  472. #define PAN_MIDLINE_LOW_TRIMMED 11
  473. #define PAN_MIDLINE_LOW_POINTED 12
  474. #define PAN_MIDLINE_LOW_SERIFED 13
  475. #define PAN_XHEIGHT_CONSTANT_SMALL 2
  476. #define PAN_XHEIGHT_CONSTANT_STD 3
  477. #define PAN_XHEIGHT_CONSTANT_LARGE 4
  478. #define PAN_XHEIGHT_DUCKING_SMALL 5
  479. #define PAN_XHEIGHT_DUCKING_STD 6
  480. #define PAN_XHEIGHT_DUCKING_LARGE 7
  481. #define FS_LATIN1 1
  482. #define FS_LATIN2 2
  483. #define FS_CYRILLIC 4
  484. #define FS_GREEK 8
  485. #define FS_TURKISH 16
  486. #define FS_HEBREW 32
  487. #define FS_ARABIC 64
  488. #define FS_BALTIC 128
  489. #define FS_THAI 0x10000
  490. #define FS_JISJAPAN 0x20000
  491. #define FS_CHINESESIMP 0x40000
  492. #define FS_WANSUNG 0x80000
  493. #define FS_CHINESETRAD 0x100000
  494. #define FS_JOHAB 0x200000
  495. #define FS_SYMBOL 0x80000000
  496. #define HS_BDIAGONAL    3
  497. #define HS_CROSS    4
  498. #define HS_DIAGCROSS    5
  499. #define HS_FDIAGONAL    2
  500. #define HS_HORIZONTAL    0
  501. #define HS_VERTICAL    1
  502. #define PS_GEOMETRIC    65536
  503. #define PS_COSMETIC    0
  504. #define PS_ALTERNATE    8
  505. #define PS_SOLID    0
  506. #define PS_DASH    1
  507. #define PS_DOT    2
  508. #define PS_DASHDOT    3
  509. #define PS_DASHDOTDOT    4
  510. #define PS_NULL    5
  511. #define PS_USERSTYLE    7
  512. #define PS_INSIDEFRAME    6
  513. #define PS_ENDCAP_ROUND    0
  514. #define PS_ENDCAP_SQUARE    256
  515. #define PS_ENDCAP_FLAT    512
  516. #define PS_JOIN_BEVEL    4096
  517. #define PS_JOIN_MITER    8192
  518. #define PS_JOIN_ROUND    0
  519. #define PS_STYLE_MASK    15
  520. #define PS_ENDCAP_MASK    3840
  521. #define PS_TYPE_MASK    983040
  522. #define ALTERNATE    1
  523. #define WINDING    2
  524. #define DC_BINNAMES    12
  525. #define DC_BINS    6
  526. #define DC_COPIES    18
  527. #define DC_DRIVER    11
  528. #define DC_DATATYPE_PRODUCED    21
  529. #define DC_DUPLEX    7
  530. #define DC_EMF_COMPLIANT    20
  531. #define DC_ENUMRESOLUTIONS    13
  532. #define DC_EXTRA    9
  533. #define DC_FIELDS    1
  534. #define DC_FILEDEPENDENCIES    14
  535. #define DC_MAXEXTENT    5
  536. #define DC_MINEXTENT    4
  537. #define DC_ORIENTATION    17
  538. #define DC_PAPERNAMES    16
  539. #define DC_PAPERS    2
  540. #define DC_PAPERSIZE    3
  541. #define DC_SIZE    8
  542. #define DC_TRUETYPE    15
  543. #define DCTT_BITMAP    1
  544. #define DCTT_DOWNLOAD    2
  545. #define DCTT_SUBDEV    4
  546. #define DCTT_DOWNLOAD_OUTLINE 8
  547. #define DC_VERSION    10
  548. #define DC_BINADJUST    19
  549. #define DC_EMF_COMPLIANT    20
  550. #define DC_DATATYPE_PRODUCED    21
  551. #define DC_MANUFACTURER    23
  552. #define DC_MODEL    24
  553. #define DCBA_FACEUPNONE    0
  554. #define DCBA_FACEUPCENTER    1
  555. #define DCBA_FACEUPLEFT    2
  556. #define DCBA_FACEUPRIGHT    3
  557. #define DCBA_FACEDOWNNONE    256
  558. #define DCBA_FACEDOWNCENTER    257
  559. #define DCBA_FACEDOWNLEFT    258
  560. #define DCBA_FACEDOWNRIGHT    259
  561. #define FLOODFILLBORDER 0
  562. #define FLOODFILLSURFACE 1
  563. #define ETO_CLIPPED 4
  564. #define ETO_GLYPH_INDEX 16
  565. #define ETO_OPAQUE 2
  566. #define ETO_RTLREADING 128
  567. #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
  568. #define GDICOMMENT_BEGINGROUP 2
  569. #define GDICOMMENT_ENDGROUP 3
  570. #define GDICOMMENT_MULTIFORMATS 1073741828
  571. #define GDICOMMENT_IDENTIFIER 1128875079
  572. #define AD_COUNTERCLOCKWISE 1
  573. #define AD_CLOCKWISE 2
  574. #define RDH_RECTANGLES    1
  575. #define GCPCLASS_LATIN    1
  576. #define GCPCLASS_HEBREW    2
  577. #define GCPCLASS_ARABIC    2
  578. #define GCPCLASS_NEUTRAL    3
  579. #define GCPCLASS_LOCALNUMBER    4
  580. #define GCPCLASS_LATINNUMBER    5
  581. #define GCPCLASS_LATINNUMERICTERMINATOR    6
  582. #define GCPCLASS_LATINNUMERICSEPARATOR    7
  583. #define GCPCLASS_NUMERICSEPARATOR    8
  584. #define GCPCLASS_PREBOUNDLTR    128
  585. #define GCPCLASS_PREBOUNDRTL    64
  586. #define GCPCLASS_POSTBOUNDLTR    32
  587. #define GCPCLASS_POSTBOUNDRTL    16
  588. #define GCPGLYPH_LINKBEFORE    0x8000
  589. #define GCPGLYPH_LINKAFTER    0x4000
  590. #define DCB_DISABLE 8
  591. #define DCB_ENABLE 4
  592. #define DCB_RESET 1
  593. #define DCB_SET 3
  594. #define DCB_ACCUMULATE 2
  595. #define DCB_DIRTY    2
  596. #define OBJ_BRUSH 2
  597. #define OBJ_PEN 1
  598. #define OBJ_PAL 5
  599. #define OBJ_FONT 6
  600. #define OBJ_BITMAP 7
  601. #define OBJ_EXTPEN 11
  602. #define OBJ_REGION 8
  603. #define OBJ_DC 3
  604. #define OBJ_MEMDC 10
  605. #define OBJ_METAFILE 9
  606. #define OBJ_METADC 4
  607. #define OBJ_ENHMETAFILE 13
  608. #define OBJ_ENHMETADC 12
  609. #define DRIVERVERSION 0
  610. #define TECHNOLOGY 2
  611. #define DT_PLOTTER 0
  612. #define DT_RASDISPLAY 1
  613. #define DT_RASPRINTER 2
  614. #define DT_RASCAMERA 3
  615. #define DT_CHARSTREAM 4
  616. #define DT_METAFILE 5
  617. #define DT_DISPFILE 6
  618. #define HORZSIZE 4
  619. #define VERTSIZE 6
  620. #define HORZRES 8
  621. #define VERTRES 10
  622. #define LOGPIXELSX 88
  623. #define LOGPIXELSY 90
  624. #define BITSPIXEL 12
  625. #define PLANES 14
  626. #define NUMBRUSHES 16
  627. #define NUMPENS 18
  628. #define NUMFONTS 22
  629. #define NUMCOLORS 24
  630. #define NUMMARKERS 20
  631. #define ASPECTX 40
  632. #define ASPECTY 42
  633. #define ASPECTXY 44
  634. #define PDEVICESIZE 26
  635. #define CLIPCAPS 36
  636. #define SIZEPALETTE 104
  637. #define NUMRESERVED 106
  638. #define COLORRES 108
  639. #define PHYSICALWIDTH 110
  640. #define PHYSICALHEIGHT 111
  641. #define PHYSICALOFFSETX 112
  642. #define PHYSICALOFFSETY 113
  643. #define SCALINGFACTORX 114
  644. #define SCALINGFACTORY 115
  645. #define VREFRESH 116
  646. #define DESKTOPHORZRES 118
  647. #define DESKTOPVERTRES 117
  648. #define BLTALIGNMENT 119
  649. #define RASTERCAPS 38
  650. #define RC_BANDING 2
  651. #define RC_BITBLT 1
  652. #define RC_BITMAP64 8
  653. #define RC_DI_BITMAP 128
  654. #define RC_DIBTODEV 512
  655. #define RC_FLOODFILL 4096
  656. #define RC_GDI20_OUTPUT 16
  657. #define RC_PALETTE 256
  658. #define RC_SCALING 4
  659. #define RC_STRETCHBLT 2048
  660. #define RC_STRETCHDIB 8192
  661. #define RC_DEVBITS 0x8000
  662. #define RC_OP_DX_OUTPUT 0x4000
  663. #define CURVECAPS 28
  664. #define CC_NONE 0
  665. #define CC_CIRCLES 1
  666. #define CC_PIE 2
  667. #define CC_CHORD 4
  668. #define CC_ELLIPSES 8
  669. #define CC_WIDE 16
  670. #define CC_STYLED 32
  671. #define CC_WIDESTYLED 64
  672. #define CC_INTERIORS 128
  673. #define CC_ROUNDRECT 256
  674. #define LINECAPS 30
  675. #define LC_NONE 0
  676. #define LC_POLYLINE 2
  677. #define LC_MARKER 4
  678. #define LC_POLYMARKER 8
  679. #define LC_WIDE 16
  680. #define LC_STYLED 32
  681. #define LC_WIDESTYLED 64
  682. #define LC_INTERIORS 128
  683. #define POLYGONALCAPS 32
  684. #define RC_BANDING 2
  685. #define RC_BIGFONT 1024
  686. #define RC_BITBLT 1
  687. #define RC_BITMAP64 8
  688. #define RC_DEVBITS 0x8000
  689. #define RC_DI_BITMAP 128
  690. #define RC_GDI20_OUTPUT 16
  691. #define RC_GDI20_STATE 32
  692. #define RC_NONE 0
  693. #define RC_OP_DX_OUTPUT 0x4000
  694. #define RC_PALETTE 256
  695. #define RC_SAVEBITMAP 64
  696. #define RC_SCALING 4
  697. #define PC_NONE 0
  698. #define PC_POLYGON 1
  699. #define PC_POLYPOLYGON 256
  700. #define PC_PATHS 512
  701. #define PC_RECTANGLE 2
  702. #define PC_WINDPOLYGON 4
  703. #define PC_SCANLINE 8
  704. #define PC_TRAPEZOID 4
  705. #define PC_WIDE 16
  706. #define PC_STYLED 32
  707. #define PC_WIDESTYLED 64
  708. #define PC_INTERIORS 128
  709. #define PC_PATHS 512
  710. #define TEXTCAPS 34
  711. #define TC_OP_CHARACTER 1
  712. #define TC_OP_STROKE 2
  713. #define TC_CP_STROKE 4
  714. #define TC_CR_90 8
  715. #define TC_CR_ANY 16
  716. #define TC_SF_X_YINDEP 32
  717. #define TC_SA_DOUBLE 64
  718. #define TC_SA_INTEGER 128
  719. #define TC_SA_CONTIN 256
  720. #define TC_EA_DOUBLE 512
  721. #define TC_IA_ABLE 1024
  722. #define TC_UA_ABLE 2048
  723. #define TC_SO_ABLE 4096
  724. #define TC_RA_ABLE 8192
  725. #define TC_VA_ABLE 16384
  726. #define TC_RESERVED 32768
  727. #define TC_SCROLLBLT 65536
  728. #define GCP_DBCS 1
  729. #define GCP_ERROR 0x8000
  730. #define GCP_CLASSIN 0x80000
  731. #define GCP_DIACRITIC 256
  732. #define GCP_DISPLAYZWG 0x400000
  733. #define GCP_GLYPHSHAPE 16
  734. #define GCP_JUSTIFY 0x10000
  735. #define GCP_JUSTIFYIN 0x200000
  736. #define GCP_KASHIDA 1024
  737. #define GCP_LIGATE 32
  738. #define GCP_MAXEXTENT 0x100000
  739. #define GCP_NEUTRALOVERRIDE 0x2000000
  740. #define GCP_NUMERICOVERRIDE 0x1000000
  741. #define GCP_NUMERICSLATIN 0x4000000
  742. #define GCP_NUMERICSLOCAL 0x8000000
  743. #define GCP_REORDER 2
  744. #define GCP_SYMSWAPOFF 0x800000
  745. #define GCP_USEKERNING 8
  746. #define FLI_GLYPHS 0x40000
  747. #define FLI_MASK 0x103b
  748. #define GGO_METRICS 0
  749. #define GGO_BITMAP 1
  750. #define GGO_NATIVE 2
  751. #define GGO_BEZIER 3
  752. #define GGO_GRAY2_BITMAP 4
  753. #define GGO_GRAY4_BITMAP 5
  754. #define GGO_GRAY8_BITMAP 6
  755. #define GGO_GLYPH_INDEX 128
  756. #define GGO_UNHINTED 256
  757. #define GM_COMPATIBLE 1
  758. #define GM_ADVANCED 2
  759. #define MM_ANISOTROPIC 8
  760. #define MM_HIENGLISH 5
  761. #define MM_HIMETRIC 3
  762. #define MM_ISOTROPIC 7
  763. #define MM_LOENGLISH 4
  764. #define MM_LOMETRIC 2
  765. #define MM_TEXT 1
  766. #define MM_TWIPS 6
  767. #define MM_MAX_FIXEDSCALE    MM_TWIPS
  768. #define ABSOLUTE    1
  769. #define RELATIVE    2
  770. #define PC_EXPLICIT 2
  771. #define PC_NOCOLLAPSE 4
  772. #define PC_RESERVED 1
  773. #define CLR_NONE 0xffffffff
  774. #define CLR_INVALID CLR_NONE
  775. #define CLR_DEFAULT 0xff000000
  776. #define PT_MOVETO 6
  777. #define PT_LINETO 2
  778. #define PT_BEZIERTO 4
  779. #define PT_CLOSEFIGURE 1
  780. #define TT_AVAILABLE 1
  781. #define TT_ENABLED 2
  782. #define BLACK_BRUSH 4
  783. #define DKGRAY_BRUSH 3
  784. #define GRAY_BRUSH 2
  785. #define HOLLOW_BRUSH 5
  786. #define LTGRAY_BRUSH 1
  787. #define NULL_BRUSH 5
  788. #define WHITE_BRUSH 0
  789. #define BLACK_PEN 7
  790. #define NULL_PEN 8
  791. #define WHITE_PEN 6
  792. #define ANSI_FIXED_FONT 11
  793. #define ANSI_VAR_FONT 12
  794. #define DEVICE_DEFAULT_FONT 14
  795. #define DEFAULT_GUI_FONT 17
  796. #define OEM_FIXED_FONT 10
  797. #define SYSTEM_FONT 13
  798. #define SYSTEM_FIXED_FONT 16
  799. #define DEFAULT_PALETTE 15
  800. #if (_WIN32_WINNT >= 0x0500)
  801. #define DC_BRUSH    18
  802. #define DC_PEN    19
  803. #endif
  804. #define SYSPAL_NOSTATIC 2
  805. #define SYSPAL_STATIC 1
  806. #define SYSPAL_ERROR 0
  807. #define TA_BASELINE 24
  808. #define TA_BOTTOM 8
  809. #define TA_TOP 0
  810. #define TA_CENTER 6
  811. #define TA_LEFT 0
  812. #define TA_RIGHT 2
  813. #define TA_RTLREADING 256
  814. #define TA_NOUPDATECP 0
  815. #define TA_UPDATECP 1
  816. #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
  817. #define VTA_BASELINE 24
  818. #define VTA_CENTER 6
  819. #define VTA_LEFT TA_BOTTOM
  820. #define VTA_RIGHT TA_TOP
  821. #define VTA_BOTTOM TA_RIGHT
  822. #define VTA_TOP TA_LEFT
  823. #define MWT_IDENTITY 1
  824. #define MWT_LEFTMULTIPLY 2
  825. #define MWT_RIGHTMULTIPLY 3
  826. #define OPAQUE 2
  827. #define TRANSPARENT 1
  828. #define BLACKONWHITE 1
  829. #define WHITEONBLACK 2
  830. #define COLORONCOLOR 3
  831. #define HALFTONE 4
  832. #define MAXSTRETCHBLTMODE 4
  833. #define STRETCH_ANDSCANS 1
  834. #define STRETCH_DELETESCANS 3
  835. #define STRETCH_HALFTONE 4
  836. #define STRETCH_ORSCANS 2
  837. #define TCI_SRCCHARSET 1
  838. #define TCI_SRCCODEPAGE 2
  839. #define TCI_SRCFONTSIG 3
  840. #define ICM_ON 2
  841. #define ICM_OFF 1
  842. #define ICM_QUERY 3
  843. #define NEWFRAME    1
  844. #define ABORTDOC    2
  845. #define NEXTBAND    3
  846. #define SETCOLORTABLE    4
  847. #define GETCOLORTABLE    5
  848. #define FLUSHOUTPUT    6
  849. #define DRAFTMODE    7
  850. #define QUERYESCSUPPORT    8
  851. #define SETABORTPROC    9
  852. #define STARTDOC    10
  853. #define ENDDOC    11
  854. #define GETPHYSPAGESIZE    12
  855. #define GETPRINTINGOFFSET    13
  856. #define GETSCALINGFACTOR    14
  857. #define MFCOMMENT    15
  858. #define GETPENWIDTH    16
  859. #define SETCOPYCOUNT    17
  860. #define SELECTPAPERSOURCE    18
  861. #define DEVICEDATA    19
  862. #define PASSTHROUGH    19
  863. #define GETTECHNOLGY    20
  864. #define GETTECHNOLOGY    20
  865. #define SETLINECAP    21
  866. #define SETLINEJOIN    22
  867. #define SETMITERLIMIT    23
  868. #define BANDINFO    24
  869. #define DRAWPATTERNRECT    25
  870. #define GETVECTORPENSIZE    26
  871. #define GETVECTORBRUSHSIZE    27
  872. #define ENABLEDUPLEX    28
  873. #define GETSETPAPERBINS    29
  874. #define GETSETPRINTORIENT    30
  875. #define ENUMPAPERBINS    31
  876. #define SETDIBSCALING    32
  877. #define EPSPRINTING    33
  878. #define ENUMPAPERMETRICS    34
  879. #define GETSETPAPERMETRICS    35
  880. #define POSTSCRIPT_DATA    37
  881. #define POSTSCRIPT_IGNORE    38
  882. #define MOUSETRAILS    39
  883. #define GETDEVICEUNITS    42
  884. #define GETEXTENDEDTEXTMETRICS    256
  885. #define GETEXTENTTABLE    257
  886. #define GETPAIRKERNTABLE    258
  887. #define GETTRACKKERNTABLE    259
  888. #define EXTTEXTOUT    512
  889. #define GETFACENAME    513
  890. #define DOWNLOADFACE    514
  891. #define ENABLERELATIVEWIDTHS    768
  892. #define ENABLEPAIRKERNING    769
  893. #define SETKERNTRACK    770
  894. #define SETALLJUSTVALUES    771
  895. #define SETCHARSET    772
  896. #define STRETCHBLT    2048
  897. #define GETSETSCREENPARAMS    3072
  898. #define QUERYDIBSUPPORT    3073
  899. #define BEGIN_PATH    4096
  900. #define CLIP_TO_PATH    4097
  901. #define END_PATH    4098
  902. #define EXT_DEVICE_CAPS    4099
  903. #define RESTORE_CTM    4100
  904. #define SAVE_CTM    4101
  905. #define SET_ARC_DIRECTION    4102
  906. #define SET_BACKGROUND_COLOR    4103
  907. #define SET_POLY_MODE    4104
  908. #define SET_SCREEN_ANGLE    4105
  909. #define SET_SPREAD    4106
  910. #define TRANSFORM_CTM    4107
  911. #define SET_CLIP_BOX    4108
  912. #define SET_BOUNDS    4109
  913. #define SET_MIRROR_MODE    4110
  914. #define OPENCHANNEL    4110
  915. #define DOWNLOADHEADER    4111
  916. #define CLOSECHANNEL    4112
  917. #define POSTSCRIPT_PASSTHROUGH    4115
  918. #define ENCAPSULATED_POSTSCRIPT    4116
  919. #define QDI_SETDIBITS    1
  920. #define QDI_GETDIBITS    2
  921. #define QDI_DIBTOSCREEN    4
  922. #define QDI_STRETCHDIB    8
  923. #define SP_NOTREPORTED    0x4000
  924. #define PR_JOBSTATUS    0
  925. #define ASPECT_FILTERING    1
  926. #define BS_SOLID    0
  927. #define BS_NULL    1
  928. #define BS_HOLLOW    1
  929. #define BS_HATCHED    2
  930. #define BS_PATTERN    3
  931. #define BS_INDEXED    4
  932. #define BS_DIBPATTERN    5
  933. #define BS_DIBPATTERNPT    6
  934. #define BS_PATTERN8X8    7
  935. #define BS_DIBPATTERN8X8    8
  936. #define LCS_CALIBRATED_RGB    0
  937. #define LCS_DEVICE_RGB    1
  938. #define LCS_DEVICE_CMYK    2
  939. #define LCS_GM_BUSINESS    1
  940. #define LCS_GM_GRAPHICS    2
  941. #define LCS_GM_IMAGES    4
  942. #define RASTER_FONTTYPE    1
  943. #define DEVICE_FONTTYPE    2
  944. #define TRUETYPE_FONTTYPE    4
  945. #define DMORIENT_PORTRAIT   1
  946. #define DMORIENT_LANDSCAPE  2
  947. #define DMPAPER_FIRST    1
  948. #define DMPAPER_LETTER    1
  949. #define DMPAPER_LETTERSMALL    2
  950. #define DMPAPER_TABLOID    3
  951. #define DMPAPER_LEDGER    4
  952. #define DMPAPER_LEGAL    5
  953. #define DMPAPER_STATEMENT    6
  954. #define DMPAPER_EXECUTIVE    7
  955. #define DMPAPER_A3    8
  956. #define DMPAPER_A4    9
  957. #define DMPAPER_A4SMALL    10
  958. #define DMPAPER_A5    11
  959. #define DMPAPER_B4    12
  960. #define DMPAPER_B5    13
  961. #define DMPAPER_FOLIO    14
  962. #define DMPAPER_QUARTO    15
  963. #define DMPAPER_10X14    16
  964. #define DMPAPER_11X17    17
  965. #define DMPAPER_NOTE    18
  966. #define DMPAPER_ENV_9    19
  967. #define DMPAPER_ENV_10    20
  968. #define DMPAPER_ENV_11    21
  969. #define DMPAPER_ENV_12    22
  970. #define DMPAPER_ENV_14    23
  971. #define DMPAPER_CSHEET    24
  972. #define DMPAPER_DSHEET    25
  973. #define DMPAPER_ESHEET    26
  974. #define DMPAPER_ENV_DL    27
  975. #define DMPAPER_ENV_C5    28
  976. #define DMPAPER_ENV_C3    29
  977. #define DMPAPER_ENV_C4    30
  978. #define DMPAPER_ENV_C6    31
  979. #define DMPAPER_ENV_C65    32
  980. #define DMPAPER_ENV_B4    33
  981. #define DMPAPER_ENV_B5    34
  982. #define DMPAPER_ENV_B6    35
  983. #define DMPAPER_ENV_ITALY    36
  984. #define DMPAPER_ENV_MONARCH    37
  985. #define DMPAPER_ENV_PERSONAL    38
  986. #define DMPAPER_FANFOLD_US    39
  987. #define DMPAPER_FANFOLD_STD_GERMAN    40
  988. #define DMPAPER_FANFOLD_LGL_GERMAN    41
  989. #define DMPAPER_ISO_B4    42
  990. #define DMPAPER_JAPANESE_POSTCARD    43
  991. #define DMPAPER_9X11    44
  992. #define DMPAPER_10X11    45
  993. #define DMPAPER_15X11    46
  994. #define DMPAPER_ENV_INVITE    47
  995. #define DMPAPER_RESERVED_48    48
  996. #define DMPAPER_RESERVED_49    49
  997. #define DMPAPER_LETTER_EXTRA    50
  998. #define DMPAPER_LEGAL_EXTRA    51
  999. #define DMPAPER_TABLOID_EXTRA    52
  1000. #define DMPAPER_A4_EXTRA    53
  1001. #define DMPAPER_LETTER_TRANSVERSE    54
  1002. #define DMPAPER_A4_TRANSVERSE    55
  1003. #define DMPAPER_LETTER_EXTRA_TRANSVERSE    56
  1004. #define DMPAPER_A_PLUS    57
  1005. #define DMPAPER_B_PLUS    58
  1006. #define DMPAPER_LETTER_PLUS    59
  1007. #define DMPAPER_A4_PLUS    60
  1008. #define DMPAPER_A5_TRANSVERSE    61
  1009. #define DMPAPER_B5_TRANSVERSE    62
  1010. #define DMPAPER_A3_EXTRA    63
  1011. #define DMPAPER_A5_EXTRA    64
  1012. #define DMPAPER_B5_EXTRA    65
  1013. #define DMPAPER_A2    66
  1014. #define DMPAPER_A3_TRANSVERSE    67
  1015. #define DMPAPER_A3_EXTRA_TRANSVERSE    68
  1016. #define DMPAPER_LAST    68
  1017. #define DMPAPER_USER    256
  1018. #define DMBIN_FIRST    1
  1019. #define DMBIN_UPPER    1
  1020. #define DMBIN_ONLYONE    1
  1021. #define DMBIN_LOWER    2
  1022. #define DMBIN_MIDDLE    3
  1023. #define DMBIN_MANUAL    4
  1024. #define DMBIN_ENVELOPE    5
  1025. #define DMBIN_ENVMANUAL    6
  1026. #define DMBIN_AUTO    7
  1027. #define DMBIN_TRACTOR    8
  1028. #define DMBIN_SMALLFMT    9
  1029. #define DMBIN_LARGEFMT    10
  1030. #define DMBIN_LARGECAPACITY    11
  1031. #define DMBIN_CASSETTE    14
  1032. #define DMBIN_FORMSOURCE    15
  1033. #define DMBIN_LAST    15
  1034. #define DMBIN_USER    256
  1035. #define DMRES_DRAFT    (-1)
  1036. #define DMRES_LOW    (-2)
  1037. #define DMRES_MEDIUM    (-3)
  1038. #define DMRES_HIGH    (-4)
  1039. #define DMCOLOR_MONOCHROME    1
  1040. #define DMCOLOR_COLOR    2
  1041. #define DMDUP_SIMPLEX    1
  1042. #define DMDUP_VERTICAL    2
  1043. #define DMDUP_HORIZONTAL    3
  1044. #define DMTT_BITMAP    1
  1045. #define DMTT_DOWNLOAD    2
  1046. #define DMTT_SUBDEV    3
  1047. #define DMTT_DOWNLOAD_OUTLINE    4
  1048. #define DMCOLLATE_FALSE    0
  1049. #define DMCOLLATE_TRUE    1
  1050. #define DM_SPECVERSION    800
  1051. #define DM_GRAYSCALE    1
  1052. #define DM_INTERLACED    2
  1053. #define DM_UPDATE    1
  1054. #define DM_COPY    2
  1055. #define DM_PROMPT    4
  1056. #define DM_MODIFY    8
  1057. #define DM_IN_BUFFER    DM_MODIFY
  1058. #define DM_IN_PROMPT    DM_PROMPT
  1059. #define DM_OUT_BUFFER    DM_COPY
  1060. #define DM_OUT_DEFAULT    DM_UPDATE
  1061. #define DM_ORIENTATION 1
  1062. #define DM_PAPERSIZE 2
  1063. #define DM_PAPERLENGTH 4
  1064. #define DM_PAPERWIDTH 8
  1065. #define DM_SCALE 16
  1066. #define DM_COPIES 256
  1067. #define DM_DEFAULTSOURCE 512
  1068. #define DM_PRINTQUALITY 1024
  1069. #define DM_COLOR 2048
  1070. #define DM_DUPLEX 4096
  1071. #define DM_YRESOLUTION 8192
  1072. #define DM_TTOPTION 16384
  1073. #define DM_COLLATE 32768
  1074. #define DM_FORMNAME 65536
  1075. #define DM_LOGPIXELS 0x20000
  1076. #define DM_BITSPERPEL 0x40000
  1077. #define DM_PELSWIDTH 0x80000
  1078. #define DM_PELSHEIGHT 0x100000
  1079. #define DM_DISPLAYFLAGS 0x200000
  1080. #define DM_DISPLAYFREQUENCY 0x400000
  1081. #define DM_ICMMETHOD 0x800000
  1082. #define DM_ICMINTENT 0x1000000
  1083. #define DM_MEDIATYPE 0x2000000
  1084. #define DM_DITHERTYPE 0x4000000
  1085. #define DMICMMETHOD_NONE    1
  1086. #define DMICMMETHOD_SYSTEM    2
  1087. #define DMICMMETHOD_DRIVER    3
  1088. #define DMICMMETHOD_DEVICE    4
  1089. #define DMICMMETHOD_USER    256
  1090. #define DMICM_SATURATE    1
  1091. #define DMICM_CONTRAST    2
  1092. #define DMICM_COLORMETRIC    3
  1093. #define DMICM_USER    256
  1094. #define DMMEDIA_STANDARD    1
  1095. #define DMMEDIA_TRANSPARENCY    2
  1096. #define DMMEDIA_GLOSSY    3
  1097. #define DMMEDIA_USER    256
  1098. #define DMDITHER_NONE    1
  1099. #define DMDITHER_COARSE    2
  1100. #define DMDITHER_FINE    3
  1101. #define DMDITHER_LINEART    4
  1102. #define DMDITHER_ERRORDIFFUSION    5
  1103. #define DMDITHER_RESERVED6    6
  1104. #define DMDITHER_RESERVED7    7
  1105. #define DMDITHER_RESERVED8    8
  1106. #define DMDITHER_RESERVED9    9
  1107. #define DMDITHER_GRAYSCALE    10
  1108. #define DMDITHER_USER    256
  1109. #define GDI_ERROR 0xFFFFFFFF
  1110. #define HGDI_ERROR ((HANDLE)GDI_ERROR)
  1111. #define TMPF_FIXED_PITCH 1
  1112. #define TMPF_VECTOR 2
  1113. #define TMPF_TRUETYPE 4
  1114. #define TMPF_DEVICE 8
  1115. #define NTM_ITALIC 1
  1116. #define NTM_BOLD 32
  1117. #define NTM_REGULAR 64
  1118. #define TT_POLYGON_TYPE 24
  1119. #define TT_PRIM_LINE 1
  1120. #define TT_PRIM_QSPLINE 2
  1121. #define FONTMAPPER_MAX 10
  1122. #define ENHMETA_STOCK_OBJECT 0x80000000
  1123. #define WGL_FONT_LINES 0
  1124. #define WGL_FONT_POLYGONS 1
  1125. #define LPD_DOUBLEBUFFER 1
  1126. #define LPD_STEREO 2
  1127. #define LPD_SUPPORT_GDI 16
  1128. #define LPD_SUPPORT_OPENGL 32
  1129. #define LPD_SHARE_DEPTH 64
  1130. #define LPD_SHARE_STENCIL 128
  1131. #define LPD_SHARE_ACCUM 256
  1132. #define LPD_SWAP_EXCHANGE 512
  1133. #define LPD_SWAP_COPY 1024
  1134. #define LPD_TRANSPARENT 4096
  1135. #define LPD_TYPE_RGBA 0
  1136. #define LPD_TYPE_COLORINDEX 1
  1137. #define WGL_SWAP_MAIN_PLANE 1
  1138. #define WGL_SWAP_OVERLAY1 2
  1139. #define WGL_SWAP_OVERLAY2 4
  1140. #define WGL_SWAP_OVERLAY3 8
  1141. #define WGL_SWAP_OVERLAY4 16
  1142. #define WGL_SWAP_OVERLAY5 32
  1143. #define WGL_SWAP_OVERLAY6 64
  1144. #define WGL_SWAP_OVERLAY7 128
  1145. #define WGL_SWAP_OVERLAY8 256
  1146. #define WGL_SWAP_OVERLAY9 512
  1147. #define WGL_SWAP_OVERLAY10 1024
  1148. #define WGL_SWAP_OVERLAY11 2048
  1149. #define WGL_SWAP_OVERLAY12 4096
  1150. #define WGL_SWAP_OVERLAY13 8192
  1151. #define WGL_SWAP_OVERLAY14 16384
  1152. #define WGL_SWAP_OVERLAY15 32768
  1153. #define WGL_SWAP_UNDERLAY1 65536
  1154. #define WGL_SWAP_UNDERLAY2 0x20000
  1155. #define WGL_SWAP_UNDERLAY3 0x40000
  1156. #define WGL_SWAP_UNDERLAY4 0x80000
  1157. #define WGL_SWAP_UNDERLAY5 0x100000
  1158. #define WGL_SWAP_UNDERLAY6 0x200000
  1159. #define WGL_SWAP_UNDERLAY7 0x400000
  1160. #define WGL_SWAP_UNDERLAY8 0x800000
  1161. #define WGL_SWAP_UNDERLAY9 0x1000000
  1162. #define WGL_SWAP_UNDERLAY10 0x2000000
  1163. #define WGL_SWAP_UNDERLAY11 0x4000000
  1164. #define WGL_SWAP_UNDERLAY12 0x8000000
  1165. #define WGL_SWAP_UNDERLAY13 0x10000000
  1166. #define WGL_SWAP_UNDERLAY14 0x20000000
  1167. #define WGL_SWAP_UNDERLAY15 0x40000000
  1168. #define AC_SRC_OVER        0x00
  1169. #define AC_SRC_ALPHA        0x01
  1170. #define AC_SRC_NO_PREMULT_ALPHA    0x01
  1171. #define AC_SRC_NO_ALPHA        0x02
  1172. #define AC_DST_NO_PREMULT_ALPHA    0x10
  1173. #define AC_DST_NO_ALPHA        0x20
  1174. #define LAYOUT_RTL 1
  1175. #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
  1176. #if (WINVER > 0x400)
  1177. #define CS_ENABLE           0x00000001
  1178. #define CS_DISABLE          0x00000002
  1179. #define CS_DELETE_TRANSFORM 0x00000003
  1180. #endif
  1181. #if (WINVER > 0x500)
  1182. #define GRADIENT_FILL_RECT_H 0x00
  1183. #define GRADIENT_FILL_RECT_V 0x01
  1184. #define GRADIENT_FILL_TRIANGLE 0x02
  1185. #define GRADIENT_FILL_OP_FLAG 0xff
  1186. #define COLORMATCHTOTARGET_EMBEDED 0x00000001
  1187. #define CREATECOLORSPACE_EMBEDED   0x00000001
  1188. #define SETICMPROFILE_EMBEDED      0x00000001
  1189. #endif
  1190.  
  1191. #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
  1192. #define DISPLAY_DEVICE_MULTI_DRIVER        0x00000002
  1193. #define DISPLAY_DEVICE_PRIMARY_DEVICE      0x00000004
  1194. #define DISPLAY_DEVICE_MIRRORING_DRIVER    0x00000008
  1195. #define DISPLAY_DEVICE_VGA_COMPATIBLE      0x00000010
  1196. #define DISPLAY_DEVICE_REMOVABLE           0x00000020
  1197. #define DISPLAY_DEVICE_MODESPRUNED         0x08000000
  1198.  
  1199. #if (_WIN32_WINNT >= 0x0500)
  1200. #define GGI_MARK_NONEXISTING_GLYPHS 1
  1201. #endif
  1202.  
  1203. #ifndef RC_INVOKED
  1204. typedef struct _ABC {
  1205.     int abcA;
  1206.     UINT abcB;
  1207.     int abcC;
  1208. } ABC,*LPABC;
  1209. typedef struct _ABCFLOAT {
  1210.     FLOAT abcfA;
  1211.     FLOAT abcfB;
  1212.     FLOAT abcfC;
  1213. } ABCFLOAT,*LPABCFLOAT;
  1214. typedef struct tagBITMAP {
  1215.     LONG    bmType;
  1216.     LONG    bmWidth;
  1217.     LONG    bmHeight;
  1218.     LONG    bmWidthBytes;
  1219.     WORD    bmPlanes;
  1220.     WORD    bmBitsPixel;
  1221.     LPVOID    bmBits;
  1222. } BITMAP,*PBITMAP,*LPBITMAP;
  1223. typedef struct tagBITMAPCOREHEADER {
  1224.     DWORD    bcSize;
  1225.     WORD    bcWidth;
  1226.     WORD    bcHeight;
  1227.     WORD    bcPlanes;
  1228.     WORD    bcBitCount;
  1229. } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
  1230. #pragma pack(push,1)
  1231. typedef struct tagRGBTRIPLE {
  1232.     BYTE rgbtBlue;
  1233.     BYTE rgbtGreen;
  1234.     BYTE rgbtRed;
  1235. } RGBTRIPLE,*LPRGBTRIPLE;
  1236. #pragma pack(pop)
  1237. #pragma pack(push,2)
  1238. typedef struct tagBITMAPFILEHEADER {
  1239.     WORD    bfType;
  1240.     DWORD    bfSize;
  1241.     WORD    bfReserved1;
  1242.     WORD    bfReserved2;
  1243.     DWORD    bfOffBits;
  1244. } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
  1245. #pragma pack(pop)
  1246. typedef struct _BITMAPCOREINFO {
  1247.     BITMAPCOREHEADER    bmciHeader;
  1248.     RGBTRIPLE    bmciColors[1];
  1249. } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
  1250. typedef struct tagBITMAPINFOHEADER{
  1251.     DWORD    biSize;
  1252.     LONG    biWidth;
  1253.     LONG    biHeight;
  1254.     WORD    biPlanes;
  1255.     WORD    biBitCount;
  1256.     DWORD    biCompression;
  1257.     DWORD    biSizeImage;
  1258.     LONG    biXPelsPerMeter;
  1259.     LONG    biYPelsPerMeter;
  1260.     DWORD    biClrUsed;
  1261.     DWORD    biClrImportant;
  1262. } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
  1263. typedef struct tagRGBQUAD {
  1264.     BYTE    rgbBlue;
  1265.     BYTE    rgbGreen;
  1266.     BYTE    rgbRed;
  1267.     BYTE    rgbReserved;
  1268. } RGBQUAD,*LPRGBQUAD;
  1269. typedef struct tagBITMAPINFO {
  1270.     BITMAPINFOHEADER bmiHeader;
  1271.     RGBQUAD bmiColors[1];
  1272. } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
  1273. typedef long FXPT16DOT16,*LPFXPT16DOT16;
  1274. typedef long FXPT2DOT30,*LPFXPT2DOT30;
  1275. typedef struct tagCIEXYZ {
  1276.     FXPT2DOT30 ciexyzX;
  1277.     FXPT2DOT30 ciexyzY;
  1278.     FXPT2DOT30 ciexyzZ;
  1279. } CIEXYZ,*LPCIEXYZ;
  1280. typedef struct tagCIEXYZTRIPLE {
  1281.     CIEXYZ ciexyzRed;
  1282.     CIEXYZ ciexyzGreen;
  1283.     CIEXYZ ciexyzBlue;
  1284. } CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
  1285. typedef struct {
  1286.     DWORD    bV4Size;
  1287.     LONG    bV4Width;
  1288.     LONG    bV4Height;
  1289.     WORD    bV4Planes;
  1290.     WORD    bV4BitCount;
  1291.     DWORD    bV4V4Compression;
  1292.     DWORD    bV4SizeImage;
  1293.     LONG    bV4XPelsPerMeter;
  1294.     LONG    bV4YPelsPerMeter;
  1295.     DWORD    bV4ClrUsed;
  1296.     DWORD    bV4ClrImportant;
  1297.     DWORD    bV4RedMask;
  1298.     DWORD    bV4GreenMask;
  1299.     DWORD    bV4BlueMask;
  1300.     DWORD    bV4AlphaMask;
  1301.     DWORD    bV4CSType;
  1302.     CIEXYZTRIPLE bV4Endpoints;
  1303.     DWORD    bV4GammaRed;
  1304.     DWORD    bV4GammaGreen;
  1305.     DWORD    bV4GammaBlue;
  1306. } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
  1307. typedef struct tagFONTSIGNATURE {
  1308.     DWORD    fsUsb[4];
  1309.     DWORD    fsCsb[2];
  1310. } FONTSIGNATURE,*LPFONTSIGNATURE;
  1311. typedef struct {
  1312.     UINT ciCharset;
  1313.     UINT ciACP;
  1314.     FONTSIGNATURE fs;
  1315. } CHARSETINFO,*LPCHARSETINFO;
  1316. typedef struct  tagCOLORADJUSTMENT {
  1317.     WORD    caSize;
  1318.     WORD    caFlags;
  1319.     WORD    caIlluminantIndex;
  1320.     WORD    caRedGamma;
  1321.     WORD    caGreenGamma;
  1322.     WORD    caBlueGamma;
  1323.     WORD    caReferenceBlack;
  1324.     WORD    caReferenceWhite;
  1325.     SHORT    caContrast;
  1326.     SHORT    caBrightness;
  1327.     SHORT    caColorfulness;
  1328.     SHORT    caRedGreenTint;
  1329. } COLORADJUSTMENT,*LPCOLORADJUSTMENT;
  1330. typedef struct _devicemodeA { 
  1331.   BYTE   dmDeviceName[CCHDEVICENAME]; 
  1332.   WORD   dmSpecVersion; 
  1333.   WORD   dmDriverVersion; 
  1334.   WORD   dmSize; 
  1335.   WORD   dmDriverExtra; 
  1336.   DWORD  dmFields; 
  1337.   _ANONYMOUS_UNION union {
  1338.     _ANONYMOUS_STRUCT struct {
  1339.       short dmOrientation;
  1340.       short dmPaperSize;
  1341.       short dmPaperLength;
  1342.       short dmPaperWidth;
  1343.       short dmScale; 
  1344.       short dmCopies; 
  1345.       short dmDefaultSource; 
  1346.       short dmPrintQuality; 
  1347.     } DUMMYSTRUCTNAME;
  1348.     POINTL dmPosition;
  1349.     DWORD  dmDisplayOrientation;
  1350.     DWORD  dmDisplayFixedOutput;
  1351.   } DUMMYUNIONNAME;
  1352.  
  1353.   short  dmColor; 
  1354.   short  dmDuplex; 
  1355.   short  dmYResolution; 
  1356.   short  dmTTOption; 
  1357.   short  dmCollate; 
  1358.   BYTE   dmFormName[CCHFORMNAME]; 
  1359.   WORD   dmLogPixels; 
  1360.   DWORD  dmBitsPerPel; 
  1361.   DWORD  dmPelsWidth; 
  1362.   DWORD  dmPelsHeight; 
  1363.   _ANONYMOUS_UNION union {
  1364.     DWORD  dmDisplayFlags; 
  1365.     DWORD  dmNup;
  1366.   } DUMMYUNIONNAME2;
  1367.   DWORD  dmDisplayFrequency; 
  1368. #if(WINVER >= 0x0400) 
  1369.   DWORD  dmICMMethod;
  1370.   DWORD  dmICMIntent;
  1371.   DWORD  dmMediaType;
  1372.   DWORD  dmDitherType;
  1373.   DWORD  dmReserved1;
  1374.   DWORD  dmReserved2;
  1375. #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
  1376.   DWORD  dmPanningWidth;
  1377.   DWORD  dmPanningHeight;
  1378. #endif
  1379. #endif /* WINVER >= 0x0400 */
  1380. } DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
  1381. typedef struct _devicemodeW { 
  1382.   WCHAR   dmDeviceName[CCHDEVICENAME]; 
  1383.   WORD   dmSpecVersion; 
  1384.   WORD   dmDriverVersion; 
  1385.   WORD   dmSize; 
  1386.   WORD   dmDriverExtra; 
  1387.   DWORD  dmFields; 
  1388.   _ANONYMOUS_UNION union {
  1389.     _ANONYMOUS_STRUCT struct {
  1390.       short dmOrientation;
  1391.       short dmPaperSize;
  1392.       short dmPaperLength;
  1393.       short dmPaperWidth;
  1394.       short dmScale; 
  1395.       short dmCopies; 
  1396.       short dmDefaultSource; 
  1397.       short dmPrintQuality; 
  1398.     } DUMMYSTRUCTNAME;
  1399.     POINTL dmPosition;
  1400.     DWORD  dmDisplayOrientation;
  1401.     DWORD  dmDisplayFixedOutput;
  1402.   } DUMMYUNIONNAME;
  1403.  
  1404.   short  dmColor; 
  1405.   short  dmDuplex; 
  1406.   short  dmYResolution; 
  1407.   short  dmTTOption; 
  1408.   short  dmCollate; 
  1409.   WCHAR  dmFormName[CCHFORMNAME]; 
  1410.   WORD   dmLogPixels; 
  1411.   DWORD  dmBitsPerPel; 
  1412.   DWORD  dmPelsWidth; 
  1413.   DWORD  dmPelsHeight; 
  1414.   _ANONYMOUS_UNION union {
  1415.     DWORD  dmDisplayFlags; 
  1416.     DWORD  dmNup;
  1417.   } DUMMYUNIONNAME2;
  1418.   DWORD  dmDisplayFrequency; 
  1419. #if(WINVER >= 0x0400) 
  1420.   DWORD  dmICMMethod;
  1421.   DWORD  dmICMIntent;
  1422.   DWORD  dmMediaType;
  1423.   DWORD  dmDitherType;
  1424.   DWORD  dmReserved1;
  1425.   DWORD  dmReserved2;
  1426. #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
  1427.   DWORD  dmPanningWidth;
  1428.   DWORD  dmPanningHeight;
  1429. #endif
  1430. #endif /* WINVER >= 0x0400 */
  1431. } DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
  1432. typedef struct tagDIBSECTION {
  1433.     BITMAP dsBm;
  1434.     BITMAPINFOHEADER dsBmih;
  1435.     DWORD dsBitfields[3];
  1436.     HANDLE dshSection;
  1437.     DWORD dsOffset;
  1438. } DIBSECTION;
  1439. typedef struct _DOCINFOA {
  1440.     int cbSize;
  1441.     LPCSTR lpszDocName;
  1442.     LPCSTR lpszOutput;
  1443.     LPCSTR lpszDatatype;
  1444.     DWORD fwType;
  1445. } DOCINFOA,*LPDOCINFOA;
  1446. typedef struct _DOCINFOW {
  1447.     int cbSize;
  1448.     LPCWSTR lpszDocName;
  1449.     LPCWSTR lpszOutput;
  1450.     LPCWSTR lpszDatatype;
  1451.     DWORD fwType;
  1452. } DOCINFOW,*LPDOCINFOW;
  1453. typedef struct tagEMR {
  1454.     DWORD iType;
  1455.     DWORD nSize;
  1456. } EMR,*PEMR;
  1457. typedef struct tagEMRANGLEARC {
  1458.     EMR emr;
  1459.     POINTL ptlCenter;
  1460.     DWORD nRadius;
  1461.     FLOAT eStartAngle;
  1462.     FLOAT eSweepAngle;
  1463. } EMRANGLEARC,*PEMRANGLEARC;
  1464. typedef struct tagEMRARC {
  1465.     EMR emr;
  1466.     RECTL rclBox;
  1467.     POINTL ptlStart;
  1468.     POINTL ptlEnd;
  1469. } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
  1470. typedef struct  _XFORM {
  1471.     FLOAT eM11;
  1472.     FLOAT eM12;
  1473.     FLOAT eM21;
  1474.     FLOAT eM22;
  1475.     FLOAT eDx;
  1476.     FLOAT eDy;
  1477. } XFORM,*PXFORM,*LPXFORM;
  1478. typedef struct tagEMRBITBLT {
  1479.     EMR emr;
  1480.     RECTL rclBounds;
  1481.     LONG xDest;
  1482.     LONG yDest;
  1483.     LONG cxDest;
  1484.     LONG cyDest;
  1485.     DWORD dwRop;
  1486.     LONG xSrc;
  1487.     LONG ySrc;
  1488.     XFORM xformSrc;
  1489.     COLORREF crBkColorSrc;
  1490.     DWORD iUsageSrc;
  1491.     DWORD offBmiSrc;
  1492.     DWORD offBitsSrc;
  1493.     DWORD cbBitsSrc;
  1494. } EMRBITBLT,*PEMRBITBLT;
  1495. typedef struct tagLOGBRUSH {
  1496.     UINT lbStyle;
  1497.     COLORREF lbColor;
  1498.     LONG lbHatch;
  1499. } LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH;
  1500. typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
  1501. typedef struct tagEMRCREATEBRUSHINDIRECT {
  1502.     EMR emr;
  1503.     DWORD ihBrush;
  1504.     LOGBRUSH lb;
  1505. } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
  1506. typedef LONG LCSCSTYPE;
  1507. typedef LONG LCSGAMUTMATCH;
  1508. typedef struct tagLOGCOLORSPACEA {
  1509.     DWORD lcsSignature;
  1510.     DWORD lcsVersion;
  1511.     DWORD lcsSize;
  1512.     LCSCSTYPE lcsCSType;
  1513.     LCSGAMUTMATCH lcsIntent;
  1514.     CIEXYZTRIPLE lcsEndpoints;
  1515.     DWORD lcsGammaRed;
  1516.     DWORD lcsGammaGreen;
  1517.     DWORD lcsGammaBlue;
  1518.     CHAR lcsFilename[MAX_PATH];
  1519. } LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
  1520. typedef struct tagLOGCOLORSPACEW {
  1521.     DWORD lcsSignature;
  1522.     DWORD lcsVersion;
  1523.     DWORD lcsSize;
  1524.     LCSCSTYPE lcsCSType;
  1525.     LCSGAMUTMATCH lcsIntent;
  1526.     CIEXYZTRIPLE lcsEndpoints;
  1527.     DWORD lcsGammaRed;
  1528.     DWORD lcsGammaGreen;
  1529.     DWORD lcsGammaBlue;
  1530.     WCHAR lcsFilename[MAX_PATH];
  1531. } LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
  1532. typedef struct tagEMRCREATECOLORSPACE {
  1533.     EMR emr;
  1534.     DWORD ihCS;
  1535.     LOGCOLORSPACEW lcs;
  1536. } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
  1537. typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
  1538.     EMR emr;
  1539.     DWORD ihBrush;
  1540.     DWORD iUsage;
  1541.     DWORD offBmi;
  1542.     DWORD cbBmi;
  1543.     DWORD offBits;
  1544.     DWORD cbBits;
  1545. } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
  1546. typedef struct tagEMRCREATEMONOBRUSH {
  1547.     EMR emr;
  1548.     DWORD ihBrush;
  1549.     DWORD iUsage;
  1550.     DWORD offBmi;
  1551.     DWORD cbBmi;
  1552.     DWORD offBits;
  1553.     DWORD cbBits;
  1554. } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
  1555. typedef struct tagPALETTEENTRY {
  1556.     BYTE peRed;
  1557.     BYTE peGreen;
  1558.     BYTE peBlue;
  1559.     BYTE peFlags;
  1560. } PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
  1561. typedef struct tagLOGPALETTE {
  1562.     WORD palVersion;
  1563.     WORD palNumEntries;
  1564.     PALETTEENTRY palPalEntry[1];
  1565. } LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
  1566. typedef struct tagEMRCREATEPALETTE {
  1567.     EMR emr;
  1568.     DWORD ihPal;
  1569.     LOGPALETTE lgpl;
  1570. } EMRCREATEPALETTE,*PEMRCREATEPALETTE;
  1571. typedef struct tagLOGPEN {
  1572.     UINT lopnStyle;
  1573.     POINT lopnWidth;
  1574.     COLORREF lopnColor;
  1575. } LOGPEN,*PLOGPEN,*LPLOGPEN;
  1576. typedef struct tagEMRCREATEPEN {
  1577.     EMR emr;
  1578.     DWORD ihPen;
  1579.     LOGPEN lopn;
  1580. } EMRCREATEPEN,*PEMRCREATEPEN;
  1581. typedef struct tagEMRELLIPSE {
  1582.     EMR emr;
  1583.     RECTL rclBox;
  1584. } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
  1585. typedef struct tagEMREOF {
  1586.     EMR emr;
  1587.     DWORD nPalEntries;
  1588.     DWORD offPalEntries;
  1589.     DWORD nSizeLast;
  1590. } EMREOF,*PEMREOF;
  1591. typedef struct tagEMREXCLUDECLIPRECT {
  1592.     EMR emr;
  1593.     RECTL rclClip;
  1594. } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
  1595. typedef struct tagPANOSE {
  1596.     BYTE bFamilyType;
  1597.     BYTE bSerifStyle;
  1598.     BYTE bWeight;
  1599.     BYTE bProportion;
  1600.     BYTE bContrast;
  1601.     BYTE bStrokeVariation;
  1602.     BYTE bArmStyle;
  1603.     BYTE bLetterform;
  1604.     BYTE bMidline;
  1605.     BYTE bXHeight;
  1606. } PANOSE;
  1607. typedef struct tagLOGFONTA {
  1608.     LONG    lfHeight;
  1609.     LONG    lfWidth;
  1610.     LONG    lfEscapement;
  1611.     LONG    lfOrientation;
  1612.     LONG    lfWeight;
  1613.     BYTE    lfItalic;
  1614.     BYTE    lfUnderline;
  1615.     BYTE    lfStrikeOut;
  1616.     BYTE    lfCharSet;
  1617.     BYTE    lfOutPrecision;
  1618.     BYTE    lfClipPrecision;
  1619.     BYTE    lfQuality;
  1620.     BYTE    lfPitchAndFamily;
  1621.     CHAR    lfFaceName[LF_FACESIZE];
  1622. } LOGFONTA,*PLOGFONTA,*LPLOGFONTA;
  1623. typedef struct tagLOGFONTW {
  1624.     LONG    lfHeight;
  1625.     LONG    lfWidth;
  1626.     LONG    lfEscapement;
  1627.     LONG    lfOrientation;
  1628.     LONG    lfWeight;
  1629.     BYTE    lfItalic;
  1630.     BYTE    lfUnderline;
  1631.     BYTE    lfStrikeOut;
  1632.     BYTE    lfCharSet;
  1633.     BYTE    lfOutPrecision;
  1634.     BYTE    lfClipPrecision;
  1635.     BYTE    lfQuality;
  1636.     BYTE    lfPitchAndFamily;
  1637.     WCHAR    lfFaceName[LF_FACESIZE];
  1638. } LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
  1639. typedef struct tagEXTLOGFONTA {
  1640.     LOGFONTA    elfLogFont;
  1641.     BYTE    elfFullName[LF_FULLFACESIZE];
  1642.     BYTE    elfStyle[LF_FACESIZE];
  1643.     DWORD    elfVersion;
  1644.     DWORD    elfStyleSize;
  1645.     DWORD    elfMatch;
  1646.     DWORD    elfReserved;
  1647.     BYTE    elfVendorId[ELF_VENDOR_SIZE];
  1648.     DWORD    elfCulture;
  1649.     PANOSE    elfPanose;
  1650. } EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
  1651. typedef struct tagEXTLOGFONTW {
  1652.     LOGFONTW    elfLogFont;
  1653.     WCHAR    elfFullName[LF_FULLFACESIZE];
  1654.     WCHAR    elfStyle[LF_FACESIZE];
  1655.     DWORD    elfVersion;
  1656.     DWORD    elfStyleSize;
  1657.     DWORD    elfMatch;
  1658.     DWORD    elfReserved;
  1659.     BYTE    elfVendorId[ELF_VENDOR_SIZE];
  1660.     DWORD    elfCulture;
  1661.     PANOSE    elfPanose;
  1662. } EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
  1663. typedef struct tagEMREXTCREATEFONTINDIRECTW {
  1664.     EMR emr;
  1665.     DWORD ihFont;
  1666.     EXTLOGFONTW elfw;
  1667. } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
  1668. typedef struct tagEXTLOGPEN {
  1669.     UINT elpPenStyle;
  1670.     UINT elpWidth;
  1671.     UINT elpBrushStyle;
  1672.     COLORREF elpColor;
  1673.     LONG elpHatch;
  1674.     DWORD elpNumEntries;
  1675.     DWORD elpStyleEntry[1];
  1676. } EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN;
  1677. typedef struct tagEMREXTCREATEPEN {
  1678.     EMR emr;
  1679.     DWORD ihPen;
  1680.     DWORD offBmi;
  1681.     DWORD cbBmi;
  1682.     DWORD offBits;
  1683.     DWORD cbBits;
  1684.     EXTLOGPEN elp;
  1685. } EMREXTCREATEPEN,*PEMREXTCREATEPEN;
  1686. typedef struct tagEMREXTFLOODFILL {
  1687.     EMR emr;
  1688.     POINTL ptlStart;
  1689.     COLORREF crColor;
  1690.     DWORD iMode;
  1691. } EMREXTFLOODFILL,*PEMREXTFLOODFILL;
  1692. typedef struct tagEMREXTSELECTCLIPRGN {
  1693.     EMR emr;
  1694.     DWORD cbRgnData;
  1695.     DWORD iMode;
  1696.     BYTE RgnData[1];
  1697. } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
  1698. typedef struct tagEMRTEXT {
  1699.     POINTL ptlReference;
  1700.     DWORD nChars;
  1701.     DWORD offString;
  1702.     DWORD fOptions;
  1703.     RECTL rcl;
  1704.     DWORD offDx;
  1705. } EMRTEXT,*PEMRTEXT;
  1706. typedef struct tagEMREXTTEXTOUTA {
  1707.     EMR emr;
  1708.     RECTL rclBounds;
  1709.     DWORD iGraphicsMode;
  1710.     FLOAT exScale;
  1711.     FLOAT eyScale;
  1712.     EMRTEXT emrtext;
  1713. } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
  1714. typedef struct tagEMRFILLPATH {
  1715.     EMR emr;
  1716.     RECTL rclBounds;
  1717. } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
  1718. typedef struct tagEMRFILLRGN {
  1719.     EMR emr;
  1720.     RECTL rclBounds;
  1721.     DWORD cbRgnData;
  1722.     DWORD ihBrush;
  1723.     BYTE RgnData[1];
  1724. } EMRFILLRGN,*PEMRFILLRGN;
  1725. typedef struct tagEMRFORMAT   {
  1726.     DWORD dSignature;
  1727.     DWORD nVersion;
  1728.     DWORD cbData;
  1729.     DWORD offData;
  1730. } EMRFORMAT;
  1731. typedef struct tagEMRFRAMERGN {
  1732.     EMR emr;
  1733.     RECTL rclBounds;
  1734.     DWORD cbRgnData;
  1735.     DWORD ihBrush;
  1736.     SIZEL szlStroke;
  1737.     BYTE RgnData[1];
  1738. } EMRFRAMERGN,*PEMRFRAMERGN;
  1739. typedef struct tagEMRGDICOMMENT {
  1740.     EMR emr;
  1741.     DWORD cbData;
  1742.     BYTE Data[1];
  1743. } EMRGDICOMMENT,*PEMRGDICOMMENT;
  1744. typedef struct tagEMRINVERTRGN {
  1745.     EMR emr;
  1746.     RECTL rclBounds;
  1747.     DWORD cbRgnData;
  1748.     BYTE RgnData[1];
  1749. } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
  1750. typedef struct tagEMRLINETO {
  1751.     EMR emr;
  1752.     POINTL ptl;
  1753. } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
  1754. typedef struct tagEMRMASKBLT {
  1755.     EMR emr;
  1756.     RECTL rclBounds;
  1757.     LONG xDest;
  1758.     LONG yDest;
  1759.     LONG cxDest;
  1760.     LONG cyDest;
  1761.     DWORD dwRop;
  1762.     LONG xSrc;
  1763.     LONG ySrc;
  1764.     XFORM xformSrc;
  1765.     COLORREF crBkColorSrc;
  1766.     DWORD iUsageSrc;
  1767.     DWORD offBmiSrc;
  1768.     DWORD cbBmiSrc;
  1769.     DWORD offBitsSrc;
  1770.     DWORD cbBitsSrc;
  1771.     LONG xMask;
  1772.     LONG yMask;
  1773.     DWORD iUsageMask;
  1774.     DWORD offBmiMask;
  1775.     DWORD cbBmiMask;
  1776.     DWORD offBitsMask;
  1777.     DWORD cbBitsMask;
  1778. } EMRMASKBLT,*PEMRMASKBLT;
  1779. typedef struct tagEMRMODIFYWORLDTRANSFORM {
  1780.     EMR emr;
  1781.     XFORM xform;
  1782.     DWORD iMode;
  1783. } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
  1784. typedef struct tagEMROFFSETCLIPRGN {
  1785.     EMR emr;
  1786.     POINTL ptlOffset;
  1787. } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
  1788. typedef struct tagEMRPLGBLT {
  1789.     EMR emr;
  1790.     RECTL rclBounds;
  1791.     POINTL aptlDest[3];
  1792.     LONG xSrc;
  1793.     LONG ySrc;
  1794.     LONG cxSrc;
  1795.     LONG cySrc;
  1796.     XFORM xformSrc;
  1797.     COLORREF crBkColorSrc;
  1798.     DWORD iUsageSrc;
  1799.     DWORD offBmiSrc;
  1800.     DWORD cbBmiSrc;
  1801.     DWORD offBitsSrc;
  1802.     DWORD cbBitsSrc;
  1803.     LONG xMask;
  1804.     LONG yMask;
  1805.     DWORD iUsageMask;
  1806.     DWORD offBmiMask;
  1807.     DWORD cbBmiMask;
  1808.     DWORD offBitsMask;
  1809.     DWORD cbBitsMask;
  1810. } EMRPLGBLT,*PEMRPLGBLT;
  1811. typedef struct tagEMRPOLYDRAW {
  1812.     EMR emr;
  1813.     RECTL rclBounds;
  1814.     DWORD cptl;
  1815.     POINTL aptl[1];
  1816.     BYTE abTypes[1];
  1817. } EMRPOLYDRAW,*PEMRPOLYDRAW;
  1818. typedef struct tagEMRPOLYDRAW16 {
  1819.     EMR emr;
  1820.     RECTL rclBounds;
  1821.     DWORD cpts;
  1822.     POINTS apts[1];
  1823.     BYTE abTypes[1];
  1824. } EMRPOLYDRAW16,*PEMRPOLYDRAW16;
  1825. typedef struct tagEMRPOLYLINE {
  1826.     EMR emr;
  1827.     RECTL rclBounds;
  1828.     DWORD cptl;
  1829.     POINTL aptl[1];
  1830. } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
  1831. typedef struct tagEMRPOLYLINE16 {
  1832.     EMR emr;
  1833.     RECTL rclBounds;
  1834.     DWORD cpts;
  1835.     POINTL apts[1];
  1836. } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
  1837. typedef struct tagEMRPOLYPOLYLINE {
  1838.     EMR emr;
  1839.     RECTL rclBounds;
  1840.     DWORD nPolys;
  1841.     DWORD cptl;
  1842.     DWORD aPolyCounts[1];
  1843.     POINTL aptl[1];
  1844. } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
  1845. typedef struct tagEMRPOLYPOLYLINE16 {
  1846.     EMR emr;
  1847.     RECTL rclBounds;
  1848.     DWORD nPolys;
  1849.     DWORD cpts;
  1850.     DWORD aPolyCounts[1];
  1851.     POINTS apts[1];
  1852. } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
  1853. typedef struct tagEMRPOLYTEXTOUTA {
  1854.     EMR emr;
  1855.     RECTL rclBounds;
  1856.     DWORD iGraphicsMode;
  1857.     FLOAT exScale;
  1858.     FLOAT eyScale;
  1859.     LONG cStrings;
  1860.     EMRTEXT aemrtext[1];
  1861. } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
  1862. typedef struct tagEMRRESIZEPALETTE {
  1863.     EMR emr;
  1864.     DWORD ihPal;
  1865.     DWORD cEntries;
  1866. } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
  1867. typedef struct tagEMRRESTOREDC {
  1868.     EMR emr;
  1869.     LONG iRelative;
  1870. } EMRRESTOREDC,*PEMRRESTOREDC;
  1871. typedef struct tagEMRROUNDRECT {
  1872.     EMR emr;
  1873.     RECTL rclBox;
  1874.     SIZEL szlCorner;
  1875. } EMRROUNDRECT,*PEMRROUNDRECT;
  1876. typedef struct tagEMRSCALEVIEWPORTEXTEX {
  1877.     EMR emr;
  1878.     LONG xNum;
  1879.     LONG xDenom;
  1880.     LONG yNum;
  1881.     LONG yDenom;
  1882. } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
  1883. typedef struct tagEMRSELECTCOLORSPACE {
  1884.     EMR emr;
  1885.     DWORD ihCS;
  1886. } EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
  1887. typedef struct tagEMRSELECTOBJECT {
  1888.     EMR emr;
  1889.     DWORD ihObject;
  1890. } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
  1891. typedef struct tagEMRSELECTPALETTE {
  1892.     EMR emr;
  1893.     DWORD ihPal;
  1894. } EMRSELECTPALETTE,*PEMRSELECTPALETTE;
  1895. typedef struct tagEMRSETARCDIRECTION {
  1896.     EMR emr;
  1897.     DWORD iArcDirection;
  1898. } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
  1899. typedef struct tagEMRSETTEXTCOLOR {
  1900.     EMR emr;
  1901.     COLORREF crColor;
  1902. } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
  1903. typedef struct tagEMRSETCOLORADJUSTMENT {
  1904.     EMR emr;
  1905.     COLORADJUSTMENT ColorAdjustment;
  1906. } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
  1907. typedef struct tagEMRSETDIBITSTODEVICE {
  1908.     EMR emr;
  1909.     RECTL rclBounds;
  1910.     LONG xDest;
  1911.     LONG yDest;
  1912.     LONG xSrc;
  1913.     LONG ySrc;
  1914.     LONG cxSrc;
  1915.     LONG cySrc;
  1916.     DWORD offBmiSrc;
  1917.     DWORD cbBmiSrc;
  1918.     DWORD offBitsSrc;
  1919.     DWORD cbBitsSrc;
  1920.     DWORD iUsageSrc;
  1921.     DWORD iStartScan;
  1922.     DWORD cScans;
  1923. } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
  1924. typedef struct tagEMRSETMAPPERFLAGS {
  1925.     EMR emr;
  1926.     DWORD dwFlags;
  1927. } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
  1928. typedef struct tagEMRSETMITERLIMIT {
  1929.     EMR emr;
  1930.     FLOAT eMiterLimit;
  1931. } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
  1932. typedef struct tagEMRSETPALETTEENTRIES {
  1933.     EMR emr;
  1934.     DWORD ihPal;
  1935.     DWORD iStart;
  1936.     DWORD cEntries;
  1937.     PALETTEENTRY aPalEntries[1];
  1938. } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
  1939. typedef struct tagEMRSETPIXELV {
  1940.     EMR emr;
  1941.     POINTL ptlPixel;
  1942.     COLORREF crColor;
  1943. } EMRSETPIXELV,*PEMRSETPIXELV;
  1944. typedef struct tagEMRSETVIEWPORTEXTEX {
  1945.     EMR emr;
  1946.     SIZEL szlExtent;
  1947. } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
  1948. typedef struct tagEMRSETVIEWPORTORGEX {
  1949.     EMR emr;
  1950.     POINTL ptlOrigin;
  1951. } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
  1952. typedef struct tagEMRSETWORLDTRANSFORM {
  1953.     EMR emr;
  1954.     XFORM xform;
  1955. } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
  1956. typedef struct tagEMRSTRETCHBLT {
  1957.     EMR emr;
  1958.     RECTL rclBounds;
  1959.     LONG xDest;
  1960.     LONG yDest;
  1961.     LONG cxDest;
  1962.     LONG cyDest;
  1963.     DWORD dwRop;
  1964.     LONG xSrc;
  1965.     LONG ySrc;
  1966.     XFORM xformSrc;
  1967.     COLORREF crBkColorSrc;
  1968.     DWORD iUsageSrc;
  1969.     DWORD offBmiSrc;
  1970.     DWORD cbBmiSrc;
  1971.     DWORD offBitsSrc;
  1972.     DWORD cbBitsSrc;
  1973.     LONG cxSrc;
  1974.     LONG cySrc;
  1975. } EMRSTRETCHBLT,*PEMRSTRETCHBLT;
  1976. typedef struct tagEMRSTRETCHDIBITS {
  1977.     EMR emr;
  1978.     RECTL rclBounds;
  1979.     LONG xDest;
  1980.     LONG yDest;
  1981.     LONG xSrc;
  1982.     LONG ySrc;
  1983.     LONG cxSrc;
  1984.     LONG cySrc;
  1985.     DWORD offBmiSrc;
  1986.     DWORD cbBmiSrc;
  1987.     DWORD offBitsSrc;
  1988.     DWORD cbBitsSrc;
  1989.     DWORD iUsageSrc;
  1990.     DWORD dwRop;
  1991.     LONG cxDest;
  1992.     LONG cyDest;
  1993. } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
  1994. typedef struct tagABORTPATH {
  1995.     EMR emr;
  1996. } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
  1997. typedef struct tagEMRSELECTCLIPPATH {
  1998.     EMR emr;
  1999.     DWORD iMode;
  2000. } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM;
  2001. #pragma pack(push,2)
  2002. typedef struct tagMETAHEADER {
  2003.     WORD mtType;
  2004.     WORD mtHeaderSize;
  2005.     WORD mtVersion;
  2006.     DWORD mtSize;
  2007.     WORD mtNoObjects;
  2008.     DWORD mtMaxRecord;
  2009.     WORD mtNoParameters;
  2010. } METAHEADER,*PMETAHEADER,*LPMETAHEADER;
  2011. #pragma pack(pop)
  2012. typedef struct tagENHMETAHEADER {
  2013.     DWORD iType;
  2014.     DWORD nSize;
  2015.     RECTL rclBounds;
  2016.     RECTL rclFrame;
  2017.     DWORD dSignature;
  2018.     DWORD nVersion;
  2019.     DWORD nBytes;
  2020.     DWORD nRecords;
  2021.     WORD nHandles;
  2022.     WORD sReserved;
  2023.     DWORD nDescription;
  2024.     DWORD offDescription;
  2025.     DWORD nPalEntries;
  2026.     SIZEL szlDevice;
  2027.     SIZEL szlMillimeters;
  2028. #if (WINVER >= 0x0400)
  2029.     DWORD cbPixelFormat;
  2030.     DWORD offPixelFormat;
  2031.     DWORD bOpenGL;
  2032. #endif
  2033. #if (WINVER >= 0x0500)
  2034.     SIZEL szlMicrometers;
  2035. #endif
  2036. } ENHMETAHEADER,*LPENHMETAHEADER;
  2037. typedef struct tagMETARECORD {
  2038.     DWORD rdSize;
  2039.     WORD rdFunction;
  2040.     WORD rdParm[1];
  2041. } METARECORD,*PMETARECORD,*LPMETARECORD;
  2042. typedef struct tagENHMETARECORD {
  2043.     DWORD iType;
  2044.     DWORD nSize;
  2045.     DWORD dParm[1];
  2046. } ENHMETARECORD,*LPENHMETARECORD;
  2047. typedef struct tagHANDLETABLE {
  2048.     HGDIOBJ objectHandle[1];
  2049. } HANDLETABLE,*LPHANDLETABLE;
  2050. typedef struct tagTEXTMETRICA {
  2051.     LONG tmHeight;
  2052.     LONG tmAscent;
  2053.     LONG tmDescent;
  2054.     LONG tmInternalLeading;
  2055.     LONG tmExternalLeading;
  2056.     LONG tmAveCharWidth;
  2057.     LONG tmMaxCharWidth;
  2058.     LONG tmWeight;
  2059.     LONG tmOverhang;
  2060.     LONG tmDigitizedAspectX;
  2061.     LONG tmDigitizedAspectY;
  2062.     BYTE tmFirstChar;
  2063.     BYTE tmLastChar;
  2064.     BYTE tmDefaultChar;
  2065.     BYTE tmBreakChar;
  2066.     BYTE tmItalic;
  2067.     BYTE tmUnderlined;
  2068.     BYTE tmStruckOut;
  2069.     BYTE tmPitchAndFamily;
  2070.     BYTE tmCharSet;
  2071. } TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA;
  2072. typedef struct tagTEXTMETRICW {
  2073.     LONG tmHeight;
  2074.     LONG tmAscent;
  2075.     LONG tmDescent;
  2076.     LONG tmInternalLeading;
  2077.     LONG tmExternalLeading;
  2078.     LONG tmAveCharWidth;
  2079.     LONG tmMaxCharWidth;
  2080.     LONG tmWeight;
  2081.     LONG tmOverhang;
  2082.     LONG tmDigitizedAspectX;
  2083.     LONG tmDigitizedAspectY;
  2084.     WCHAR tmFirstChar;
  2085.     WCHAR tmLastChar;
  2086.     WCHAR tmDefaultChar;
  2087.     WCHAR tmBreakChar;
  2088.     BYTE tmItalic;
  2089.     BYTE tmUnderlined;
  2090.     BYTE tmStruckOut;
  2091.     BYTE tmPitchAndFamily;
  2092.     BYTE tmCharSet;
  2093. } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW;
  2094. typedef struct _RGNDATAHEADER {
  2095.     DWORD dwSize;
  2096.     DWORD iType;
  2097.     DWORD nCount;
  2098.     DWORD nRgnSize;
  2099.     RECT rcBound;
  2100. } RGNDATAHEADER;
  2101. typedef struct _RGNDATA {
  2102.     RGNDATAHEADER rdh;
  2103.     char Buffer[1];
  2104. } RGNDATA,*PRGNDATA, *LPRGNDATA;
  2105. /* for GetRandomRgn */
  2106. #define SYSRGN  4
  2107. typedef struct tagGCP_RESULTSA {
  2108.     DWORD lStructSize;
  2109.     LPSTR lpOutString;
  2110.     UINT *lpOrder;
  2111.     INT *lpDx;
  2112.     INT *lpCaretPos;
  2113.     LPSTR lpClass;
  2114.     LPWSTR lpGlyphs;
  2115.     UINT nGlyphs;
  2116.     UINT nMaxFit;
  2117. } GCP_RESULTSA,*LPGCP_RESULTSA;
  2118. typedef struct tagGCP_RESULTSW {
  2119.     DWORD lStructSize;
  2120.     LPWSTR lpOutString;
  2121.     UINT *lpOrder;
  2122.     INT *lpDx;
  2123.     INT *lpCaretPos;
  2124.     LPWSTR lpClass;
  2125.     LPWSTR lpGlyphs;
  2126.     UINT nGlyphs;
  2127.     UINT nMaxFit;
  2128. } GCP_RESULTSW,*LPGCP_RESULTSW;
  2129. typedef struct _GLYPHMETRICS {
  2130.     UINT gmBlackBoxX;
  2131.     UINT gmBlackBoxY;
  2132.     POINT gmptGlyphOrigin;
  2133.     short gmCellIncX;
  2134.     short gmCellIncY;
  2135. } GLYPHMETRICS,*LPGLYPHMETRICS;
  2136. #if (_WIN32_WINNT >= 0x0500)
  2137. typedef struct tagWCRANGE
  2138. {
  2139.     WCHAR wcLow;
  2140.     USHORT cGlyphs;
  2141. } WCRANGE, *PWCRANGE, *LPWCRANGE;
  2142. typedef struct tagGLYPHSET
  2143. {
  2144.     DWORD cbThis;
  2145.     DWORD flAccel;
  2146.     DWORD cGlyphsSupported;
  2147.     DWORD cRanges;
  2148.     WCRANGE ranges[1];
  2149. } GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
  2150. #endif
  2151. typedef struct tagKERNINGPAIR {
  2152.     WORD wFirst;
  2153.     WORD wSecond;
  2154.     int iKernAmount;
  2155. } KERNINGPAIR,*LPKERNINGPAIR;
  2156. typedef struct _FIXED {
  2157.     WORD fract;
  2158.     short value;
  2159. } FIXED;
  2160. typedef struct _MAT2 {
  2161.     FIXED eM11;
  2162.     FIXED eM12;
  2163.     FIXED eM21;
  2164.     FIXED eM22;
  2165. } MAT2,*LPMAT2;
  2166. typedef struct _OUTLINETEXTMETRICA {
  2167.     UINT otmSize;
  2168.     TEXTMETRICA otmTextMetrics;
  2169.     BYTE otmFiller;
  2170.     PANOSE otmPanoseNumber;
  2171.     UINT otmfsSelection;
  2172.     UINT otmfsType;
  2173.     int otmsCharSlopeRise;
  2174.     int otmsCharSlopeRun;
  2175.     int otmItalicAngle;
  2176.     UINT otmEMSquare;
  2177.     int otmAscent;
  2178.     int otmDescent;
  2179.     UINT otmLineGap;
  2180.     UINT otmsCapEmHeight;
  2181.     UINT otmsXHeight;
  2182.     RECT otmrcFontBox;
  2183.     int otmMacAscent;
  2184.     int otmMacDescent;
  2185.     UINT otmMacLineGap;
  2186.     UINT otmusMinimumPPEM;
  2187.     POINT otmptSubscriptSize;
  2188.     POINT otmptSubscriptOffset;
  2189.     POINT otmptSuperscriptSize;
  2190.     POINT otmptSuperscriptOffset;
  2191.     UINT otmsStrikeoutSize;
  2192.     int otmsStrikeoutPosition;
  2193.     int otmsUnderscoreSize;
  2194.     int otmsUnderscorePosition;
  2195.     PSTR otmpFamilyName;
  2196.     PSTR otmpFaceName;
  2197.     PSTR otmpStyleName;
  2198.     PSTR otmpFullName;
  2199. } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
  2200. typedef struct _OUTLINETEXTMETRICW {
  2201.     UINT otmSize;
  2202.     TEXTMETRICW otmTextMetrics;
  2203.     BYTE otmFiller;
  2204.     PANOSE otmPanoseNumber;
  2205.     UINT otmfsSelection;
  2206.     UINT otmfsType;
  2207.     int otmsCharSlopeRise;
  2208.     int otmsCharSlopeRun;
  2209.     int otmItalicAngle;
  2210.     UINT otmEMSquare;
  2211.     int otmAscent;
  2212.     int otmDescent;
  2213.     UINT otmLineGap;
  2214.     UINT otmsCapEmHeight;
  2215.     UINT otmsXHeight;
  2216.     RECT otmrcFontBox;
  2217.     int otmMacAscent;
  2218.     int otmMacDescent;
  2219.     UINT otmMacLineGap;
  2220.     UINT otmusMinimumPPEM;
  2221.     POINT otmptSubscriptSize;
  2222.     POINT otmptSubscriptOffset;
  2223.     POINT otmptSuperscriptSize;
  2224.     POINT otmptSuperscriptOffset;
  2225.     UINT otmsStrikeoutSize;
  2226.     int otmsStrikeoutPosition;
  2227.     int otmsUnderscoreSize;
  2228.     int otmsUnderscorePosition;
  2229.     PSTR otmpFamilyName;
  2230.     PSTR otmpFaceName;
  2231.     PSTR otmpStyleName;
  2232.     PSTR otmpFullName;
  2233. } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
  2234. typedef struct _RASTERIZER_STATUS {
  2235.     short nSize;
  2236.     short wFlags;
  2237.     short nLanguageID;
  2238. } RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
  2239. typedef struct _POLYTEXTA {
  2240.     int x;
  2241.     int y;
  2242.     UINT n;
  2243.     LPCSTR lpstr;
  2244.     UINT uiFlags;
  2245.     RECT rcl;
  2246.     int *pdx;
  2247. } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
  2248. typedef struct _POLYTEXTW {
  2249.     int x;
  2250.     int y;
  2251.     UINT n;
  2252.     LPCWSTR lpstr;
  2253.     UINT uiFlags;
  2254.     RECT rcl;
  2255.     int *pdx;
  2256. } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
  2257. typedef struct tagPIXELFORMATDESCRIPTOR {
  2258.     WORD nSize;
  2259.     WORD nVersion;
  2260.     DWORD dwFlags;
  2261.     BYTE iPixelType;
  2262.     BYTE cColorBits;
  2263.     BYTE cRedBits;
  2264.     BYTE cRedShift;
  2265.     BYTE cGreenBits;
  2266.     BYTE cGreenShift;
  2267.     BYTE cBlueBits;
  2268.     BYTE cBlueShift;
  2269.     BYTE cAlphaBits;
  2270.     BYTE cAlphaShift;
  2271.     BYTE cAccumBits;
  2272.     BYTE cAccumRedBits;
  2273.     BYTE cAccumGreenBits;
  2274.     BYTE cAccumBlueBits;
  2275.     BYTE cAccumAlphaBits;
  2276.     BYTE cDepthBits;
  2277.     BYTE cStencilBits;
  2278.     BYTE cAuxBuffers;
  2279.     BYTE iLayerType;
  2280.     BYTE bReserved;
  2281.     DWORD dwLayerMask;
  2282.     DWORD dwVisibleMask;
  2283.     DWORD dwDamageMask;
  2284. } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
  2285. typedef struct tagMETAFILEPICT {
  2286.     LONG mm;
  2287.     LONG xExt;
  2288.     LONG yExt;
  2289.     HMETAFILE hMF;
  2290. } METAFILEPICT,*LPMETAFILEPICT;
  2291. typedef struct tagLOCALESIGNATURE {
  2292.     DWORD lsUsb[4];
  2293.     DWORD lsCsbDefault[2];
  2294.     DWORD lsCsbSupported[2];
  2295. } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
  2296. typedef LONG LCSTYPE;
  2297. #pragma pack(push,4)
  2298. typedef struct tagNEWTEXTMETRICA {
  2299.     LONG tmHeight;
  2300.     LONG tmAscent;
  2301.     LONG tmDescent;
  2302.     LONG tmInternalLeading;
  2303.     LONG tmExternalLeading;
  2304.     LONG tmAveCharWidth;
  2305.     LONG tmMaxCharWidth;
  2306.     LONG tmWeight;
  2307.     LONG tmOverhang;
  2308.     LONG tmDigitizedAspectX;
  2309.     LONG tmDigitizedAspectY;
  2310.     BYTE tmFirstChar;
  2311.     BYTE tmLastChar;
  2312.     BYTE tmDefaultChar;
  2313.     BYTE tmBreakChar;
  2314.     BYTE tmItalic;
  2315.     BYTE tmUnderlined;
  2316.     BYTE tmStruckOut;
  2317.     BYTE tmPitchAndFamily;
  2318.     BYTE tmCharSet;
  2319.     DWORD ntmFlags;
  2320.     UINT ntmSizeEM;
  2321.     UINT ntmCellHeight;
  2322.     UINT ntmAvgWidth;
  2323. } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
  2324. typedef struct tagNEWTEXTMETRICW {
  2325.     LONG tmHeight;
  2326.     LONG tmAscent;
  2327.     LONG tmDescent;
  2328.     LONG tmInternalLeading;
  2329.     LONG tmExternalLeading;
  2330.     LONG tmAveCharWidth;
  2331.     LONG tmMaxCharWidth;
  2332.     LONG tmWeight;
  2333.     LONG tmOverhang;
  2334.     LONG tmDigitizedAspectX;
  2335.     LONG tmDigitizedAspectY;
  2336.     WCHAR tmFirstChar;
  2337.     WCHAR tmLastChar;
  2338.     WCHAR tmDefaultChar;
  2339.     WCHAR tmBreakChar;
  2340.     BYTE tmItalic;
  2341.     BYTE tmUnderlined;
  2342.     BYTE tmStruckOut;
  2343.     BYTE tmPitchAndFamily;
  2344.     BYTE tmCharSet;
  2345.     DWORD ntmFlags;
  2346.     UINT ntmSizeEM;
  2347.     UINT ntmCellHeight;
  2348.     UINT ntmAvgWidth;
  2349. } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
  2350. #pragma pack(pop)
  2351. typedef struct tagNEWTEXTMETRICEXA {
  2352.     NEWTEXTMETRICA ntmTm;
  2353.     FONTSIGNATURE ntmFontSig;
  2354. } NEWTEXTMETRICEXA;
  2355. typedef struct tagNEWTEXTMETRICEXW {
  2356.     NEWTEXTMETRICW ntmTm;
  2357.     FONTSIGNATURE ntmFontSig;
  2358. } NEWTEXTMETRICEXW;
  2359. typedef struct tagPELARRAY {
  2360.     LONG paXCount;
  2361.     LONG paYCount;
  2362.     LONG paXExt;
  2363.     LONG paYExt;
  2364.     BYTE paRGBs;
  2365. } PELARRAY,*PPELARRAY,*LPPELARRAY;
  2366. typedef struct tagENUMLOGFONTA {
  2367.     LOGFONTA elfLogFont;
  2368.     BYTE elfFullName[LF_FULLFACESIZE];
  2369.     BYTE elfStyle[LF_FACESIZE];
  2370. } ENUMLOGFONTA,*LPENUMLOGFONTA;
  2371. typedef struct tagENUMLOGFONTW {
  2372.     LOGFONTW elfLogFont;
  2373.     WCHAR elfFullName[LF_FULLFACESIZE];
  2374.     WCHAR elfStyle[LF_FACESIZE];
  2375. } ENUMLOGFONTW,*LPENUMLOGFONTW;
  2376. typedef struct tagENUMLOGFONTEXA {
  2377.     LOGFONTA elfLogFont;
  2378.     BYTE elfFullName[LF_FULLFACESIZE];
  2379.     BYTE elfStyle[LF_FACESIZE];
  2380.     BYTE elfScript[LF_FACESIZE];
  2381. } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
  2382. typedef struct tagENUMLOGFONTEXW {
  2383.     LOGFONTW elfLogFont;
  2384.     WCHAR elfFullName[LF_FULLFACESIZE];
  2385.     WCHAR elfStyle[LF_FACESIZE];
  2386.     WCHAR elfScript[LF_FACESIZE];
  2387. } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
  2388. typedef struct tagPOINTFX {
  2389.     FIXED x;
  2390.     FIXED y;
  2391. } POINTFX,*LPPOINTFX;
  2392. typedef struct tagTTPOLYCURVE {
  2393.     WORD wType;
  2394.     WORD cpfx;
  2395.     POINTFX apfx[1];
  2396. } TTPOLYCURVE,*LPTTPOLYCURVE;
  2397. typedef struct tagTTPOLYGONHEADER {
  2398.     DWORD cb;
  2399.     DWORD dwType;
  2400.     POINTFX pfxStart;
  2401. } TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
  2402. typedef struct _POINTFLOAT {
  2403.     FLOAT x;
  2404.     FLOAT y;
  2405. } POINTFLOAT,*PPOINTFLOAT;
  2406. typedef struct _GLYPHMETRICSFLOAT {
  2407.     FLOAT gmfBlackBoxX;
  2408.     FLOAT gmfBlackBoxY;
  2409.     POINTFLOAT gmfptGlyphOrigin;
  2410.     FLOAT gmfCellIncX;
  2411.     FLOAT gmfCellIncY;
  2412. } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
  2413. typedef struct tagLAYERPLANEDESCRIPTOR {
  2414.     WORD nSize;
  2415.     WORD nVersion;
  2416.     DWORD dwFlags;
  2417.     BYTE iPixelType;
  2418.     BYTE cColorBits;
  2419.     BYTE cRedBits;
  2420.     BYTE cRedShift;
  2421.     BYTE cGreenBits;
  2422.     BYTE cGreenShift;
  2423.     BYTE cBlueBits;
  2424.     BYTE cBlueShift;
  2425.     BYTE cAlphaBits;
  2426.     BYTE cAlphaShift;
  2427.     BYTE cAccumBits;
  2428.     BYTE cAccumRedBits;
  2429.     BYTE cAccumGreenBits;
  2430.     BYTE cAccumBlueBits;
  2431.     BYTE cAccumAlphaBits;
  2432.     BYTE cDepthBits;
  2433.     BYTE cStencilBits;
  2434.     BYTE cAuxBuffers;
  2435.     BYTE iLayerPlane;
  2436.     BYTE bReserved;
  2437.     COLORREF crTransparent;
  2438. } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
  2439. typedef struct _BLENDFUNCTION {
  2440.     BYTE BlendOp;
  2441.     BYTE BlendFlags;
  2442.     BYTE SourceConstantAlpha;
  2443.     BYTE AlphaFormat; 
  2444. } BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION; 
  2445. #define MM_MAX_NUMAXES  16
  2446. typedef struct _DESIGNVECTOR {
  2447.     DWORD dvReserved;
  2448.     DWORD dvNumAxes;
  2449.     LONG dvValues[MM_MAX_NUMAXES];
  2450. } DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
  2451. #if _WIN32_WINNT >= 0x0500
  2452. typedef struct tagENUMLOGFONTEXDVA
  2453. {
  2454.     ENUMLOGFONTEXA elfEnumLogfontEx;
  2455.     DESIGNVECTOR elfDesignVector;
  2456. } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
  2457. typedef struct tagENUMLOGFONTEXDVW
  2458. {
  2459.     ENUMLOGFONTEXW elfEnumLogfontEx;
  2460.     DESIGNVECTOR elfDesignVector;
  2461. } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
  2462. #endif /* _WIN32_WINNT >= 0x0500 */
  2463. typedef USHORT COLOR16;
  2464. typedef struct _TRIVERTEX {
  2465.     LONG x;
  2466.     LONG y;
  2467.     COLOR16 Red;
  2468.     COLOR16 Green;
  2469.     COLOR16 Blue;
  2470.     COLOR16 Alpha;
  2471. } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
  2472. typedef struct _GRADIENT_TRIANGLE {
  2473.     ULONG Vertex1;
  2474.     ULONG Vertex2;
  2475.     ULONG Vertex3;
  2476. } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
  2477. typedef struct _GRADIENT_RECT {
  2478.     ULONG UpperLeft;
  2479.     ULONG LowerRight;
  2480. }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
  2481. typedef struct _DISPLAY_DEVICEA {
  2482.   DWORD cb;
  2483.   CHAR DeviceName[32];
  2484.   CHAR DeviceString[128];
  2485.   DWORD StateFlags;
  2486.   CHAR DeviceID[128];
  2487.   CHAR DeviceKey[128];
  2488. } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
  2489. typedef struct _DISPLAY_DEVICEW {
  2490.   DWORD cb;
  2491.   WCHAR DeviceName[32];
  2492.   WCHAR DeviceString[128];
  2493.   DWORD StateFlags;
  2494.   WCHAR DeviceID[128];
  2495.   WCHAR DeviceKey[128];
  2496. } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
  2497.  
  2498. typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
  2499. typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
  2500. typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM);
  2501. typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
  2502. typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
  2503. typedef OLDFONTENUMPROCA FONTENUMPROCA;
  2504. typedef OLDFONTENUMPROCW FONTENUMPROCW;
  2505. typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
  2506. typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
  2507. typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
  2508. typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
  2509. typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
  2510. typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
  2511.  
  2512. #define MAKEPOINTS(l) (*((POINTS*)&(l)))
  2513. #define MAKEROP4(f,b)    (DWORD)((((b)<<8)&0xFF000000)|(f))
  2514.  
  2515. #define GetCValue(cmyk) ((BYTE)(cmyk))
  2516. #define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
  2517. #define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
  2518. #define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
  2519. #define CMYK(c,m,y,k) ((COLORREF)((BYTE)(k)|((BYTE)(y)<<8)|((BYTE)(m)<<16)|((BYTE)(c)<<24)))
  2520.  
  2521. #define GetRValue(c) ((BYTE)(c))
  2522. #define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
  2523. #define GetBValue(c) ((BYTE)((c)>>16))
  2524. #define RGB(r,g,b) ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
  2525.  
  2526. #define PALETTEINDEX(i)    ((0x01000000|(COLORREF)(WORD)(i)))
  2527. #define PALETTERGB(r,g,b)    (0x02000000|RGB(r,g,b))
  2528.  
  2529. int WINAPI AbortDoc(HDC);
  2530. BOOL WINAPI AbortPath(HDC);
  2531. int WINAPI AddFontResourceA(LPCSTR);
  2532. int WINAPI AddFontResourceW(LPCWSTR);
  2533. #if (_WIN32_WINNT >= 0x0500)
  2534. HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
  2535. int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
  2536. int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
  2537. #endif
  2538. BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
  2539. BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
  2540. BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
  2541. BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
  2542. BOOL WINAPI BeginPath(HDC);
  2543. BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
  2544. BOOL WINAPI CancelDC(HDC);
  2545. BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
  2546. BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
  2547. int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
  2548. HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
  2549. BOOL WINAPI CloseFigure(HDC);
  2550. HMETAFILE WINAPI CloseMetaFile(HDC);
  2551. BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
  2552. int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
  2553. BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
  2554. HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
  2555. HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
  2556. HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
  2557. HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
  2558. HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
  2559. HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
  2560. HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
  2561. HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
  2562. HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
  2563. HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
  2564. HDC WINAPI CreateCompatibleDC(HDC);
  2565. HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
  2566. HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
  2567. HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
  2568. HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
  2569. HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
  2570. HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
  2571. HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
  2572. HRGN WINAPI CreateEllipticRgn(int,int,int,int);
  2573. HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
  2574. HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
  2575. HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
  2576. HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
  2577. HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
  2578. HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
  2579. HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
  2580. HPALETTE WINAPI CreateHalftonePalette(HDC);
  2581. HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
  2582. HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
  2583. HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
  2584. HDC WINAPI CreateMetaFileA(LPCSTR);
  2585. HDC WINAPI CreateMetaFileW(LPCWSTR);
  2586. HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
  2587. HBRUSH WINAPI CreatePatternBrush(HBITMAP);
  2588. HPEN WINAPI CreatePen(int,int,COLORREF);
  2589. HPEN WINAPI CreatePenIndirect(const LOGPEN*);
  2590. HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
  2591. HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
  2592. HRGN WINAPI CreateRectRgn(int,int,int,int);
  2593. HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
  2594. HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
  2595. BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
  2596. BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
  2597. HBRUSH WINAPI CreateSolidBrush(COLORREF);
  2598. BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
  2599. BOOL WINAPI DeleteDC(HDC);
  2600. BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
  2601. BOOL WINAPI DeleteMetaFile(HMETAFILE);
  2602. BOOL WINAPI DeleteObject(HGDIOBJ);
  2603. int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
  2604. DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
  2605. DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
  2606. BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
  2607. int WINAPI DrawEscape(HDC,int,int,LPCSTR);
  2608. BOOL WINAPI Ellipse(HDC,int,int,int,int);
  2609. int WINAPI EndDoc(HDC);
  2610. int WINAPI EndPage(HDC);
  2611. BOOL WINAPI EndPath(HDC);
  2612. BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
  2613. int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
  2614. int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
  2615. int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
  2616. int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
  2617. int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
  2618. int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
  2619. int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
  2620. int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
  2621. BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
  2622. int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
  2623. BOOL WINAPI EqualRgn(HRGN,HRGN);
  2624. int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
  2625. int WINAPI ExcludeClipRect(HDC,int,int,int,int);
  2626. int WINAPI ExcludeUpdateRgn(HDC,HWND);
  2627. HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
  2628. HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
  2629. int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
  2630. BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
  2631. int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
  2632. BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
  2633. BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
  2634. BOOL WINAPI FillPath(HDC);
  2635. int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
  2636. int WINAPI FillRgn(HDC,HRGN,HBRUSH);
  2637. BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
  2638. BOOL WINAPI FlattenPath(HDC);
  2639. BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
  2640. BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
  2641. BOOL WINAPI GdiFlush(void);
  2642. DWORD WINAPI GdiGetBatchLimit(void);
  2643. DWORD WINAPI GdiSetBatchLimit(DWORD);
  2644. int WINAPI GetArcDirection(HDC);
  2645. BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
  2646. LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
  2647. BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
  2648. COLORREF WINAPI GetBkColor(HDC);
  2649. int WINAPI GetBkMode(HDC);
  2650. UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
  2651. BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
  2652. BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
  2653. BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
  2654. BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
  2655. BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
  2656. DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
  2657. DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
  2658. BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
  2659. BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
  2660. BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
  2661. BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
  2662. BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
  2663. BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
  2664. int WINAPI GetClipBox(HDC,LPRECT);
  2665. int WINAPI GetClipRgn(HDC,HRGN);
  2666. BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
  2667. HANDLE WINAPI GetColorSpace(HDC);
  2668. HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
  2669. BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
  2670. HCURSOR WINAPI GetCursor(void);
  2671. BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
  2672. int WINAPI GetDeviceCaps(HDC,int);
  2673. BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
  2674. UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
  2675. int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
  2676. HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
  2677. HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
  2678. UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
  2679. UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
  2680. UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
  2681. UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
  2682. UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
  2683. UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,CONST PIXELFORMATDESCRIPTOR*);
  2684. DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
  2685. DWORD WINAPI GetFontLanguageInfo(HDC);
  2686. DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
  2687. DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
  2688. int WINAPI GetGraphicsMode(HDC);
  2689. BOOL WINAPI GetICMProfileA(HDC,DWORD,LPSTR);
  2690. BOOL WINAPI GetICMProfileW(HDC,DWORD,LPWSTR);
  2691. DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
  2692. DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
  2693. BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
  2694. BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
  2695. int WINAPI GetMapMode(HDC);
  2696. HMETAFILE WINAPI GetMetaFileA(LPCSTR);
  2697. HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
  2698. UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
  2699. int WINAPI GetMetaRgn(HDC,HRGN);
  2700. BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
  2701. COLORREF WINAPI GetNearestColor(HDC,COLORREF);
  2702. UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
  2703. int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
  2704. int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
  2705. DWORD WINAPI GetObjectType(HGDIOBJ);
  2706. UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
  2707. UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
  2708. UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
  2709. int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
  2710. COLORREF WINAPI GetPixel(HDC,int,int);
  2711. int WINAPI GetPixelFormat(HDC);
  2712. int WINAPI GetPolyFillMode(HDC);
  2713. BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
  2714. int WINAPI GetRandomRgn (HDC,HRGN,INT);
  2715. DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
  2716. int WINAPI GetRgnBox(HRGN,LPRECT);
  2717. int WINAPI GetROP2(HDC);
  2718. HGDIOBJ WINAPI GetStockObject(int);
  2719. int WINAPI GetStretchBltMode(HDC);
  2720. UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
  2721. UINT WINAPI GetSystemPaletteUse(HDC);
  2722. UINT WINAPI GetTextAlign(HDC);
  2723. int WINAPI GetTextCharacterExtra(HDC);
  2724. int WINAPI GetTextCharset(HDC);
  2725. int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
  2726. COLORREF WINAPI GetTextColor(HDC);
  2727. BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
  2728. BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
  2729. BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
  2730. BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
  2731. BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
  2732. BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
  2733. int WINAPI GetTextFaceA(HDC,int,LPSTR);
  2734. int WINAPI GetTextFaceW(HDC,int,LPWSTR);
  2735. BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
  2736. BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
  2737. BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
  2738. BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
  2739. BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
  2740. BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
  2741. UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
  2742. BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
  2743. int WINAPI IntersectClipRect(HDC,int,int,int,int);
  2744. BOOL WINAPI InvertRgn(HDC,HRGN);
  2745. BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
  2746. BOOL WINAPI LineTo(HDC,int,int);
  2747. BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
  2748. BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
  2749. BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
  2750. BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
  2751. int WINAPI OffsetClipRgn(HDC,int,int);
  2752. int WINAPI OffsetRgn(HRGN,int,int);
  2753. BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
  2754. BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
  2755. BOOL WINAPI PaintRgn(HDC,HRGN);
  2756. BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
  2757. HRGN WINAPI PathToRegion(HDC);
  2758. BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
  2759. BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
  2760. BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
  2761. BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
  2762. BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
  2763. BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
  2764. BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
  2765. BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
  2766. BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
  2767. BOOL WINAPI Polygon(HDC,const POINT*,int);
  2768. BOOL WINAPI Polyline(HDC,const POINT*,int);
  2769. BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
  2770. BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
  2771. BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
  2772. BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
  2773. BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
  2774. BOOL WINAPI PtInRegion(HRGN,int,int);
  2775. BOOL WINAPI PtVisible(HDC,int,int);
  2776. UINT WINAPI RealizePalette(HDC);
  2777. BOOL WINAPI Rectangle(HDC,int,int,int,int);
  2778. BOOL WINAPI RectInRegion(HRGN,LPCRECT);
  2779. BOOL WINAPI RectVisible(HDC,LPCRECT);
  2780. BOOL WINAPI RemoveFontResourceA(LPCSTR);
  2781. BOOL WINAPI RemoveFontResourceW(LPCWSTR);
  2782. #if (_WIN32_WINNT >= 0x0500)
  2783. BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
  2784. BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
  2785. BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
  2786. #endif
  2787. HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
  2788. HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
  2789. BOOL WINAPI ResizePalette(HPALETTE,UINT);
  2790. BOOL WINAPI RestoreDC(HDC,int);
  2791. BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
  2792. int WINAPI SaveDC(HDC);
  2793. BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
  2794. BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
  2795. BOOL WINAPI SelectClipPath(HDC,int);
  2796. int WINAPI SelectClipRgn(HDC,HRGN);
  2797. HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
  2798. HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
  2799. int WINAPI SetAbortProc(HDC,ABORTPROC);
  2800. int WINAPI SetArcDirection(HDC,int);
  2801. LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
  2802. BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
  2803. COLORREF WINAPI SetBkColor(HDC,COLORREF);
  2804. int WINAPI SetBkMode(HDC,int);
  2805. UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
  2806. BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
  2807. BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
  2808. BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
  2809. #if (_WIN32_WINNT >= 0x0500)
  2810. COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
  2811. COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
  2812. #endif
  2813. BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
  2814. UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
  2815. int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
  2816. int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
  2817. HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
  2818. int WINAPI SetGraphicsMode(HDC,int);
  2819. int WINAPI SetICMMode(HDC,int);
  2820. BOOL WINAPI SetICMProfileA(HDC,LPSTR);
  2821. BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
  2822. int WINAPI SetMapMode(HDC,int);
  2823. DWORD WINAPI SetMapperFlags(HDC,DWORD);
  2824. HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
  2825. int WINAPI SetMetaRgn(HDC);
  2826. BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
  2827. UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
  2828. COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
  2829. BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
  2830. BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
  2831. int WINAPI SetPolyFillMode(HDC,int);
  2832. BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
  2833. int WINAPI SetROP2(HDC,int);
  2834. int WINAPI SetStretchBltMode(HDC,int);
  2835. UINT WINAPI SetSystemPaletteUse(HDC,UINT);
  2836. UINT WINAPI SetTextAlign(HDC,UINT);
  2837. int WINAPI SetTextCharacterExtra(HDC,int);
  2838. COLORREF WINAPI SetTextColor(HDC,COLORREF);
  2839. BOOL WINAPI SetTextJustification(HDC,int,int);
  2840. BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
  2841. BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
  2842. BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
  2843. BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
  2844. HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
  2845. BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
  2846. int WINAPI StartDocA(HDC,const DOCINFOA*);
  2847. int WINAPI StartDocW(HDC,const DOCINFOW*);
  2848. int WINAPI StartPage(HDC);
  2849. BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
  2850. int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
  2851. BOOL WINAPI StrokeAndFillPath(HDC);
  2852. BOOL WINAPI StrokePath(HDC);
  2853. BOOL WINAPI SwapBuffers(HDC);
  2854. BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
  2855. BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
  2856. BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
  2857. BOOL WINAPI UnrealizeObject(HGDIOBJ);
  2858. BOOL WINAPI UpdateColors(HDC);
  2859. BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
  2860. BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
  2861. BOOL WINAPI WidenPath(HDC);
  2862. BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
  2863. HGLRC WINAPI wglCreateContext(HDC);
  2864. HGLRC WINAPI wglCreateLayerContext(HDC,int);
  2865. BOOL WINAPI wglDeleteContext(HGLRC);
  2866. BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
  2867. HGLRC WINAPI wglGetCurrentContext(void);
  2868. HDC WINAPI wglGetCurrentDC(void);
  2869. int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
  2870. PROC WINAPI wglGetProcAddress(LPCSTR);
  2871. BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
  2872. BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
  2873. int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
  2874. BOOL WINAPI wglShareLists(HGLRC,HGLRC);
  2875. BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
  2876. BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
  2877. BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
  2878. BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
  2879. BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
  2880.  
  2881. #if (WINVER >= 0x0500)
  2882. BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
  2883. BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
  2884. BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
  2885. #endif
  2886.  
  2887. #if (_WIN32_WINNT >= 0x0500)
  2888. DWORD WINAPI GetFontUnicodeRanges(HDC,LPGLYPHSET);
  2889. DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,int,LPWORD,DWORD);
  2890. DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,int,LPWORD,DWORD);
  2891. #endif
  2892.  
  2893. #ifdef UNICODE
  2894. typedef WCHAR BCHAR;
  2895. typedef DOCINFOW DOCINFO, *LPDOCINFO;
  2896. typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
  2897. typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
  2898. #define ICMENUMPROC ICMENUMPROCW
  2899. #define FONTENUMPROC FONTENUMPROCW
  2900. typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
  2901. #if _WIN32_WINNT >= 0x0500
  2902. typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
  2903. typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
  2904. typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
  2905. #endif
  2906. typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
  2907. typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
  2908. typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
  2909. typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
  2910. typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
  2911. typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
  2912. typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
  2913. typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
  2914. typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
  2915. typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
  2916. #define AddFontResource AddFontResourceW
  2917. #if (_WIN32_WINNT >= 0x0500)
  2918. #define AddFontResourceEx AddFontResourceExW
  2919. #endif
  2920. #define CopyEnhMetaFile CopyEnhMetaFileW
  2921. #define CopyMetaFile CopyMetaFileW
  2922. #define CreateDC CreateDCW
  2923. #define CreateEnhMetaFile CreateEnhMetaFileW
  2924. #define CreateFont CreateFontW
  2925. #define CreateFontIndirect CreateFontIndirectW
  2926. #define CreateIC CreateICW
  2927. #define CreateMetaFile CreateMetaFileW
  2928. #define CreateScalableFontResource CreateScalableFontResourceW
  2929. #define DeviceCapabilities DeviceCapabilitiesW
  2930. #define EnumFontFamilies EnumFontFamiliesW
  2931. #define EnumFontFamiliesEx EnumFontFamiliesExW
  2932. #define EnumFonts EnumFontsW
  2933. #define EnumICMProfiles EnumICMProfilesW
  2934. #define ExtTextOut ExtTextOutW
  2935. #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
  2936. #define GetCharABCWidths GetCharABCWidthsW
  2937. #define GetCharacterPlacement GetCharacterPlacementW
  2938. #define GetCharWidth32 GetCharWidth32W
  2939. #define GetCharWidthFloat GetCharWidthFloatW
  2940. #define GetCharWidth GetCharWidthW
  2941. #define GetEnhMetaFile GetEnhMetaFileW
  2942. #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
  2943. #define GetGlyphOutline GetGlyphOutlineW
  2944. #define GetICMProfile GetICMProfileW
  2945. #define GetKerningPairs GetKerningPairsW
  2946. #define GetLogColorSpace GetLogColorSpaceW
  2947. #define GetMetaFile GetMetaFileW
  2948. #define GetObject GetObjectW
  2949. #define GetOutlineTextMetrics GetOutlineTextMetricsW
  2950. #define GetTextExtentPoint GetTextExtentPointW
  2951. #define GetTextExtentExPoint GetTextExtentExPointW
  2952. #define GetTextExtentPoint32 GetTextExtentPoint32W
  2953. #define GetTextFace GetTextFaceW
  2954. #define GetTextMetrics GetTextMetricsW
  2955. #define PolyTextOut PolyTextOutW
  2956. #define RemoveFontResource RemoveFontResourceW
  2957. #if (_WIN32_WINNT >= 0x0500)
  2958. #define RemoveFontResourceEx RemoveFontResourceExW
  2959. #endif
  2960. #define ResetDC ResetDCW
  2961. #define SetICMProfile SetICMProfileW
  2962. #define StartDoc StartDocW
  2963. #define TextOut TextOutW
  2964. #define UpdateICMRegKey UpdateICMRegKeyW
  2965. #define wglUseFontBitmaps wglUseFontBitmapsW
  2966. #define wglUseFontOutlines wglUseFontOutlinesW
  2967. #if (_WIN32_WINNT >= 0x0500)
  2968. #define GetGlyphIndices  GetGlyphIndicesW
  2969. #endif
  2970. #else  /* UNICODE */
  2971. typedef BYTE BCHAR;
  2972. typedef DOCINFOA DOCINFO, *LPDOCINFO;
  2973. typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
  2974. typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
  2975. #define ICMENUMPROC ICMENUMPROCA
  2976. #define FONTENUMPROC FONTENUMPROCA
  2977. typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
  2978. #if _WIN32_WINNT >= 0x0500
  2979. typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
  2980. typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
  2981. typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
  2982. #endif
  2983. typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
  2984. typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
  2985. typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
  2986. typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
  2987. typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
  2988. typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
  2989. typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
  2990. typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
  2991. typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
  2992. typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
  2993. #define AddFontResource AddFontResourceA
  2994. #if (_WIN32_WINNT >= 0x0500)
  2995. #define AddFontResourceEx AddFontResourceExA
  2996. #endif
  2997. #define CopyEnhMetaFile CopyEnhMetaFileA
  2998. #define CopyMetaFile CopyMetaFileA
  2999. #define CreateDC CreateDCA
  3000. #define CreateEnhMetaFile CreateEnhMetaFileA
  3001. #define CreateFont CreateFontA
  3002. #define CreateFontIndirect CreateFontIndirectA
  3003. #define CreateIC CreateICA
  3004. #define CreateMetaFile CreateMetaFileA
  3005. #define CreateScalableFontResource CreateScalableFontResourceA
  3006. #define DeviceCapabilities DeviceCapabilitiesA
  3007. #define EnumFontFamilies EnumFontFamiliesA
  3008. #define EnumFontFamiliesEx EnumFontFamiliesExA
  3009. #define EnumFonts EnumFontsA
  3010. #define EnumICMProfiles EnumICMProfilesA
  3011. #define ExtTextOut ExtTextOutA
  3012. #define GetCharWidthFloat GetCharWidthFloatA
  3013. #define GetCharWidth GetCharWidthA
  3014. #define GetCharacterPlacement GetCharacterPlacementA
  3015. #define GetCharABCWidths GetCharABCWidthsA
  3016. #define GetCharABCWidthsFloat GetCharABCWidthsFloatA
  3017. #define GetCharWidth32 GetCharWidth32A
  3018. #define GetEnhMetaFile GetEnhMetaFileA
  3019. #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
  3020. #define GetGlyphOutline GetGlyphOutlineA
  3021. #define GetICMProfile GetICMProfileA
  3022. #define GetKerningPairs GetKerningPairsA
  3023. #define GetLogColorSpace GetLogColorSpaceA
  3024. #define GetMetaFile GetMetaFileA
  3025. #define GetObject GetObjectA
  3026. #define GetOutlineTextMetrics GetOutlineTextMetricsA
  3027. #define GetTextExtentPoint GetTextExtentPointA
  3028. #define GetTextExtentExPoint GetTextExtentExPointA
  3029. #define GetTextExtentPoint32 GetTextExtentPoint32A
  3030. #define GetTextFace GetTextFaceA
  3031. #define GetTextMetrics GetTextMetricsA
  3032. #define PolyTextOut PolyTextOutA
  3033. #define RemoveFontResource RemoveFontResourceA
  3034. #if (_WIN32_WINNT >= 0x0500)
  3035. #define RemoveFontResourceEx RemoveFontResourceExA
  3036. #endif
  3037. #define ResetDC ResetDCA
  3038. #define SetICMProfile SetICMProfileA
  3039. #define StartDoc StartDocA
  3040. #define TextOut TextOutA
  3041. #define UpdateICMRegKey UpdateICMRegKeyA
  3042. #define wglUseFontBitmaps wglUseFontBitmapsA
  3043. #define wglUseFontOutlines wglUseFontOutlinesA
  3044. #if (_WIN32_WINNT >= 0x0500)
  3045. #define GetGlyphIndices  GetGlyphIndicesA
  3046. #endif
  3047. #endif /* UNICODE */
  3048. #endif /* RC_INVOKED */
  3049. #ifdef __cplusplus
  3050. }
  3051. #endif
  3052. #endif
  3053.