public void TestPointOffset () { var point = new Point (2, 2); point = point.Offset (10, 20); Assert.AreEqual (new Point (12, 22), point); }
/// <summary> /// moves current position into map center /// </summary> internal void GoToCurrentPositionOnZoom() { // reset stuff renderOffset = Point.Empty; centerTileXYLocationLast = Point.Empty; dragPoint = Point.Empty; // goto location and centering if(MouseWheelZooming) { if(MouseWheelZoomType != MouseWheelZoomType.MousePositionWithoutCenter) { Point pt = new Point(-(CurrentPositionGPixel.X - Width / 2), -(CurrentPositionGPixel.Y - Height / 2)); renderOffset.X = pt.X - dragPoint.X; renderOffset.Y = pt.Y - dragPoint.Y; } else // without centering { renderOffset.X = -CurrentPositionGPixel.X - dragPoint.X; renderOffset.Y = -CurrentPositionGPixel.Y - dragPoint.Y; renderOffset.Offset(mouseLastZoom); } } else // use current map center { mouseLastZoom = Point.Empty; Point pt = new Point(-(CurrentPositionGPixel.X - Width / 2), -(CurrentPositionGPixel.Y - Height / 2)); renderOffset.X = pt.X - dragPoint.X; renderOffset.Y = pt.Y - dragPoint.Y; } UpdateCenterTileXYLocation(); }