Add .gitattributes and .gitignore files and normalize line endings in the repository...
[reactos.git] / sdk / include / psdk / gdiplusenums.h
1 /*
2 * Copyright (C) 2007 Google (Evan Stade)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #ifndef _GDIPLUSENUMS_H
20 #define _GDIPLUSENUMS_H
21
22 typedef UINT GraphicsState;
23 typedef UINT GraphicsContainer;
24
25 enum Unit
26 {
27 UnitWorld = 0,
28 UnitDisplay = 1,
29 UnitPixel = 2,
30 UnitPoint = 3,
31 UnitInch = 4,
32 UnitDocument = 5,
33 UnitMillimeter = 6
34 };
35
36 enum BrushType
37 {
38 BrushTypeSolidColor = 0,
39 BrushTypeHatchFill = 1,
40 BrushTypeTextureFill = 2,
41 BrushTypePathGradient = 3,
42 BrushTypeLinearGradient = 4
43 };
44
45 enum DriverStringOptions
46 {
47 DriverStringOptionsCmapLookup = 1,
48 DriverStringOptionsVertical = 2,
49 DriverStringOptionsRealizedAdvance = 4,
50 DriverStringOptionsLimitSubpixel = 8
51 };
52
53 enum FillMode
54 {
55 FillModeAlternate = 0,
56 FillModeWinding = 1
57 };
58
59 enum LineCap
60 {
61 LineCapFlat = 0x00,
62 LineCapSquare = 0x01,
63 LineCapRound = 0x02,
64 LineCapTriangle = 0x03,
65
66 LineCapNoAnchor = 0x10,
67 LineCapSquareAnchor = 0x11,
68 LineCapRoundAnchor = 0x12,
69 LineCapDiamondAnchor = 0x13,
70 LineCapArrowAnchor = 0x14,
71
72 LineCapCustom = 0xff,
73 LineCapAnchorMask = 0xf0
74 };
75
76 enum CustomLineCapType
77 {
78 CustomLineCapTypeDefault = 0,
79 CustomLineCapTypeAdjustableArrow = 1
80 };
81
82 enum PathPointType{
83 PathPointTypeStart = 0, /* start of a figure */
84 PathPointTypeLine = 1,
85 PathPointTypeBezier = 3,
86 PathPointTypePathTypeMask = 7,
87 PathPointTypePathDashMode = 16, /* not used */
88 PathPointTypePathMarker = 32,
89 PathPointTypeCloseSubpath = 128, /* end of a closed figure */
90 PathPointTypeBezier3 = 3
91 };
92
93 enum PenType
94 {
95 PenTypeSolidColor = BrushTypeSolidColor,
96 PenTypeHatchFill = BrushTypeHatchFill,
97 PenTypeTextureFill = BrushTypeTextureFill,
98 PenTypePathGradient = BrushTypePathGradient,
99 PenTypeLinearGradient = BrushTypeLinearGradient,
100 PenTypeUnknown = -1
101 };
102
103 enum LineJoin
104 {
105 LineJoinMiter = 0,
106 LineJoinBevel = 1,
107 LineJoinRound = 2,
108 LineJoinMiterClipped = 3
109 };
110
111 enum QualityMode
112 {
113 QualityModeInvalid = -1,
114 QualityModeDefault = 0,
115 QualityModeLow = 1,
116 QualityModeHigh = 2
117 };
118
119 enum SmoothingMode
120 {
121 SmoothingModeInvalid = QualityModeInvalid,
122 SmoothingModeDefault = QualityModeDefault,
123 SmoothingModeHighSpeed = QualityModeLow,
124 SmoothingModeHighQuality = QualityModeHigh,
125 SmoothingModeNone,
126 SmoothingModeAntiAlias
127 };
128
129 enum CompositingQuality
130 {
131 CompositingQualityInvalid = QualityModeInvalid,
132 CompositingQualityDefault = QualityModeDefault,
133 CompositingQualityHighSpeed = QualityModeLow,
134 CompositingQualityHighQuality = QualityModeHigh,
135 CompositingQualityGammaCorrected,
136 CompositingQualityAssumeLinear
137 };
138
139 enum InterpolationMode
140 {
141 InterpolationModeInvalid = QualityModeInvalid,
142 InterpolationModeDefault = QualityModeDefault,
143 InterpolationModeLowQuality = QualityModeLow,
144 InterpolationModeHighQuality = QualityModeHigh,
145 InterpolationModeBilinear,
146 InterpolationModeBicubic,
147 InterpolationModeNearestNeighbor,
148 InterpolationModeHighQualityBilinear,
149 InterpolationModeHighQualityBicubic
150 };
151
152 enum PenAlignment
153 {
154 PenAlignmentCenter = 0,
155 PenAlignmentInset = 1
156 };
157
158 enum PixelOffsetMode
159 {
160 PixelOffsetModeInvalid = QualityModeInvalid,
161 PixelOffsetModeDefault = QualityModeDefault,
162 PixelOffsetModeHighSpeed = QualityModeLow,
163 PixelOffsetModeHighQuality = QualityModeHigh,
164 PixelOffsetModeNone,
165 PixelOffsetModeHalf
166 };
167
168 enum DashCap
169 {
170 DashCapFlat = 0,
171 DashCapRound = 2,
172 DashCapTriangle = 3
173 };
174
175 enum DashStyle
176 {
177 DashStyleSolid,
178 DashStyleDash,
179 DashStyleDot,
180 DashStyleDashDot,
181 DashStyleDashDotDot,
182 DashStyleCustom
183 };
184
185 enum MatrixOrder
186 {
187 MatrixOrderPrepend = 0,
188 MatrixOrderAppend = 1
189 };
190
191 enum ImageType
192 {
193 ImageTypeUnknown,
194 ImageTypeBitmap,
195 ImageTypeMetafile
196 };
197
198 enum WarpMode {
199 WarpModePerspective,
200 WarpModeBilinear
201 };
202
203 enum WrapMode
204 {
205 WrapModeTile,
206 WrapModeTileFlipX,
207 WrapModeTileFlipY,
208 WrapModeTileFlipXY,
209 WrapModeClamp
210 };
211
212 enum MetafileType
213 {
214 MetafileTypeInvalid,
215 MetafileTypeWmf,
216 MetafileTypeWmfPlaceable,
217 MetafileTypeEmf,
218 MetafileTypeEmfPlusOnly,
219 MetafileTypeEmfPlusDual
220 };
221
222 enum LinearGradientMode
223 {
224 LinearGradientModeHorizontal,
225 LinearGradientModeVertical,
226 LinearGradientModeForwardDiagonal,
227 LinearGradientModeBackwardDiagonal
228 };
229
230 enum EmfType
231 {
232 EmfTypeEmfOnly = MetafileTypeEmf,
233 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
234 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
235 };
236
237 enum EmfToWmfBitsFlags
238 {
239 EmfToWmfBitsFlagsDefault = 0,
240 EmfToWmfBitsFlagsEmbedEmf = 1,
241 EmfToWmfBitsFlagsIncludePlaceable = 2,
242 EmfToWmfBitsFlagsNoXORClip = 4
243 };
244
245 enum CompositingMode
246 {
247 CompositingModeSourceOver,
248 CompositingModeSourceCopy
249 };
250
251 enum TextRenderingHint
252 {
253 TextRenderingHintSystemDefault = 0,
254 TextRenderingHintSingleBitPerPixelGridFit,
255 TextRenderingHintSingleBitPerPixel,
256 TextRenderingHintAntiAliasGridFit,
257 TextRenderingHintAntiAlias,
258 TextRenderingHintClearTypeGridFit
259 };
260
261 enum StringAlignment
262 {
263 StringAlignmentNear = 0,
264 StringAlignmentCenter = 1,
265 StringAlignmentFar = 2
266 };
267
268 enum StringDigitSubstitute
269 {
270 StringDigitSubstituteUser = 0,
271 StringDigitSubstituteNone = 1,
272 StringDigitSubstituteNational = 2,
273 StringDigitSubstituteTraditional = 3
274 };
275
276 enum StringFormatFlags
277 {
278 StringFormatFlagsDirectionRightToLeft = 0x00000001,
279 StringFormatFlagsDirectionVertical = 0x00000002,
280 StringFormatFlagsNoFitBlackBox = 0x00000004,
281 StringFormatFlagsDisplayFormatControl = 0x00000020,
282 StringFormatFlagsNoFontFallback = 0x00000400,
283 StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
284 StringFormatFlagsNoWrap = 0x00001000,
285 StringFormatFlagsLineLimit = 0x00002000,
286 StringFormatFlagsNoClip = 0x00004000
287 };
288
289 enum StringTrimming
290 {
291 StringTrimmingNone = 0,
292 StringTrimmingCharacter = 1,
293 StringTrimmingWord = 2,
294 StringTrimmingEllipsisCharacter = 3,
295 StringTrimmingEllipsisWord = 4,
296 StringTrimmingEllipsisPath = 5
297 };
298
299 enum FontStyle
300 {
301 FontStyleRegular = 0,
302 FontStyleBold = 1,
303 FontStyleItalic = 2,
304 FontStyleBoldItalic = 3,
305 FontStyleUnderline = 4,
306 FontStyleStrikeout = 8
307 };
308
309 enum HotkeyPrefix
310 {
311 HotkeyPrefixNone = 0,
312 HotkeyPrefixShow = 1,
313 HotkeyPrefixHide = 2
314 };
315
316 enum ImageCodecFlags
317 {
318 ImageCodecFlagsEncoder = 1,
319 ImageCodecFlagsDecoder = 2,
320 ImageCodecFlagsSupportBitmap = 4,
321 ImageCodecFlagsSupportVector = 8,
322 ImageCodecFlagsSeekableEncode = 16,
323 ImageCodecFlagsBlockingDecode = 32,
324 ImageCodecFlagsBuiltin = 65536,
325 ImageCodecFlagsSystem = 131072,
326 ImageCodecFlagsUser = 262144
327 };
328
329 enum ImageFlags
330 {
331 ImageFlagsNone = 0,
332 ImageFlagsScalable = 0x0001,
333 ImageFlagsHasAlpha = 0x0002,
334 ImageFlagsHasTranslucent = 0x0004,
335 ImageFlagsPartiallyScalable = 0x0008,
336 ImageFlagsColorSpaceRGB = 0x0010,
337 ImageFlagsColorSpaceCMYK = 0x0020,
338 ImageFlagsColorSpaceGRAY = 0x0040,
339 ImageFlagsColorSpaceYCBCR = 0x0080,
340 ImageFlagsColorSpaceYCCK = 0x0100,
341 ImageFlagsHasRealDPI = 0x1000,
342 ImageFlagsHasRealPixelSize = 0x2000,
343 ImageFlagsReadOnly = 0x00010000,
344 ImageFlagsCaching = 0x00020000
345 };
346
347 enum CombineMode
348 {
349 CombineModeReplace,
350 CombineModeIntersect,
351 CombineModeUnion,
352 CombineModeXor,
353 CombineModeExclude,
354 CombineModeComplement
355 };
356
357 enum FlushIntention
358 {
359 FlushIntentionFlush = 0,
360 FlushIntentionSync = 1
361 };
362
363 enum CoordinateSpace
364 {
365 CoordinateSpaceWorld,
366 CoordinateSpacePage,
367 CoordinateSpaceDevice
368 };
369
370 enum GpTestControlEnum
371 {
372 TestControlForceBilinear = 0,
373 TestControlNoICM = 1,
374 TestControlGetBuildNumber = 2
375 };
376
377 enum MetafileFrameUnit
378 {
379 MetafileFrameUnitPixel = UnitPixel,
380 MetafileFrameUnitPoint = UnitPoint,
381 MetafileFrameUnitInch = UnitInch,
382 MetafileFrameUnitDocument = UnitDocument,
383 MetafileFrameUnitMillimeter = UnitMillimeter,
384 MetafileFrameUnitGdi
385 };
386
387 enum HatchStyle
388 {
389 HatchStyleHorizontal = 0,
390 HatchStyleVertical = 1,
391 HatchStyleForwardDiagonal = 2,
392 HatchStyleBackwardDiagonal = 3,
393 HatchStyleCross = 4,
394 HatchStyleDiagonalCross = 5,
395 HatchStyle05Percent = 6,
396 HatchStyle10Percent = 7,
397 HatchStyle20Percent = 8,
398 HatchStyle25Percent = 9,
399 HatchStyle30Percent = 10,
400 HatchStyle40Percent = 11,
401 HatchStyle50Percent = 12,
402 HatchStyle60Percent = 13,
403 HatchStyle70Percent = 14,
404 HatchStyle75Percent = 15,
405 HatchStyle80Percent = 16,
406 HatchStyle90Percent = 17,
407 HatchStyleLightDownwardDiagonal = 18,
408 HatchStyleLightUpwardDiagonal = 19,
409 HatchStyleDarkDownwardDiagonal = 20,
410 HatchStyleDarkUpwardDiagonal = 21,
411 HatchStyleWideDownwardDiagonal = 22,
412 HatchStyleWideUpwardDiagonal = 23,
413 HatchStyleLightVertical = 24,
414 HatchStyleLightHorizontal = 25,
415 HatchStyleNarrowVertical = 26,
416 HatchStyleNarrowHorizontal = 27,
417 HatchStyleDarkVertical = 28,
418 HatchStyleDarkHorizontal = 29,
419 HatchStyleDashedDownwardDiagonal = 30,
420 HatchStyleDashedUpwardDiagonal = 31,
421 HatchStyleDashedHorizontal = 32,
422 HatchStyleDashedVertical = 33,
423 HatchStyleSmallConfetti = 34,
424 HatchStyleLargeConfetti = 35,
425 HatchStyleZigZag = 36,
426 HatchStyleWave = 37,
427 HatchStyleDiagonalBrick = 38,
428 HatchStyleHorizontalBrick = 39,
429 HatchStyleWeave = 40,
430 HatchStylePlaid = 41,
431 HatchStyleDivot = 42,
432 HatchStyleDottedGrid = 43,
433 HatchStyleDottedDiamond = 44,
434 HatchStyleShingle = 45,
435 HatchStyleTrellis = 46,
436 HatchStyleSphere = 47,
437 HatchStyleSmallGrid = 48,
438 HatchStyleSmallCheckerBoard = 49,
439 HatchStyleLargeCheckerBoard = 50,
440 HatchStyleOutlinedDiamond = 51,
441 HatchStyleSolidDiamond = 52,
442 HatchStyleTotal = 53,
443 HatchStyleLargeGrid = HatchStyleCross,
444 HatchStyleMin = HatchStyleHorizontal,
445 HatchStyleMax = HatchStyleTotal - 1
446 };
447
448 #define GDIP_EMFPLUS_RECORD_BASE 0x00004000
449 #define GDIP_WMF_RECORD_BASE 0x00010000
450 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((x)|GDIP_WMF_RECORD_BASE)
451
452 enum EmfPlusRecordType {
453 WmfRecordTypeSetBkColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR),
454 WmfRecordTypeSetBkMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE),
455 WmfRecordTypeSetMapMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE),
456 WmfRecordTypeSetROP2 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2),
457 WmfRecordTypeSetRelAbs = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS),
458 WmfRecordTypeSetPolyFillMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE),
459 WmfRecordTypeSetStretchBltMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE),
460 WmfRecordTypeSetTextCharExtra = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA),
461 WmfRecordTypeSetTextColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR),
462 WmfRecordTypeSetTextJustification = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION),
463 WmfRecordTypeSetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG),
464 WmfRecordTypeSetWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT),
465 WmfRecordTypeSetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG),
466 WmfRecordTypeSetViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT),
467 WmfRecordTypeOffsetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG),
468 WmfRecordTypeScaleWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT),
469 WmfRecordTypeOffsetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG),
470 WmfRecordTypeScaleViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT),
471 WmfRecordTypeLineTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO),
472 WmfRecordTypeMoveTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO),
473 WmfRecordTypeExcludeClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT),
474 WmfRecordTypeIntersectClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT),
475 WmfRecordTypeArc = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC),
476 WmfRecordTypeEllipse = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE),
477 WmfRecordTypeFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL),
478 WmfRecordTypePie = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE),
479 WmfRecordTypeRectangle = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE),
480 WmfRecordTypeRoundRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT),
481 WmfRecordTypePatBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT),
482 WmfRecordTypeSaveDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC),
483 WmfRecordTypeSetPixel = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL),
484 WmfRecordTypeOffsetClipRgn = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN),
485 WmfRecordTypeTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT),
486 WmfRecordTypeBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT),
487 WmfRecordTypeStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT),
488 WmfRecordTypePolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON),
489 WmfRecordTypePolyline = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE),
490 WmfRecordTypeEscape = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE),
491 WmfRecordTypeRestoreDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC),
492 WmfRecordTypeFillRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION),
493 WmfRecordTypeFrameRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION),
494 WmfRecordTypeInvertRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION),
495 WmfRecordTypePaintRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION),
496 WmfRecordTypeSelectClipRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION),
497 WmfRecordTypeSelectObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT),
498 WmfRecordTypeSetTextAlign = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN),
499 WmfRecordTypeDrawText = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F),
500 WmfRecordTypeChord = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD),
501 WmfRecordTypeSetMapperFlags = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS),
502 WmfRecordTypeExtTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT),
503 WmfRecordTypeSetDIBToDev = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV),
504 WmfRecordTypeSelectPalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE),
505 WmfRecordTypeRealizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE),
506 WmfRecordTypeAnimatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE),
507 WmfRecordTypeSetPalEntries = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES),
508 WmfRecordTypePolyPolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON),
509 WmfRecordTypeResizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE),
510 WmfRecordTypeDIBBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT),
511 WmfRecordTypeDIBStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT),
512 WmfRecordTypeDIBCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH),
513 WmfRecordTypeStretchDIB = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB),
514 WmfRecordTypeExtFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL),
515 WmfRecordTypeSetLayout = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149),
516 WmfRecordTypeResetDC = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C),
517 WmfRecordTypeStartDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D),
518 WmfRecordTypeStartPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F),
519 WmfRecordTypeEndPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050),
520 WmfRecordTypeAbortDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052),
521 WmfRecordTypeEndDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E),
522 WmfRecordTypeDeleteObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT),
523 WmfRecordTypeCreatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE),
524 WmfRecordTypeCreateBrush = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8),
525 WmfRecordTypeCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH),
526 WmfRecordTypeCreatePenIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT),
527 WmfRecordTypeCreateFontIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT),
528 WmfRecordTypeCreateBrushIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT),
529 WmfRecordTypeCreateBitmapIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD),
530 WmfRecordTypeCreateBitmap = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE),
531 WmfRecordTypeCreateRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION),
532 EmfRecordTypeHeader = EMR_HEADER,
533 EmfRecordTypePolyBezier = EMR_POLYBEZIER,
534 EmfRecordTypePolygon = EMR_POLYGON,
535 EmfRecordTypePolyline = EMR_POLYLINE,
536 EmfRecordTypePolyBezierTo = EMR_POLYBEZIERTO,
537 EmfRecordTypePolyLineTo = EMR_POLYLINETO,
538 EmfRecordTypePolyPolyline = EMR_POLYPOLYLINE,
539 EmfRecordTypePolyPolygon = EMR_POLYPOLYGON,
540 EmfRecordTypeSetWindowExtEx = EMR_SETWINDOWEXTEX,
541 EmfRecordTypeSetWindowOrgEx = EMR_SETWINDOWORGEX,
542 EmfRecordTypeSetViewportExtEx = EMR_SETVIEWPORTEXTEX,
543 EmfRecordTypeSetViewportOrgEx = EMR_SETVIEWPORTORGEX,
544 EmfRecordTypeSetBrushOrgEx = EMR_SETBRUSHORGEX,
545 EmfRecordTypeEOF = EMR_EOF,
546 EmfRecordTypeSetPixelV = EMR_SETPIXELV,
547 EmfRecordTypeSetMapperFlags = EMR_SETMAPPERFLAGS,
548 EmfRecordTypeSetMapMode = EMR_SETMAPMODE,
549 EmfRecordTypeSetBkMode = EMR_SETBKMODE,
550 EmfRecordTypeSetPolyFillMode = EMR_SETPOLYFILLMODE,
551 EmfRecordTypeSetROP2 = EMR_SETROP2,
552 EmfRecordTypeSetStretchBltMode = EMR_SETSTRETCHBLTMODE,
553 EmfRecordTypeSetTextAlign = EMR_SETTEXTALIGN,
554 EmfRecordTypeSetColorAdjustment = EMR_SETCOLORADJUSTMENT,
555 EmfRecordTypeSetTextColor = EMR_SETTEXTCOLOR,
556 EmfRecordTypeSetBkColor = EMR_SETBKCOLOR,
557 EmfRecordTypeOffsetClipRgn = EMR_OFFSETCLIPRGN,
558 EmfRecordTypeMoveToEx = EMR_MOVETOEX,
559 EmfRecordTypeSetMetaRgn = EMR_SETMETARGN,
560 EmfRecordTypeExcludeClipRect = EMR_EXCLUDECLIPRECT,
561 EmfRecordTypeIntersectClipRect = EMR_INTERSECTCLIPRECT,
562 EmfRecordTypeScaleViewportExtEx = EMR_SCALEVIEWPORTEXTEX,
563 EmfRecordTypeScaleWindowExtEx = EMR_SCALEWINDOWEXTEX,
564 EmfRecordTypeSaveDC = EMR_SAVEDC,
565 EmfRecordTypeRestoreDC = EMR_RESTOREDC,
566 EmfRecordTypeSetWorldTransform = EMR_SETWORLDTRANSFORM,
567 EmfRecordTypeModifyWorldTransform = EMR_MODIFYWORLDTRANSFORM,
568 EmfRecordTypeSelectObject = EMR_SELECTOBJECT,
569 EmfRecordTypeCreatePen = EMR_CREATEPEN,
570 EmfRecordTypeCreateBrushIndirect = EMR_CREATEBRUSHINDIRECT,
571 EmfRecordTypeDeleteObject = EMR_DELETEOBJECT,
572 EmfRecordTypeAngleArc = EMR_ANGLEARC,
573 EmfRecordTypeEllipse = EMR_ELLIPSE,
574 EmfRecordTypeRectangle = EMR_RECTANGLE,
575 EmfRecordTypeRoundRect = EMR_ROUNDRECT,
576 EmfRecordTypeArc = EMR_ARC,
577 EmfRecordTypeChord = EMR_CHORD,
578 EmfRecordTypePie = EMR_PIE,
579 EmfRecordTypeSelectPalette = EMR_SELECTPALETTE,
580 EmfRecordTypeCreatePalette = EMR_CREATEPALETTE,
581 EmfRecordTypeSetPaletteEntries = EMR_SETPALETTEENTRIES,
582 EmfRecordTypeResizePalette = EMR_RESIZEPALETTE,
583 EmfRecordTypeRealizePalette = EMR_REALIZEPALETTE,
584 EmfRecordTypeExtFloodFill = EMR_EXTFLOODFILL,
585 EmfRecordTypeLineTo = EMR_LINETO,
586 EmfRecordTypeArcTo = EMR_ARCTO,
587 EmfRecordTypePolyDraw = EMR_POLYDRAW,
588 EmfRecordTypeSetArcDirection = EMR_SETARCDIRECTION,
589 EmfRecordTypeSetMiterLimit = EMR_SETMITERLIMIT,
590 EmfRecordTypeBeginPath = EMR_BEGINPATH,
591 EmfRecordTypeEndPath = EMR_ENDPATH,
592 EmfRecordTypeCloseFigure = EMR_CLOSEFIGURE,
593 EmfRecordTypeFillPath = EMR_FILLPATH,
594 EmfRecordTypeStrokeAndFillPath = EMR_STROKEANDFILLPATH,
595 EmfRecordTypeStrokePath = EMR_STROKEPATH,
596 EmfRecordTypeFlattenPath = EMR_FLATTENPATH,
597 EmfRecordTypeWidenPath = EMR_WIDENPATH,
598 EmfRecordTypeSelectClipPath = EMR_SELECTCLIPPATH,
599 EmfRecordTypeAbortPath = EMR_ABORTPATH,
600 EmfRecordTypeReserved_069 = 69,
601 EmfRecordTypeGdiComment = EMR_GDICOMMENT,
602 EmfRecordTypeFillRgn = EMR_FILLRGN,
603 EmfRecordTypeFrameRgn = EMR_FRAMERGN,
604 EmfRecordTypeInvertRgn = EMR_INVERTRGN,
605 EmfRecordTypePaintRgn = EMR_PAINTRGN,
606 EmfRecordTypeExtSelectClipRgn = EMR_EXTSELECTCLIPRGN,
607 EmfRecordTypeBitBlt = EMR_BITBLT,
608 EmfRecordTypeStretchBlt = EMR_STRETCHBLT,
609 EmfRecordTypeMaskBlt = EMR_MASKBLT,
610 EmfRecordTypePlgBlt = EMR_PLGBLT,
611 EmfRecordTypeSetDIBitsToDevice = 80,
612 EmfRecordTypeStretchDIBits = EMR_STRETCHDIBITS,
613 EmfRecordTypeExtCreateFontIndirect = EMR_EXTCREATEFONTINDIRECTW,
614 EmfRecordTypeExtTextOutA = EMR_EXTTEXTOUTA,
615 EmfRecordTypeExtTextOutW = EMR_EXTTEXTOUTW,
616 EmfRecordTypePolyBezier16 = EMR_POLYBEZIER16,
617 EmfRecordTypePolygon16 = EMR_POLYGON16,
618 EmfRecordTypePolyline16 = EMR_POLYLINE16,
619 EmfRecordTypePolyBezierTo16 = EMR_POLYBEZIERTO16,
620 EmfRecordTypePolylineTo16 = EMR_POLYLINETO16,
621 EmfRecordTypePolyPolyline16 = EMR_POLYPOLYLINE16,
622 EmfRecordTypePolyPolygon16 = EMR_POLYPOLYGON16,
623 EmfRecordTypePolyDraw16 = EMR_POLYDRAW16,
624 EmfRecordTypeCreateMonoBrush = EMR_CREATEMONOBRUSH,
625 EmfRecordTypeCreateDIBPatternBrushPt = EMR_CREATEDIBPATTERNBRUSHPT,
626 EmfRecordTypeExtCreatePen = EMR_EXTCREATEPEN,
627 EmfRecordTypePolyTextOutA = EMR_POLYTEXTOUTA,
628 EmfRecordTypePolyTextOutW = EMR_POLYTEXTOUTW,
629 EmfRecordTypeSetICMMode = 98,
630 EmfRecordTypeCreateColorSpace = 99,
631 EmfRecordTypeSetColorSpace = 100,
632 EmfRecordTypeDeleteColorSpace = 101,
633 EmfRecordTypeGLSRecord = 102,
634 EmfRecordTypeGLSBoundedRecord = 103,
635 EmfRecordTypePixelFormat = 104,
636 EmfRecordTypeDrawEscape = 105,
637 EmfRecordTypeExtEscape = 106,
638 EmfRecordTypeStartDoc = 107,
639 EmfRecordTypeSmallTextOut = 108,
640 EmfRecordTypeForceUFIMapping = 109,
641 EmfRecordTypeNamedEscape = 110,
642 EmfRecordTypeColorCorrectPalette = 111,
643 EmfRecordTypeSetICMProfileA = 112,
644 EmfRecordTypeSetICMProfileW = 113,
645 EmfRecordTypeAlphaBlend = 114,
646 EmfRecordTypeSetLayout = 115,
647 EmfRecordTypeTransparentBlt = 116,
648 EmfRecordTypeReserved_117 = 117,
649 EmfRecordTypeGradientFill = 118,
650 EmfRecordTypeSetLinkedUFIs = 119,
651 EmfRecordTypeSetTextJustification = 120,
652 EmfRecordTypeColorMatchToTargetW = 121,
653 EmfRecordTypeCreateColorSpaceW = 122,
654 EmfRecordTypeMax = 122,
655 EmfRecordTypeMin = 1,
656 EmfPlusRecordTypeInvalid = GDIP_EMFPLUS_RECORD_BASE,
657 EmfPlusRecordTypeHeader,
658 EmfPlusRecordTypeEndOfFile,
659 EmfPlusRecordTypeComment,
660 EmfPlusRecordTypeGetDC,
661 EmfPlusRecordTypeMultiFormatStart,
662 EmfPlusRecordTypeMultiFormatSection,
663 EmfPlusRecordTypeMultiFormatEnd,
664 EmfPlusRecordTypeObject,
665 EmfPlusRecordTypeClear,
666 EmfPlusRecordTypeFillRects,
667 EmfPlusRecordTypeDrawRects,
668 EmfPlusRecordTypeFillPolygon,
669 EmfPlusRecordTypeDrawLines,
670 EmfPlusRecordTypeFillEllipse,
671 EmfPlusRecordTypeDrawEllipse,
672 EmfPlusRecordTypeFillPie,
673 EmfPlusRecordTypeDrawPie,
674 EmfPlusRecordTypeDrawArc,
675 EmfPlusRecordTypeFillRegion,
676 EmfPlusRecordTypeFillPath,
677 EmfPlusRecordTypeDrawPath,
678 EmfPlusRecordTypeFillClosedCurve,
679 EmfPlusRecordTypeDrawClosedCurve,
680 EmfPlusRecordTypeDrawCurve,
681 EmfPlusRecordTypeDrawBeziers,
682 EmfPlusRecordTypeDrawImage,
683 EmfPlusRecordTypeDrawImagePoints,
684 EmfPlusRecordTypeDrawString,
685 EmfPlusRecordTypeSetRenderingOrigin,
686 EmfPlusRecordTypeSetAntiAliasMode,
687 EmfPlusRecordTypeSetTextRenderingHint,
688 EmfPlusRecordTypeSetTextContrast,
689 EmfPlusRecordTypeSetInterpolationMode,
690 EmfPlusRecordTypeSetPixelOffsetMode,
691 EmfPlusRecordTypeSetCompositingMode,
692 EmfPlusRecordTypeSetCompositingQuality,
693 EmfPlusRecordTypeSave,
694 EmfPlusRecordTypeRestore,
695 EmfPlusRecordTypeBeginContainer,
696 EmfPlusRecordTypeBeginContainerNoParams,
697 EmfPlusRecordTypeEndContainer,
698 EmfPlusRecordTypeSetWorldTransform,
699 EmfPlusRecordTypeResetWorldTransform,
700 EmfPlusRecordTypeMultiplyWorldTransform,
701 EmfPlusRecordTypeTranslateWorldTransform,
702 EmfPlusRecordTypeScaleWorldTransform,
703 EmfPlusRecordTypeRotateWorldTransform,
704 EmfPlusRecordTypeSetPageTransform,
705 EmfPlusRecordTypeResetClip,
706 EmfPlusRecordTypeSetClipRect,
707 EmfPlusRecordTypeSetClipPath,
708 EmfPlusRecordTypeSetClipRegion,
709 EmfPlusRecordTypeOffsetClip,
710 EmfPlusRecordTypeDrawDriverString,
711 EmfPlusRecordTypeStrokeFillPath,
712 EmfPlusRecordTypeSerializableObject,
713 EmfPlusRecordTypeSetTSGraphics,
714 EmfPlusRecordTypeSetTSClip,
715 EmfPlusRecordTotal,
716 EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,
717 EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
718 };
719
720 #define FlatnessDefault 0.25f
721
722 #ifndef __cplusplus
723
724 typedef enum Unit Unit;
725 typedef enum BrushType BrushType;
726 typedef enum DriverStringOptions DriverStringOptions;
727 typedef enum FillMode FillMode;
728 typedef enum LineCap LineCap;
729 typedef enum CustomLineCapType CustomLineCapType;
730 typedef enum PathPointType PathPointType;
731 typedef enum LineJoin LineJoin;
732 typedef enum QualityMode QualityMode;
733 typedef enum SmoothingMode SmoothingMode;
734 typedef enum CompositingQuality CompositingQuality;
735 typedef enum InterpolationMode InterpolationMode;
736 typedef enum PixelOffsetMode PixelOffsetMode;
737 typedef enum DashCap DashCap;
738 typedef enum DashStyle DashStyle;
739 typedef enum MatrixOrder MatrixOrder;
740 typedef enum ImageType ImageType;
741 typedef enum ImageFlags ImageFlags;
742 typedef enum WarpMode WarpMode;
743 typedef enum WrapMode WrapMode;
744 typedef enum MetafileType MetafileType;
745 typedef enum LinearGradientMode LinearGradientMode;
746 typedef enum EmfType EmfType;
747 typedef enum CompositingMode CompositingMode;
748 typedef enum TextRenderingHint TextRenderingHint;
749 typedef enum StringAlignment StringAlignment;
750 typedef enum StringDigitSubstitute StringDigitSubstitute;
751 typedef enum StringTrimming StringTrimming;
752 typedef enum FontStyle FontStyle;
753 typedef enum StringFormatFlags StringFormatFlags;
754 typedef enum HotkeyPrefix HotkeyPrefix;
755 typedef enum PenAlignment PenAlignment;
756 typedef enum PaletteFlags PaletteFlags;
757 typedef enum ImageCodecFlags ImageCodecFlags;
758 typedef enum CombineMode CombineMode;
759 typedef enum FlushIntention FlushIntention;
760 typedef enum CoordinateSpace CoordinateSpace;
761 typedef enum GpTestControlEnum GpTestControlEnum;
762 typedef enum MetafileFrameUnit MetafileFrameUnit;
763 typedef enum PenType PenType;
764 typedef enum HatchStyle HatchStyle;
765 typedef enum EmfPlusRecordType EmfPlusRecordType;
766
767 #endif /* end of c typedefs */
768
769 #undef GDIP_WMF_RECORD_TO_EMFPLUS
770 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((EmfPlusRecordType)((x)|GDIP_WMF_RECORD_BASE))
771
772 #endif