Example #1
0
        public WindowSequence(IStreamReader reader)
            : base(reader)
        {
            // Window2 [PLV] [Scl] [Pane] *Selection

            // Window2
            this.Window2 = (Window2)BiffRecord.ReadRecord(reader);

            // [PLV]
            if (BiffRecord.GetNextRecordType(reader) == RecordType.PLV)
            {
                this.PLV = (PLV)BiffRecord.ReadRecord(reader);
            }

            // [Scl]
            if (BiffRecord.GetNextRecordType(reader) == RecordType.Scl)
            {
                this.Scl = (Scl)BiffRecord.ReadRecord(reader);
            }

            // [Pane]
            if (BiffRecord.GetNextRecordType(reader) == RecordType.Pane)
            {
                this.Pane = (Pane)BiffRecord.ReadRecord(reader);
            }

            //*Selection
            this.Selections = new List <Selection>();
            while (BiffRecord.GetNextRecordType(reader) == RecordType.Selection)
            {
                this.Selections.Add((Selection)BiffRecord.ReadRecord(reader));
            }
        }
Example #2
0
            public Int32 Decode(Byte[] buf, Int32 ptr, out String s)
            {
                String r = "";

                formatID = (FormatIdentifier)buf[ptr++];
                groupID  = (GroupIdentifier)buf[ptr++];
                PLVLen   = (buf[ptr++] << 8) | buf[ptr++];

                s = "|" + formatID.ToString() +
                    "|" + groupID.ToString() +
                    "|len:" + PLVLen.ToString();

                while (PLVLen > 0)
                {
                    PLV tmpPLV = new PLV();
                    ptr = tmpPLV.Decode(buf, ptr, out r);
                    s  += r;
                    PLVList.Add(tmpPLV);
                    PLVLen -= (tmpPLV.PL + 2);
                }

                return(ptr);
            }