public virtual void saveTo(BinaryWriter writer, PersistContext ctx) { ctx.saveRect(rect); writer.Write(constructed); writer.Write(locked); writer.Write(zIndex); writer.Write((int)penDashStyle); writer.Write((double)penWidth); writer.Write((double)shadowOffsetX); writer.Write((double)shadowOffsetY); writer.Write(invisible); writer.Write(selected); bool tagSerializable = false; if (tag != null) { tagSerializable = tag.GetType().IsSerializable; } writer.Write(tagSerializable); if (tagSerializable) { ctx.saveTag(tag); } ctx.saveFont(Font); writer.Write(toolTip); ctx.saveReference(this, subordinateGroup, 100); ctx.saveReference(this, masterGroup, 101); // new in file format 10 ctx.saveColor(shadowColor); writer.Write(ignoreLayout); // new in file format 15 writer.Write(printable); // new in file format 16 writer.Write(weight); }
/// <summary> /// Saves the flowchart document into a stream /// </summary> public void SaveToStream(Stream stream, bool clearDirty) { PersistContext ctx = new PersistContext(stream, this); ctx.writeHeader(); // write properties DocInfoVer1 docInfo1 = new DocInfoVer1(this); DocInfoVer2 docInfo2 = new DocInfoVer2(this); ctx.saveObject(docInfo1); ctx.saveObject(docInfo2); ctx.saveStringFormat(textFormat); ctx.saveFont(Font); ctx.saveImage(BackgroundImage); // write collections ctx.saveObject(zOrder); ctx.saveObject(groups); ctx.saveObject(selection); ctx.saveReference(this, activeObject, 1); ctx.saveObject(shapeTemplate); Brush.StoreBrushes(new BinaryWriter(stream), ctx); ctx.saveObject(boxPen); ctx.saveObject(arrowPen); ctx.saveObject(tablePen); ctx.saveReference(this, boxBrush, 2); ctx.saveReference(this, arrowBrush, 3); ctx.saveReference(this, tableBrush, 4); ctx.writer.Write((int)boxSelStyle); ctx.writer.Write((int)tableSelStyle); // new in save format 5 ctx.writer.Write(allowLinksRepeat); // new in save format 6 ctx.writer.Write(PolyTextLayout); ctx.writer.Write(ShapeOrientation); // new in save format 8 ctx.writer.Write(routeArrows); ctx.writer.Write(arrowsRetainForm); ctx.writer.Write((int)arrowTextStyle); ctx.writer.Write((int)tableLinkStyle); // new in save format 12 ctx.writer.Write((int)measureUnit); ctx.saveRect(docExtentsMin); // new in save format 14 ctx.writer.Write((int)expandBtnPos); ctx.writer.Write((int)Orientation.Auto); // not used anymore ctx.writer.Write((int)Orientation.Auto); // not used anymore ctx.writer.Write(enableStyledText); ctx.writer.Write(usePolyTextLt); ctx.saveReference(this, brush, 5); // new in save format 17 ctx.writer.Write(arrowText); ctx.writer.Write(boxText); ctx.writer.Write((int)arrowCrossings); ctx.writer.Write((int)gridStyle); ctx.writer.Write(crossRadius); // new in save format 20 ctx.saveReference(this, exteriorBrush, 6); ctx.writer.Write(arrowsSnapToBorders); ctx.writer.Write((int)arrowSelStyle); // new in save format 21 bool tagSerializable = false; if (Tag != null) tagSerializable = Tag.GetType().IsSerializable; ctx.writer.Write(tagSerializable); if (tagSerializable) ctx.saveTag(Tag); // new in save format 27 ctx.writer.Write(roundedArrows); ctx.writer.Write(roundedArrowsRadius); // write the chart objects ctx.writeReferencedObjects(); if (clearDirty) Dirty = false; }
public virtual void saveTo(BinaryWriter writer, PersistContext ctx) { ctx.saveRect(rect); writer.Write(constructed); writer.Write(locked); writer.Write(zIndex); writer.Write((int)penDashStyle); writer.Write((double)penWidth); writer.Write((double)shadowOffsetX); writer.Write((double)shadowOffsetY); writer.Write(invisible); writer.Write(selected); bool tagSerializable = false; if (tag != null) tagSerializable = tag.GetType().IsSerializable; writer.Write(tagSerializable); if (tagSerializable) ctx.saveTag(tag); ctx.saveFont(Font); writer.Write(toolTip); ctx.saveReference(this, subordinateGroup, 100); ctx.saveReference(this, masterGroup, 101); // new in file format 10 ctx.saveColor(shadowColor); writer.Write(ignoreLayout); // new in file format 15 writer.Write(printable); // new in file format 16 writer.Write(weight); }