Example #1
0
        private void ReadCreatePenIndirect(BinaryReader wmfReader, uint recordSize)
        {
            var wmfPen = new LogPen();

            wmfPen.Style = EndianFlip(wmfReader.ReadUInt16());
            wmfPen.Width = EndianFlip(wmfReader.ReadInt16());
            wmfReader.ReadUInt16(); // Not Used
            var red = wmfReader.ReadByte();
            var green = wmfReader.ReadByte();
            var blue = wmfReader.ReadByte();
            wmfReader.ReadByte(); // Reserved
            wmfPen.Colour = Color.FromArgb(255, red, green, blue);

            // Handle non-standard(?) pen record size which has an extra 2 bytes
            if (recordSize == 9)
            {
                wmfReader.ReadUInt16();
            }

            _currentDC.CreatePenIndirect(wmfPen);
        }
Example #2
0
 public void CreatePenIndirect(LogPen pen)
 {
     _objectTable.AddObject(pen);
 }