private void MouseMovedToZoom(InputState input) { if (Configuration.RightClickDragZoom == false) { return; } var originalLimits = Plot.GetAxisLimits(); if (input.ShiftDown && input.CtrlDown) { float dx = input.X - Settings.MouseDownX; float dy = Settings.MouseDownY - input.Y; float delta = Math.Max(dx, dy); Settings.MouseZoom(Settings.MouseDownX + delta, Settings.MouseDownY - delta); } else { float x = input.ShiftDown ? Settings.MouseDownX : input.X; float y = input.CtrlDown ? Settings.MouseDownY : input.Y; Settings.MouseZoom(x, y); } if (Configuration.LockHorizontalAxis) { Plot.SetAxisLimitsX(originalLimits.XMin, originalLimits.XMax); } if (Configuration.LockVerticalAxis) { Plot.SetAxisLimitsY(originalLimits.YMin, originalLimits.YMax); } RenderAfterDragging(); }
private void MouseMovedToZoom(InputState input) { if (input.ShiftDown && input.CtrlDown) { float dx = input.X - Settings.MouseDownX; float dy = Settings.MouseDownY - input.Y; float delta = Math.Max(dx, dy); Settings.MouseZoom(Settings.MouseDownX + delta, Settings.MouseDownY - delta); } else { float x = input.ShiftDown ? Settings.MouseDownX : input.X; float y = input.CtrlDown ? Settings.MouseDownY : input.Y; Settings.MouseZoom(x, y); } Render(lowQuality: true); }