/** * Create a new Placeholder and Initialize internal structures * * @return the Created <code>EscherContainerRecord</code> which holds shape data */ protected EscherContainerRecord CreateSpContainer(int idx, bool IsChild) { _escherContainer = super.CreateSpContainer(idx, isChild); SetEscherProperty(EscherProperties.PROTECTION__LOCKAGAINSTGROUPING, 0x1000100); SetEscherProperty(EscherProperties.FILL__NOFILLHITTEST, 0x10001); EscherClientDataRecord cldata = new EscherClientDataRecord(); cldata.SetOptions((short)0xF); _escherContainer.AddChildRecord(cldata); OEShapeAtom oe = new OEShapeAtom(); InteractiveInfo info = new InteractiveInfo(); InteractiveInfoAtom infoAtom = info.GetInteractiveInfoAtom(); infoAtom.SetAction(InteractiveInfoAtom.ACTION_MEDIA); infoAtom.SetHyperlinkType(InteractiveInfoAtom.LINK_NULL); AnimationInfo an = new AnimationInfo(); AnimationInfoAtom anAtom = an.GetAnimationInfoAtom(); anAtom.SetFlag(AnimationInfoAtom.Automatic, true); //convert hslf into ddf MemoryStream out = new MemoryStream(); try { oe.WriteOut(out); an.WriteOut(out); info.WriteOut(out); } catch(Exception e){ throw new HSLFException(e); } cldata.SetRemainingData(out.ToArray()); return _escherContainer; }