public void ChangeRoot(AxMap pMap, double newGocX, double newGocY) { float num = (float)(pMap.Zoom / this.m_Zoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, this.m_MWidth / pMap.MapScreenWidth, 1))); float num2; float num3; pMap.ConvertCoord(ref num2, ref num3, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen); float num4; float num5; pMap.ConvertCoord(ref num4, ref num5, ref newGocX, ref newGocY, ConversionConstants.miMapToScreen); this.m_GocX = newGocX; this.m_GocY = newGocY; PointF toPt = new PointF(num2 * num, num3 * num); PointF fromPt = new PointF(num4 * num, num5 * num); try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; graphicObject.Move(fromPt, toPt); } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }