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