Recurity.Swf.ShapeWithStyle.Parse C# (CSharp) Method

Parse() public method

Parses this object out of a stream.
public Parse ( Stream input, long length, TagTypes caller ) : void
input Stream The input Stream
length long The length of the ShapeRecords
caller TagTypes The tag that calls this method
return void
        public void Parse(Stream input, long length, TagTypes caller)
        {
            BitStream bits = new BitStream(input);

            this._fillStyles.Parse(input, caller);
            this._lineStyles.Parse(input, caller);

            this._numFillBits = (UInt16)bits.GetBits(4);
            this._numLineBits = (UInt16)bits.GetBits(4);

            this._shapeRecordBuffer = new Byte[length - 1];
            input.Read(this._shapeRecordBuffer, 0, (Int32)length - 1);

            // (Un)comment these lines to disbale/enable ShapeRecord pasing
            this._shapeRecordStream = new MemoryStream();
            this._shapeRecordStream.Write(this._shapeRecordBuffer, 0, this._shapeRecordBuffer.Length); // To protect the input stream
            this._shapeRecordStream.Seek(0, SeekOrigin.Begin);
            this.TryParseShapeRecords(this._shapeRecordStream, caller);
        }