home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / Software / TemaCD / devc / _SETUP.5 / Group3 / wingdi.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  81KB  |  2,810 lines

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