public void ZoomNormal() { if (!IsZoom) { return; } IsZoom = false; Option.XAxis.Min = BaseArea.XMin; Option.XAxis.Max = BaseArea.XMax; Option.YAxis.Min = BaseArea.YMin; Option.YAxis.Max = BaseArea.YMax; Option.XAxis.MinAuto = BaseArea.XMinAuto; Option.XAxis.MaxAuto = BaseArea.XMaxAuto; Option.YAxis.MinAuto = BaseArea.YMinAuto; Option.YAxis.MaxAuto = BaseArea.YMaxAuto; if (Option.HaveY2) { Option.Y2Axis.Min = BaseArea.Y2Min; Option.Y2Axis.Max = BaseArea.Y2Max; Option.Y2Axis.MinAuto = BaseArea.Y2MinAuto; Option.Y2Axis.MaxAuto = BaseArea.Y2MaxAuto; } BaseArea = null; CalcData(); Invalidate(); }
private void AddZoomArea(ZoomArea zoomArea) { if (zoomArea.XMax - zoomArea.XMin <= MinInterval) { return; } if (zoomArea.YMax - zoomArea.YMin <= MinInterval) { return; } if (zoomArea.XMax - zoomArea.XMin >= MaxInterval) { return; } if (zoomArea.YMax - zoomArea.YMin >= MaxInterval) { return; } if (Option.HaveY2) { if (zoomArea.Y2Max - zoomArea.Y2Min <= MinInterval) { return; } if (zoomArea.Y2Max - zoomArea.Y2Min >= MaxInterval) { return; } } ZoomAreas.Add(zoomArea); Zoom(zoomArea); }
private void CreateBaseArea() { IsZoom = true; if (BaseArea == null) { BaseArea = new ZoomArea(); BaseArea.XMin = XScale.Min; BaseArea.XMax = XScale.Max; BaseArea.YMin = YScale.Min; BaseArea.YMax = YScale.Max; BaseArea.XMinAuto = Option.XAxis.MinAuto; BaseArea.XMaxAuto = Option.XAxis.MaxAuto; BaseArea.YMinAuto = Option.YAxis.MinAuto; BaseArea.YMaxAuto = Option.YAxis.MaxAuto; if (Option.HaveY2) { BaseArea.Y2Min = Y2Scale.Min; BaseArea.Y2Max = Y2Scale.Max; BaseArea.Y2MinAuto = Option.Y2Axis.MinAuto; BaseArea.Y2MaxAuto = Option.Y2Axis.MaxAuto; } } }
private void Zoom(ZoomArea zoomArea) { Option.XAxis.Min = zoomArea.XMin; Option.XAxis.Max = zoomArea.XMax; Option.YAxis.Max = zoomArea.YMax; Option.YAxis.Min = zoomArea.YMin; Option.XAxis.MinAuto = zoomArea.XMinAuto; Option.XAxis.MaxAuto = zoomArea.XMaxAuto; Option.YAxis.MinAuto = zoomArea.YMinAuto; Option.YAxis.MaxAuto = zoomArea.YMaxAuto; CalcData(); Invalidate(); }
private void Zoom() { if (Math.Abs(StartPoint.X - StopPoint.X) < 6 && Math.Abs(StartPoint.Y - StopPoint.Y) < 6) { return; } CreateBaseArea(); var zoomArea = new ZoomArea(); zoomArea.XMin = XScale.CalcXPos(Math.Min(StartPoint.X, StopPoint.X), DrawOrigin.X, DrawSize.Width); zoomArea.XMax = XScale.CalcXPos(Math.Max(StartPoint.X, StopPoint.X), DrawOrigin.X, DrawSize.Width); zoomArea.YMax = YScale.CalcYPos(Math.Min(StartPoint.Y, StopPoint.Y), DrawOrigin.Y, DrawSize.Height); zoomArea.YMin = YScale.CalcYPos(Math.Max(StartPoint.Y, StopPoint.Y), DrawOrigin.Y, DrawSize.Height); AddZoomArea(zoomArea); }