public void TestContainer() { byte[] data = _samples.ReadFile("Container.dat"); EscherContainerRecord record = new EscherContainerRecord(); record.FillFields(data, 0, new DefaultEscherRecordFactory()); byte[] ser = record.Serialize(); Assert.IsTrue(Arrays.Equals(data, ser)); }
internal HSSFShape CloneShape(HSSFPatriarch patriarch) { EscherContainerRecord spgrContainer = new EscherContainerRecord(); spgrContainer.RecordId = (EscherContainerRecord.SPGR_CONTAINER); spgrContainer.Options = ((short)0x000F); EscherContainerRecord spContainer = new EscherContainerRecord(); EscherContainerRecord cont = (EscherContainerRecord)GetEscherContainer().GetChildById(EscherContainerRecord.SP_CONTAINER); byte[] inSp = cont.Serialize(); spContainer.FillFields(inSp, 0, new DefaultEscherRecordFactory()); spgrContainer.AddChildRecord(spContainer); ObjRecord obj = null; if (null != this.GetObjRecord()) { obj = (ObjRecord)this.GetObjRecord().CloneViaReserialise(); } HSSFShapeGroup group = new HSSFShapeGroup(spgrContainer, obj); group.Patriarch = patriarch; foreach (HSSFShape shape in Children) { HSSFShape newShape; if (shape is HSSFShapeGroup) { newShape = ((HSSFShapeGroup)shape).CloneShape(patriarch); } else { newShape = shape.CloneShape(); } group.AddShape(newShape); group.OnCreate(newShape); } return(group); }