예제 #1
0
        /// <summary>
        /// see <see cref="SwfDotNet.IO.Tags.BaseTag">base class</see>
        /// </summary>
        public override void ReadData(byte version, BufferedBinaryReader binaryReader)
        {
            RecordHeader rh = new RecordHeader();

            rh.ReadData(binaryReader);

            characterId = binaryReader.ReadUInt16();
            if (rect == null)
            {
                rect = new Rect();
            }
            rect.ReadData(binaryReader);

            if (matrix == null)
            {
                matrix = new Matrix();
            }
            matrix.ReadData(binaryReader);

            TextRecordCollection.GLYPH_BITS   = binaryReader.ReadByte();
            TextRecordCollection.ADVANCE_BITS = binaryReader.ReadByte();

            if (textRecords == null)
            {
                textRecords = new TextRecordCollection();
            }
            else
            {
                textRecords.Clear();
            }
            bool endOfRecordsFlag = false;

            while (!endOfRecordsFlag)
            {
                TextRecord textRecord = new TextRecord();
                textRecord.ReadData(binaryReader, ref endOfRecordsFlag, (TagCodeEnum)this.TagCode);
                if (!endOfRecordsFlag)
                {
                    textRecords.Add(textRecord);
                }
            }
        }
예제 #2
0
 /// <summary>
 /// Inits this instance.
 /// </summary>
 protected void Init()
 {
     textRecords = new TextRecordCollection();
     rect        = new Rect();
     matrix      = new Matrix();
 }