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)); } }
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); }