public void MouseUp(InputState input)
        {
            PlottableBeingDragged = null;

            bool isZoomingRectangle = input.MiddleDown || (input.LeftDown && input.AltDown);

            if (isZoomingRectangle)
            {
                if (Settings.MouseHasMoved(input.X, input.Y))
                {
                    Settings.RecallAxisLimits();
                    Settings.MouseZoomRect(input.X, input.Y, finalize: true);
                }
                else
                {
                    MiddleClickAutoAxis();
                }
            }

            Render(false);
            UpdateCursor(input);
        }
Beispiel #2
0
        private void ApplyZoomRectangle(InputState input)
        {
            if (Configuration.MiddleClickDragZoom == false)
            {
                return;
            }

            Settings.RecallAxisLimits();

            var originalLimits = Plot.GetAxisLimits();

            Settings.MouseZoomRect(input.X, input.Y, finalize: true);

            if (Configuration.LockHorizontalAxis)
            {
                Plot.SetAxisLimitsX(originalLimits.XMin, originalLimits.XMax);
            }

            if (Configuration.LockVerticalAxis)
            {
                Plot.SetAxisLimitsY(originalLimits.YMin, originalLimits.YMax);
            }
        }