public EmfPlusPenData(MetafileReader reader) { Flags = (PenDataFlags)reader.ReadUInt32(); Unit = (UnitType)reader.ReadUInt32(); Width = reader.ReadSingle(); OptionalData = new EmfPlusPenOptionalData(reader, Flags); }
public EmfPlusFillClosedCurve(MetafileReader reader) : base(reader) { BrushIdOrColor = reader.ReadUInt32(); Tension = reader.ReadSingle(); Count = reader.ReadUInt32(); Points = Utilities.GetPoints(reader, RelativeLocations, DataCompressed, Count); }
public EmfPlusDrawDriverString(MetafileReader reader) : base(reader) { BrushIdOrColor = reader.ReadUInt32(); OptionsFlags = (DriverStringOptionsFlags)reader.ReadUInt32(); MatrixPresent = reader.ReadBoolean(); GlyphCount = reader.ReadUInt32(); var glyphs = new List <ushort>(); for (int i = 0; i < GlyphCount; i++) { ushort glyph = reader.ReadUInt16(); glyphs.Add(glyph); } Glyphs = glyphs; var positions = new List <EmfPlusPointF>(); for (uint i = 0; i < GlyphCount; i++) { var position = new EmfPlusPointF(reader); positions.Add(position); } Positions = positions; if (MatrixPresent) { Transform = new EmfPlusTransformMatrix(reader); } }
public EmfPlusHeader(MetafileReader reader) : base(reader) { Version = reader.ReadUInt32(); EmfPlusFlags = reader.ReadUInt32(); LogicalDpiX = reader.ReadUInt32(); LogicalDpiY = reader.ReadUInt32(); }
public EmfPlusDrawImagePoints(MetafileReader reader) : base(reader) { ImageAttributesId = reader.ReadUInt32(); SrcUnit = (UnitType)reader.ReadInt32(); SrcRect = new EmfPlusRectF(reader); Count = reader.ReadUInt32(); Points = Utilities.GetPoints(reader, RelativeLocations, DataCompressed, Count); }
public EmfPlusDrawCurve(MetafileReader reader) : base(reader) { Tension = reader.ReadSingle(); Offset = reader.ReadUInt32(); NumberOfSegments = reader.ReadUInt32(); Count = reader.ReadUInt32(); Points = Utilities.GetPoints(reader, RelativeLocations, DataCompressed, Count); }
public EmfPlusImageAttributes(MetafileReader reader, uint size) : base(reader, size) { Reserved1 = reader.ReadInt32(); WrapMode = (WrapMode)reader.ReadUInt32(); ClampColor = reader.ReadUInt32(); ClampToBitmap = reader.ReadBoolean(); Reserved2 = reader.ReadInt32(); }
public EmfPlusFont(MetafileReader reader, uint size) : base(reader, size) { EmSize = reader.ReadSingle(); Unit = (UnitType)reader.ReadUInt32(); StyleFlags = (FontStyleFlags)reader.ReadInt32(); Reserved = reader.ReadUInt32(); NameLength = reader.ReadUInt32(); Name = Utilities.GetString(reader, NameLength); }
public EmfPlusBitmap(MetafileReader reader, uint size) : base(size) { Width = reader.ReadInt32(); Height = reader.ReadInt32(); Stride = reader.ReadInt32(); PixelFormat = (PixelFormat)reader.ReadUInt32(); DataType = (BitmapDataType)reader.ReadUInt32(); Data = EmfPlusBitmapDataBase.GetBitmapData(reader, DataType, size - 20); }
public EmfPlusMetafile(MetafileReader reader, uint size) : base(size) { Type = (MetafileDataType)reader.ReadUInt32(); DataSize = reader.ReadUInt32(); for (uint i = 0; i < DataSize; i++) { reader.ReadByte(); } }
public EmfPlusLinearGradientBrushData(MetafileReader reader) : base(BrushType.LinearGradient) { Flags = (BrushDataFlags)reader.ReadUInt32(); WrapMode = (WrapMode)reader.ReadInt32(); Points = new EmfPlusRectF(reader); StartColor = reader.ReadUInt32(); EndColor = reader.ReadUInt32(); Reserved1 = reader.ReadUInt32(); Reserved2 = reader.ReadUInt32(); OptionalData = new EmfPlusLinearGradientBrushOptionalData(reader, Flags); }
public EmrEOF(MetafileReader reader) : base(reader) { PaletteEntriesCount = reader.ReadUInt32(); PaletteEntriesOffset = reader.ReadUInt32(); if (PaletteEntriesCount != 0) { throw new InvalidOperationException("Don't know how to handle non-zer palette entries in EMR_EOF."); } SizeLast = reader.ReadUInt32(); }
public BitmapInfoHeader(MetafileReader reader) { HeaderSize = reader.ReadUInt32(); Width = reader.ReadInt32(); Height = reader.ReadInt32(); NumberOfPlanes = reader.ReadUInt16(); BitsPerPixel = (BitCount)reader.ReadUInt16(); Compression = (Compression)reader.ReadUInt32(); PixelsPerMeterX = reader.ReadInt32(); PixelsPerMeterY = reader.ReadInt32(); ColorsUsed = reader.ReadUInt32(); ColorsImportant = reader.ReadUInt32(); }
public EmfPlusPalette(MetafileReader reader) { StyleFlags = (PaletteStyleFlags)reader.ReadInt32(); Count = reader.ReadUInt32(); var entries = new List <uint>(); for (int i = 0; i < Count; i++) { uint entry = reader.ReadUInt32(); entries.Add(entry); } Entries = entries; }
public EmfPlusCustomLineCapArrowData(MetafileReader reader) : base(CustomLineCapDataType.AdjustableArrow) { Width = reader.ReadSingle(); Height = reader.ReadSingle(); MiddleInset = reader.ReadSingle(); FillState = reader.ReadBoolean(); StartCap = (LineCapType)reader.ReadUInt32(); EndCap = (LineCapType)reader.ReadUInt32(); Join = (LineJoinType)reader.ReadUInt32(); MiterLimit = reader.ReadSingle(); WidthScale = reader.ReadSingle(); FillHotSpot = new EmfPlusPointF(reader); LineHotSpot = new EmfPlusPointF(reader); }
public EmfPlusCustomLineCapData(MetafileReader reader) : base(CustomLineCapDataType.Default) { Flags = (CustomLineCapDataFlags)reader.ReadUInt32(); BaseCap = (LineCapType)reader.ReadUInt32(); BaseInset = reader.ReadSingle(); StrokeStartCap = (LineCapType)reader.ReadUInt32(); StrokeEndCap = (LineCapType)reader.ReadUInt32(); StrokeJoin = (LineJoinType)reader.ReadUInt32(); StrokeMiterLimit = reader.ReadSingle(); WidthScale = reader.ReadSingle(); FillHotSpot = new EmfPlusPointF(reader); StrokeHotSpot = new EmfPlusPointF(reader); OptionalData = new EmfPlusCustomLineCapOptionalData(reader, Flags); }
public EmfPlusDrawString(MetafileReader reader) : base(reader) { BrushIdOrColor = reader.ReadUInt32(); StringFormatId = reader.ReadUInt32(); StringLength = reader.ReadUInt32(); LayoutRectangle = new EmfPlusRectF(reader); String = Utilities.GetString(reader, StringLength); uint padding = (StringLength * 2) % 4; for (uint i = 0; i < padding; i++) { reader.ReadByte(); } }
public EmfPlusDrawImage(MetafileReader reader) : base(reader) { ImageAttributesId = reader.ReadUInt32(); SrcUnit = (UnitType)reader.ReadInt32(); SrcRect = new EmfPlusRectF(reader); DestRect = Utilities.GetRect(reader, DataCompressed); }
public EmfPlusFillPie(MetafileReader reader) : base(reader) { BrushIdOrColor = reader.ReadUInt32(); StartAngle = reader.ReadSingle(); SweepAngle = reader.ReadSingle(); Rectangle = Utilities.GetRect(reader, DataCompressed); }
public BitmapCoreHeader(MetafileReader reader) { HeaderSize = reader.ReadUInt32(); Width = reader.ReadUInt16(); Height = reader.ReadUInt16(); NumberOfPlanes = reader.ReadUInt16(); BitsPerPixel = (BitCount)reader.ReadUInt16(); }
public EmfPlusPathGradientBrushData(MetafileReader reader) : base(BrushType.PathGradient) { Flags = (BrushDataFlags)reader.ReadUInt32(); WrapMode = (WrapMode)reader.ReadInt32(); CenterColor = reader.ReadUInt32(); CenterPoint = new EmfPlusPointF(reader); SurroundingColorCount = reader.ReadUInt32(); SurroundingColors = Utilities.ReadUInt32s(reader, SurroundingColorCount); if ((Flags & BrushDataFlags.HasPath) != 0) { BoundaryData = new EmfPlusBoundaryPathData(reader); } else { BoundaryData = new EmfPlusBoundaryPointData(reader); } OptionalData = new EmfPlusPathGradientBrushOptionalData(reader, Flags); }
public BitmapV4Header(MetafileReader reader) : base(reader) { RedMask = reader.ReadUInt32(); GreenMask = reader.ReadUInt32(); BlueMask = reader.ReadUInt32(); AlphaMask = reader.ReadUInt32(); ColorSpace = (LogicalColorSpace)reader.ReadUInt32(); Endpoints = new CIEXYZTriple(reader); GammaRed = reader.ReadUInt32(); GammaGreen = reader.ReadUInt32(); GammaBlue = reader.ReadUInt32(); }
public EmfPlusObject(MetafileReader reader) : base(reader) { if (Continued) { TotalObjectSize = DataSize; DataSize = reader.ReadUInt32(); } Data = EmfPlusObjectData.GetObject(reader, ObjectType, DataSize); }
public EmfPlusPath(MetafileReader reader, uint size) : base(reader, size) { PointCount = reader.ReadUInt32(); PointFlags = reader.ReadUInt32(); Points = Utilities.GetPoints(reader, false, CompressedPoints, PointCount); var types = new List <byte>(); for (uint i = 0; i < PointCount; i++) { byte type = reader.ReadByte(); types.Add(type); } Types = types; uint padding = PointCount % 4; for (uint i = 0; i < padding; i++) { reader.ReadByte(); } }
public EmrCommentEmfPlus(MetafileReader reader) : base(reader) { DataSize = reader.ReadUInt32();; Signature = reader.ReadUInt32(); var records = new List <EmfPlusRecord>(); uint currentIndex = (uint)reader.CurrentIndex; uint endIndex = currentIndex + DataSize - 4; while (currentIndex < endIndex) { var record = EmfPlusRecord.GetRecord(reader); records.Add(record); currentIndex += record.Size; if (reader.CurrentIndex != currentIndex) { reader.CurrentIndex = (int)currentIndex; throw new System.InvalidOperationException("Reader is out of sync with the size."); } } Records = records; }
public Header(MetafileReader reader) { Bounds = new RectL(reader); Frame = new RectL(reader); Signature = reader.ReadUInt32(); Version = reader.ReadUInt32(); NumberOfBytes = reader.ReadUInt32(); NumberOfRecords = reader.ReadUInt32(); NumberOfObjects = reader.ReadUInt16(); Reserved = reader.ReadUInt16(); DescriptionLength = reader.ReadUInt32(); DescriptionOffset = reader.ReadUInt32(); NumberOfPaletteEntries = reader.ReadUInt32(); ReferenceDeviceSizePixels = new SizeL(reader); ReferenceDeviceSizeMillimeters = new SizeL(reader); }
public LogColorSpaceW(MetafileReader reader) { Signature = reader.ReadUInt32(); Version = reader.ReadUInt32(); Size = reader.ReadUInt32(); ColorSpace = (LogicalColorSpace)reader.ReadInt32(); Intent = (GamutMappingIntent)reader.ReadInt32(); Endpoints = new CIEXYZTriple(reader); GammaRed = reader.ReadUInt32(); GammaBlue = reader.ReadUInt32(); GammaGreen = reader.ReadUInt32(); FileName = Utilities.GetAnsiString(reader, Size - 68); }
public EmrBitBlt(MetafileReader reader) : base(reader) { Bounds = new RectL(reader); DestX = reader.ReadInt32(); DestY = reader.ReadInt32(); DestWidth = reader.ReadInt32(); DestHeight = reader.ReadInt32(); RasterOperation = (TernaryRasterOperation)reader.ReadUInt32(); SrcX = reader.ReadInt32(); SrcY = reader.ReadInt32(); WorldToPageTransform = new XForm(reader); SrcBackgroundColor = reader.ReadUInt32(); SrcUsage = (DIBColors)reader.ReadUInt32(); BitmapHeaderOffset = reader.ReadUInt32(); BitmapHeaderSize = reader.ReadUInt32(); BitmapBitsOffset = reader.ReadUInt32(); BitmapBitsSize = reader.ReadUInt32(); }
public EmfPlusStringFormat(MetafileReader reader, uint size) : base(reader, size) { Flags = (StringFormatFlags)reader.ReadUInt32(); Language = reader.ReadUInt32(); Align = (StringAlignment)reader.ReadUInt32(); LineAlign = (StringAlignment)reader.ReadUInt32(); DigitSubstitution = (StringDigitSubstitution)reader.ReadUInt32(); DigitLanguage = reader.ReadUInt32(); FirstTabOffset = reader.ReadSingle(); HotkeyPrefix = (HotkeyPrefix)reader.ReadInt32(); LeadingMargin = reader.ReadSingle(); TrailingMargin = reader.ReadSingle(); Tracking = reader.ReadSingle(); Trimming = (StringTrimming)reader.ReadInt32(); TabStopCount = reader.ReadInt32(); RangeCount = reader.ReadInt32(); Data = new EmfPlusStringFormatData(reader, TabStopCount, RangeCount); }
public Region(MetafileReader reader) { NextInChain = reader.ReadUInt16(); ObjectType = reader.ReadInt16(); ObjectCount = reader.ReadUInt32(); RegionCount = reader.ReadInt16(); ScansCount = reader.ReadInt16(); MaximumScanPointCount = reader.ReadInt16(); BoundingRectangle = new Rect(reader); if (ScansCount > 0) { var scans = new Scan[ScansCount]; for (int i = 0; i < ScansCount; i++) { scans[i] = new Scan(reader); } Scans = scans; } else { Scans = Enumerable.Empty <Scan>(); } }