private void khs2xml(AxMap pMap, ref XmlTextWriter wr) { wr.WriteStartElement("KyHieus"); wr.WriteAttributeString("CX", pMap.CenterX.ToString("#.0000")); wr.WriteAttributeString("CY", pMap.CenterY.ToString("#.0000")); wr.WriteAttributeString("Zoom", pMap.Zoom.ToString()); checked { try { IEnumerator enumerator = this.List.GetEnumerator(); while (enumerator.MoveNext()) { CSymbol mKH = (CSymbol)enumerator.Current; wr.WriteStartElement("KyHieu"); bool flag = mKH.Description.Length > 0; if (flag) { wr.WriteAttributeString("Desc", mKH.Description); } flag = mKH.Blinking; if (flag) { wr.WriteAttributeString("Blink", mKH.Blinking.ToString()); } wr.WriteAttributeString("Zoom", mKH.Zoom.ToString()); wr.WriteAttributeString("MWi", mKH.MWidth.ToString()); wr.WriteAttributeString("GocX", mKH.GocX.ToString("#.0000")); wr.WriteAttributeString("GocY", mKH.GocY.ToString("#.0000")); try { IEnumerator enumerator2 = mKH.GObjs.GetEnumerator(); while (enumerator2.MoveNext()) { GraphicObject mPart = (GraphicObject)enumerator2.Current; wr.WriteStartElement("Part"); OBJECTTYPE mType = mPart.GetObjType(); wr.WriteAttributeString("Type", mType.ToString()); flag = (mType == OBJECTTYPE.Text); if (flag) { TextGraphic mTextObj = (TextGraphic)mPart; wr.WriteAttributeString("Text", mTextObj.Text); wr.WriteAttributeString("FName", mTextObj.Font.Name); wr.WriteAttributeString("FSize", mTextObj.Font.Size.ToString()); wr.WriteAttributeString("FStyle", mTextObj.Font.Style.ToString()); wr.WriteAttributeString("FColor", Conversions.ToString(mTextObj.Color.ToArgb())); wr.WriteStartElement("Pos"); wr.WriteAttributeString("X", mTextObj.X.ToString()); wr.WriteAttributeString("Y", mTextObj.Y.ToString()); wr.WriteAttributeString("A", mTextObj.Rotation.ToString()); wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.Table); if (flag) { TableGraphic mTableObj = (TableGraphic)mPart; wr.WriteStartElement("TBL"); wr.WriteAttributeString("X", mTableObj.X.ToString()); wr.WriteAttributeString("Y", mTableObj.Y.ToString()); wr.WriteAttributeString("W", mTableObj.Width.ToString()); wr.WriteAttributeString("H", mTableObj.Height.ToString()); wr.WriteAttributeString("A", mTableObj.Rotation.ToString()); wr.WriteAttributeString("Cols", mTableObj.ColsNo.ToString()); wr.WriteAttributeString("Rows", mTableObj.RowsNo.ToString()); wr.WriteAttributeString("BColor", Conversions.ToString(mTableObj.BorderColor.ToArgb())); wr.WriteAttributeString("BWidth", mTableObj.BorderWidth.ToString()); wr.WriteAttributeString("LColor", Conversions.ToString(mTableObj.LineColor.ToArgb())); wr.WriteAttributeString("LWidth", mTableObj.LineWidth.ToString()); wr.WriteAttributeString("FiColor", Conversions.ToString(mTableObj.FiColor.ToArgb())); string str = Conversions.ToString(mTableObj.AWidth[0]); int arg_47A_0 = 1; int num = mTableObj.ColsNo - 1; int i = arg_47A_0; while (true) { int arg_4A4_0 = i; int num2 = num; if (arg_4A4_0 > num2) { break; } str = str + "|" + Conversions.ToString(mTableObj.AWidth[i]); i++; } wr.WriteAttributeString("AWS", str); str = Conversions.ToString(mTableObj.AHeight[0]); int arg_4CF_0 = 1; int num3 = mTableObj.RowsNo - 1; i = arg_4CF_0; while (true) { int arg_4F9_0 = i; int num2 = num3; if (arg_4F9_0 > num2) { break; } str = str + "|" + Conversions.ToString(mTableObj.AHeight[i]); i++; } wr.WriteAttributeString("AHS", str); i = 0; try { IEnumerator enumerator3 = mTableObj.Cells.GetEnumerator(); while (enumerator3.MoveNext()) { CCell mCell = (CCell)enumerator3.Current; i++; wr.WriteStartElement("Cell"); wr.WriteAttributeString("iR", mCell.iRow.ToString()); wr.WriteAttributeString("iC", mCell.iCol.ToString()); wr.WriteAttributeString("RNo", mCell.RowsNo.ToString()); wr.WriteAttributeString("CNo", mCell.ColsNo.ToString()); wr.WriteAttributeString("Text", mCell.Text); wr.WriteAttributeString("FName", mCell.Font.Name); wr.WriteAttributeString("FSize", mCell.Font.Size.ToString()); wr.WriteAttributeString("FStyle", mCell.Font.Style.ToString()); wr.WriteAttributeString("Color", Conversions.ToString(mCell.Color.ToArgb())); wr.WriteElementString("i", i.ToString()); wr.WriteEndElement(); } } finally { IEnumerator enumerator3; flag = (enumerator3 is IDisposable); if (flag) { (enumerator3 as IDisposable).Dispose(); } } wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.EmbeddedImage); if (flag) { EmbeddedImageGraphic mImageObj = (EmbeddedImageGraphic)mPart; wr.WriteAttributeString("ITYPE", mImageObj.ImageType); wr.WriteAttributeString("IMAGEW", mImageObj.Width.ToString()); wr.WriteAttributeString("IMAGEH", mImageObj.Height.ToString()); string strImage = ""; string imageType = mImageObj.ImageType; if (Operators.CompareString(imageType, "wmf", false) == 0 || Operators.CompareString(imageType, "emf", false) == 0) { goto IL_74D; } if (Operators.CompareString(imageType, "kro", false) == 0) { goto IL_74D; } bool arg_74E_0 = false; IL_74E: flag = arg_74E_0; if (flag) { try { object mFileName = "tmp2.kro"; Image mMetaFile = mImageObj.Image; mMetaFile.Save(Conversions.ToString(mFileName)); byte[] arrImageByte = this.GetarrImage(Conversions.ToString(mFileName)); strImage = Convert.ToBase64String(arrImageByte); } catch (Exception expr_78D) { ProjectData.SetProjectError(expr_78D); Exception ex = expr_78D; Interaction.MsgBox("kro sai: " + ex.Message, MsgBoxStyle.OkOnly, null); ProjectData.ClearProjectError(); } } else { MemoryStream memStream = new MemoryStream(); mImageObj.Image.Save(memStream, ImageFormat.Bmp); strImage = Convert.ToBase64String(memStream.ToArray()); } wr.WriteAttributeString("IMAGE", strImage); wr.WriteStartElement("Pos"); wr.WriteAttributeString("X", mImageObj.X.ToString()); wr.WriteAttributeString("Y", mImageObj.Y.ToString()); wr.WriteAttributeString("A", mImageObj.Rotation.ToString()); wr.WriteEndElement(); goto IL_CDF; IL_74D: arg_74E_0 = true; goto IL_74E; } ShapeGraphic mShapeObj = (ShapeGraphic)mPart; wr.WriteAttributeString("Color", Conversions.ToString(mShapeObj.LineColor.ToArgb())); wr.WriteAttributeString("Width", mShapeObj.LineWidth.ToString()); flag = (mShapeObj.LineStyle > 0); if (flag) { wr.WriteAttributeString("Style", mShapeObj.LineStyle.ToString()); wr.WriteAttributeString("SWidth", mShapeObj.StyleWidth.ToString()); } flag = (mShapeObj.Line2Width > 0f); if (flag) { wr.WriteAttributeString("Color2", Conversions.ToString(mShapeObj.Line2Color.ToArgb())); wr.WriteAttributeString("Width2", mShapeObj.Line2Width.ToString()); } flag = (mShapeObj.DValues.Length > 6); if (flag) { wr.WriteAttributeString("DV", mShapeObj.DValues); } flag = mShapeObj.Fill; if (flag) { wr.WriteAttributeString("Fill", mShapeObj.Fill.ToString()); wr.WriteAttributeString("FColor", Conversions.ToString(mShapeObj.FillColor.ToArgb())); wr.WriteAttributeString("HColor", Conversions.ToString(mShapeObj.HatchColor.ToArgb())); wr.WriteAttributeString("HStyle", mShapeObj.HatchStyle.ToString()); } flag = (mType == OBJECTTYPE.Ellipse); if (flag) { EllipseGraphic mEllipseObj = (EllipseGraphic)mShapeObj; wr.WriteStartElement("Rect"); wr.WriteAttributeString("X", mEllipseObj.X.ToString()); wr.WriteAttributeString("Y", mEllipseObj.Y.ToString()); wr.WriteAttributeString("W", mEllipseObj.Width.ToString()); wr.WriteAttributeString("H", mEllipseObj.Height.ToString()); wr.WriteAttributeString("A", mEllipseObj.Rotation.ToString()); wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.Pie); if (flag) { PieGraphic mPieObj = (PieGraphic)mShapeObj; wr.WriteStartElement("Pie"); wr.WriteAttributeString("X", mPieObj.X.ToString()); wr.WriteAttributeString("Y", mPieObj.Y.ToString()); wr.WriteAttributeString("W", mPieObj.Width.ToString()); wr.WriteAttributeString("H", mPieObj.Height.ToString()); wr.WriteAttributeString("ST", mPieObj.StartAngle.ToString()); wr.WriteAttributeString("SW", mPieObj.SweepAngle.ToString()); flag = mPieObj.IsArc; if (flag) { wr.WriteAttributeString("ARC", mPieObj.IsArc.ToString()); } wr.WriteAttributeString("A", mPieObj.Rotation.ToString()); wr.WriteEndElement(); } else { int i = 0; NodesShapeGraphic mNodesShapeObj = (NodesShapeGraphic)mShapeObj; try { IEnumerator enumerator4 = mNodesShapeObj.Nodes.GetEnumerator(); while (enumerator4.MoveNext()) { CNODE mNode = (CNODE)enumerator4.Current; i++; wr.WriteStartElement("Node"); wr.WriteAttributeString("X", mNode.Pt.X.ToString()); wr.WriteAttributeString("Y", mNode.Pt.Y.ToString()); flag = mNode.IsControl; if (flag) { wr.WriteAttributeString("Type", mNode.IsControl.ToString()); } wr.WriteElementString("i", i.ToString()); wr.WriteEndElement(); } } finally { IEnumerator enumerator4; flag = (enumerator4 is IDisposable); if (flag) { (enumerator4 as IDisposable).Dispose(); } } } } } } IL_CDF: wr.WriteEndElement(); } } finally { IEnumerator enumerator2; flag = (enumerator2 is IDisposable); if (flag) { (enumerator2 as IDisposable).Dispose(); } } wr.WriteEndElement(); } } finally { IEnumerator enumerator; bool flag = enumerator is IDisposable; if (flag) { (enumerator as IDisposable).Dispose(); } } wr.WriteEndElement(); } }
public ShapeGraphicController(ShapeGraphic doc) { _doc = doc; _tempdoc = (ShapeGraphic)doc.Clone(); Initialize(true); }