Beispiel #1
0
        public void Scale(int wheelDelta, Point mouse)
        {
            Point  p            = GraphViewCenter();
            double desiredZoom  = Zoom * (wheelDelta > 0 ? 1.25 : 0.8);
            double boundedZoom  = Math.Max(0.5, Math.Min(3, desiredZoom));
            double boundedScale = boundedZoom / Zoom;

            Zoom = boundedZoom;
            AppSettings set    = ((App)Application.Current).Settings;
            Point       origin = set.UseMouseAsZoomOrigin ? mouse : Center;

            ZoomAndPanCanvasModel.Rescale(boundedScale, origin);
            ZoomAndPanCanvasModel.Move(new Vector(0, 0), new Size(p.X * 2, p.Y * 2));
        }
Beispiel #2
0
 public void ResetTranslate()
 {
     ZoomAndPanCanvasModel.Rescale(1 / Zoom, new Point(0, 0));
     Zoom = 1;
     Move(new Vector(double.MaxValue, double.MaxValue));
 }