1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 namespace System.Drawing.Imaging 6 { 7 /// <summary> 8 /// Specifies the methods available in a metafile to read and write graphic commands. 9 /// </summary> 10 public enum EmfPlusRecordType 11 { 12 WmfRecordBase = 0x00010000, 13 WmfSetBkColor = WmfRecordBase | 0x201, 14 WmfSetBkMode = WmfRecordBase | 0x102, 15 WmfSetMapMode = WmfRecordBase | 0x103, 16 WmfSetROP2 = WmfRecordBase | 0x104, 17 WmfSetRelAbs = WmfRecordBase | 0x105, 18 WmfSetPolyFillMode = WmfRecordBase | 0x106, 19 WmfSetStretchBltMode = WmfRecordBase | 0x107, 20 WmfSetTextCharExtra = WmfRecordBase | 0x108, 21 WmfSetTextColor = WmfRecordBase | 0x209, 22 WmfSetTextJustification = WmfRecordBase | 0x20A, 23 WmfSetWindowOrg = WmfRecordBase | 0x20B, 24 WmfSetWindowExt = WmfRecordBase | 0x20C, 25 WmfSetViewportOrg = WmfRecordBase | 0x20D, 26 WmfSetViewportExt = WmfRecordBase | 0x20E, 27 WmfOffsetWindowOrg = WmfRecordBase | 0x20F, 28 WmfScaleWindowExt = WmfRecordBase | 0x410, 29 WmfOffsetViewportOrg = WmfRecordBase | 0x211, 30 WmfScaleViewportExt = WmfRecordBase | 0x412, 31 WmfLineTo = WmfRecordBase | 0x213, 32 WmfMoveTo = WmfRecordBase | 0x214, 33 WmfExcludeClipRect = WmfRecordBase | 0x415, 34 WmfIntersectClipRect = WmfRecordBase | 0x416, 35 WmfArc = WmfRecordBase | 0x817, 36 WmfEllipse = WmfRecordBase | 0x418, 37 WmfFloodFill = WmfRecordBase | 0x419, 38 WmfPie = WmfRecordBase | 0x81A, 39 WmfRectangle = WmfRecordBase | 0x41B, 40 WmfRoundRect = WmfRecordBase | 0x61C, 41 WmfPatBlt = WmfRecordBase | 0x61D, 42 WmfSaveDC = WmfRecordBase | 0x01E, 43 WmfSetPixel = WmfRecordBase | 0x41F, 44 WmfOffsetCilpRgn = WmfRecordBase | 0x220, 45 WmfTextOut = WmfRecordBase | 0x521, 46 WmfBitBlt = WmfRecordBase | 0x922, 47 WmfStretchBlt = WmfRecordBase | 0xB23, 48 WmfPolygon = WmfRecordBase | 0x324, 49 WmfPolyline = WmfRecordBase | 0x325, 50 WmfEscape = WmfRecordBase | 0x626, 51 WmfRestoreDC = WmfRecordBase | 0x127, 52 WmfFillRegion = WmfRecordBase | 0x228, 53 WmfFrameRegion = WmfRecordBase | 0x429, 54 WmfInvertRegion = WmfRecordBase | 0x12A, 55 WmfPaintRegion = WmfRecordBase | 0x12B, 56 WmfSelectClipRegion = WmfRecordBase | 0x12C, 57 WmfSelectObject = WmfRecordBase | 0x12D, 58 WmfSetTextAlign = WmfRecordBase | 0x12E, 59 WmfChord = WmfRecordBase | 0x830, 60 WmfSetMapperFlags = WmfRecordBase | 0x231, 61 WmfExtTextOut = WmfRecordBase | 0xA32, 62 WmfSetDibToDev = WmfRecordBase | 0xD33, 63 WmfSelectPalette = WmfRecordBase | 0x234, 64 WmfRealizePalette = WmfRecordBase | 0x035, 65 WmfAnimatePalette = WmfRecordBase | 0x436, 66 WmfSetPalEntries = WmfRecordBase | 0x037, 67 WmfPolyPolygon = WmfRecordBase | 0x538, 68 WmfResizePalette = WmfRecordBase | 0x139, 69 WmfDibBitBlt = WmfRecordBase | 0x940, 70 WmfDibStretchBlt = WmfRecordBase | 0xb41, 71 WmfDibCreatePatternBrush = WmfRecordBase | 0x142, 72 WmfStretchDib = WmfRecordBase | 0xf43, 73 WmfExtFloodFill = WmfRecordBase | 0x548, 74 WmfSetLayout = WmfRecordBase | 0x149, // META_SETLAYOUT 75 WmfDeleteObject = WmfRecordBase | 0x1f0, 76 WmfCreatePalette = WmfRecordBase | 0x0f7, 77 WmfCreatePatternBrush = WmfRecordBase | 0x1f9, 78 WmfCreatePenIndirect = WmfRecordBase | 0x2fa, 79 WmfCreateFontIndirect = WmfRecordBase | 0x2fb, 80 WmfCreateBrushIndirect = WmfRecordBase | 0x2fc, 81 WmfCreateRegion = WmfRecordBase | 0x6ff, 82 83 // Since we have to enumerate GDI records right along with GDI+ records, 84 // we list all the GDI records here so that they can be part of the 85 // same enumeration type which is used in the enumeration callback. 86 87 EmfHeader = 1, 88 EmfPolyBezier = 2, 89 EmfPolygon = 3, 90 EmfPolyline = 4, 91 EmfPolyBezierTo = 5, 92 EmfPolyLineTo = 6, 93 EmfPolyPolyline = 7, 94 EmfPolyPolygon = 8, 95 EmfSetWindowExtEx = 9, 96 EmfSetWindowOrgEx = 10, 97 EmfSetViewportExtEx = 11, 98 EmfSetViewportOrgEx = 12, 99 EmfSetBrushOrgEx = 13, 100 EmfEof = 14, 101 EmfSetPixelV = 15, 102 EmfSetMapperFlags = 16, 103 EmfSetMapMode = 17, 104 EmfSetBkMode = 18, 105 EmfSetPolyFillMode = 19, 106 EmfSetROP2 = 20, 107 EmfSetStretchBltMode = 21, 108 EmfSetTextAlign = 22, 109 EmfSetColorAdjustment = 23, 110 EmfSetTextColor = 24, 111 EmfSetBkColor = 25, 112 EmfOffsetClipRgn = 26, 113 EmfMoveToEx = 27, 114 EmfSetMetaRgn = 28, 115 EmfExcludeClipRect = 29, 116 EmfIntersectClipRect = 30, 117 EmfScaleViewportExtEx = 31, 118 EmfScaleWindowExtEx = 32, 119 EmfSaveDC = 33, 120 EmfRestoreDC = 34, 121 EmfSetWorldTransform = 35, 122 EmfModifyWorldTransform = 36, 123 EmfSelectObject = 37, 124 EmfCreatePen = 38, 125 EmfCreateBrushIndirect = 39, 126 EmfDeleteObject = 40, 127 EmfAngleArc = 41, 128 EmfEllipse = 42, 129 EmfRectangle = 43, 130 EmfRoundRect = 44, 131 EmfRoundArc = 45, 132 EmfChord = 46, 133 EmfPie = 47, 134 EmfSelectPalette = 48, 135 EmfCreatePalette = 49, 136 EmfSetPaletteEntries = 50, 137 EmfResizePalette = 51, 138 EmfRealizePalette = 52, 139 EmfExtFloodFill = 53, 140 EmfLineTo = 54, 141 EmfArcTo = 55, 142 EmfPolyDraw = 56, 143 EmfSetArcDirection = 57, 144 EmfSetMiterLimit = 58, 145 EmfBeginPath = 59, 146 EmfEndPath = 60, 147 EmfCloseFigure = 61, 148 EmfFillPath = 62, 149 EmfStrokeAndFillPath = 63, 150 EmfStrokePath = 64, 151 EmfFlattenPath = 65, 152 EmfWidenPath = 66, 153 EmfSelectClipPath = 67, 154 EmfAbortPath = 68, 155 EmfReserved069 = 69, 156 EmfGdiComment = 70, 157 EmfFillRgn = 71, 158 EmfFrameRgn = 72, 159 EmfInvertRgn = 73, 160 EmfPaintRgn = 74, 161 EmfExtSelectClipRgn = 75, 162 EmfBitBlt = 76, 163 EmfStretchBlt = 77, 164 EmfMaskBlt = 78, 165 EmfPlgBlt = 79, 166 EmfSetDIBitsToDevice = 80, 167 EmfStretchDIBits = 81, 168 EmfExtCreateFontIndirect = 82, 169 EmfExtTextOutA = 83, 170 EmfExtTextOutW = 84, 171 EmfPolyBezier16 = 85, 172 EmfPolygon16 = 86, 173 EmfPolyline16 = 87, 174 EmfPolyBezierTo16 = 88, 175 EmfPolylineTo16 = 89, 176 EmfPolyPolyline16 = 90, 177 EmfPolyPolygon16 = 91, 178 EmfPolyDraw16 = 92, 179 EmfCreateMonoBrush = 93, 180 EmfCreateDibPatternBrushPt = 94, 181 EmfExtCreatePen = 95, 182 EmfPolyTextOutA = 96, 183 EmfPolyTextOutW = 97, 184 EmfSetIcmMode = 98, // EMR_SETICMMODE, 185 EmfCreateColorSpace = 99, // EMR_CREATECOLORSPACE, 186 EmfSetColorSpace = 100, // EMR_SETCOLORSPACE, 187 EmfDeleteColorSpace = 101, // EMR_DELETECOLORSPACE, 188 EmfGlsRecord = 102, // EMR_GLSRECORD, 189 EmfGlsBoundedRecord = 103, // EMR_GLSBOUNDEDRECORD, 190 EmfPixelFormat = 104, // EMR_PIXELFORMAT, 191 EmfDrawEscape = 105, // EMR_RESERVED_105, 192 EmfExtEscape = 106, // EMR_RESERVED_106, 193 EmfStartDoc = 107, // EMR_RESERVED_107, 194 EmfSmallTextOut = 108, // EMR_RESERVED_108, 195 EmfForceUfiMapping = 109, // EMR_RESERVED_109, 196 EmfNamedEscpae = 110, // EMR_RESERVED_110, 197 EmfColorCorrectPalette = 111, // EMR_COLORCORRECTPALETTE, 198 EmfSetIcmProfileA = 112, // EMR_SETICMPROFILEA, 199 EmfSetIcmProfileW = 113, // EMR_SETICMPROFILEW, 200 EmfAlphaBlend = 114, // EMR_ALPHABLEND, 201 EmfSetLayout = 115, // EMR_SETLAYOUT, 202 EmfTransparentBlt = 116, // EMR_TRANSPARENTBLT, 203 EmfReserved117 = 117, 204 EmfGradientFill = 118, // EMR_GRADIENTFILL, 205 EmfSetLinkedUfis = 119, // EMR_RESERVED_119, 206 EmfSetTextJustification = 120, // EMR_RESERVED_120, 207 EmfColorMatchToTargetW = 121, // EMR_COLORMATCHTOTARGETW, 208 EmfCreateColorSpaceW = 122, // EMR_CREATECOLORSPACEW, 209 EmfMax = 122, 210 EmfMin = 1, 211 212 // That is the END of the GDI EMF records. 213 214 // Now we start the list of EMF+ records. We leave quite 215 // a bit of room here for the addition of any new GDI 216 // records that may be added later. 217 218 EmfPlusRecordBase = 0x00004000, 219 Invalid = EmfPlusRecordBase, 220 Header, 221 EndOfFile, 222 223 Comment, 224 225 GetDC, // the application grabbed the metafile dc 226 227 MultiFormatStart, 228 MultiFormatSection, 229 MultiFormatEnd, 230 231 // For all Persistent Objects 232 Object, 233 // Drawing Records 234 Clear, 235 FillRects, 236 DrawRects, 237 FillPolygon, 238 DrawLines, 239 FillEllipse, 240 DrawEllipse, 241 FillPie, 242 DrawPie, 243 DrawArc, 244 FillRegion, 245 FillPath, 246 DrawPath, 247 FillClosedCurve, 248 DrawClosedCurve, 249 DrawCurve, 250 DrawBeziers, 251 DrawImage, 252 DrawImagePoints, 253 DrawString, 254 255 // Graphics State Records 256 SetRenderingOrigin, 257 SetAntiAliasMode, 258 SetTextRenderingHint, 259 SetTextContrast, 260 SetInterpolationMode, 261 SetPixelOffsetMode, 262 SetCompositingMode, 263 SetCompositingQuality, 264 Save, 265 Restore, 266 BeginContainer, 267 [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] 268 BeginContainerNoParams, 269 EndContainer, 270 SetWorldTransform, 271 ResetWorldTransform, 272 MultiplyWorldTransform, 273 TranslateWorldTransform, 274 ScaleWorldTransform, 275 RotateWorldTransform, 276 SetPageTransform, 277 ResetClip, 278 SetClipRect, 279 SetClipPath, 280 SetClipRegion, 281 OffsetClip, 282 283 DrawDriverString, 284 285 Total, 286 287 Max = Total - 1, 288 Min = Header 289 } 290 } 291