private void InternalMove(ToolEventArgs e, WindowChangedEventType type) { // Get the start and end points of the drag. // Keep track of the displacement for optimization purposes. //var panDelta = p2 - p1; ; // Move the view and redraw. var delta = e.LocationWCS - Viewport.ClientToWorld(LastPosition); Viewport.TranslatePrepend(delta.X, delta.Y); Viewport.PerformWindowChanged(type); Viewport.Invalidate(); }
internal void PerformWindowChanged(WindowChangedEventType windowChangedEventType) { OnWindowChanged(new WindowChangedEventArgs(windowChangedEventType)); }
private void SetView(double centerX, double centerY, double zoom, double angle, WindowChangedEventType windowChangedEventType) { _view = new Matrix(); _view.Translate(-centerX, -centerY); _view.Rotate(angle); _view.Scale(zoom, -zoom); _view.Translate(ClientSize.Width / 2.0, ClientSize.Height / 2.0); Zoom = zoom; Angle = angle; OnWindowChanged(new WindowChangedEventArgs(windowChangedEventType)); Invalidate(); }
private void SetView(WinPoint center, double zoom, double angle, WindowChangedEventType windowChangedEventType) { SetView(center.X, center.Y, zoom, angle, windowChangedEventType); }
public WindowChangedEventArgs(WindowChangedEventType type) { Type = type; }