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