using System; using System.Collections.Generic; using System.Text; using System.IO; namespace HH.WMS.Utils.ExcelLibrary.BinaryDrawingFormat { public partial class MsofbtDgg : EscherRecord { public MsofbtDgg(EscherRecord record) : base(record) { } public MsofbtDgg() { this.Type = EscherRecordType.MsofbtDgg; this.IDClusters = new List(); } public Int32 MaxShapeID; public Int32 NumIDClusters; public Int32 NumSavedShapes; public Int32 NumSavedDrawings; public List IDClusters; public void decode() { MemoryStream stream = new MemoryStream(Data); BinaryReader reader = new BinaryReader(stream); this.MaxShapeID = reader.ReadInt32(); this.NumIDClusters = reader.ReadInt32(); this.NumSavedShapes = reader.ReadInt32(); this.NumSavedDrawings = reader.ReadInt32(); int count = this.NumIDClusters; this.IDClusters = new List(count); for (int i = 0; i < count; i++) { IDClusters.Add(reader.ReadInt64()); } } public void encode() { MemoryStream stream = new MemoryStream(); BinaryWriter writer = new BinaryWriter(stream); writer.Write(MaxShapeID); writer.Write(NumIDClusters); writer.Write(NumSavedShapes); writer.Write(NumSavedDrawings); foreach(Int64 int64Var in IDClusters) { writer.Write(int64Var); } this.Data = stream.ToArray(); this.Size = (UInt32)Data.Length; base.Encode(); } } }