public void DrawNodes(AxMap pMap, Graphics g) { float num = (float)(this.m_Zoom / pMap.Zoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, pMap.MapScreenWidth / this.m_MWidth, 1))); float dx; float dy; pMap.ConvertCoord(ref dx, ref dy, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen); GraphicsContainer container = g.BeginContainer(); g.TranslateTransform(dx, dy); g.ScaleTransform(num, num); try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; PointF[] points = graphicObject.GetPoints(); modBdTC.DrawNodes(g, points, 3f); } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } g.EndContainer(container); }
public void ChangeZoomMWidtht(double newZoom, float newMWidth) { checked { try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; PointF[] points = graphicObject.GetPoints(); float num = (float)(this.m_Zoom / newZoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, newMWidth / this.m_MWidth, 1))); Matrix matrix = new Matrix(); matrix.Reset(); matrix.Scale(num, num, MatrixOrder.Append); matrix.TransformPoints(points); int arg_8C_0 = 0; int upperBound = points.GetUpperBound(0); for (int i = arg_8C_0; i <= upperBound; i++) { graphicObject.MoveNodeTo(i, points[i]); } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } this.m_Zoom = newZoom; this.m_MWidth = newMWidth; } }