protected override bool MsGraphControlOnMouseDownEvent(ZedGraphControl sender, MouseEventArgs e) { _peakResize = null; if (base.MsGraphControlOnMouseDownEvent(sender, e)) { return(true); } if ((_peakResize = PeakResizeFromPoint(e.Location)) != null) { sender.Cursor = _peakResize.GetCursor(); return(true); } return(false); }
protected override bool MsGraphControlOnMouseMoveEvent(ZedGraphControl sender, MouseEventArgs e) { if (_peakResize != null) { var peakDisplay = _peakResize.PeakDisplay; PointPair[] points = new[] { new PointPair(peakDisplay.Start, peakDisplay.Height), new PointPair(peakDisplay.End, peakDisplay.Height), }; var screenPt = new PointF(e.Location.X - _peakResize.MousePt.X + _peakResize.CoordPt.X, _peakResize.CoordPt.Y); double x, y; MsGraphControl.GraphPane.ReverseTransform(screenPt, out x, out y); switch (_peakResize.LineSegment) { case LineSegment.Start: points[0] = new PointPair(x, points[0].Y); break; case LineSegment.End: points[1] = new PointPair(x, points[0].Y); break; case LineSegment.Middle: points = new[] { new PointPair(x, points[0].Y), new PointPair(x - points[0].X + points[1].X, points[1].Y) }; break; } if (peakDisplay.HorizontalLine != null) { peakDisplay.HorizontalLine.RemovePoint(1); peakDisplay.HorizontalLine.RemovePoint(0); peakDisplay.HorizontalLine.AddPoint(points[0]); peakDisplay.HorizontalLine.AddPoint(points[1]); } foreach (var lineItemPt in new[] { new KeyValuePair <LineItem, PointPair>(peakDisplay.StartVerticalLine, points[0]), new KeyValuePair <LineItem, PointPair>(peakDisplay.EndVerticalLine, points[1]) }) { if (lineItemPt.Key == null) { continue; } lineItemPt.Key.RemovePoint(1); lineItemPt.Key.RemovePoint(0); lineItemPt.Key.AddPoint(new PointPair(lineItemPt.Value.X, peakDisplay.Height)); lineItemPt.Key.AddPoint(new PointPair(lineItemPt.Value.X, 0)); } MsGraphControl.Invalidate(); sender.Cursor = _peakResize.GetCursor(); return(true); } if (base.MsGraphControlOnMouseMoveEvent(sender, e)) { return(true); } PeakResize peakResize = PeakResizeFromPoint(e.Location); if (peakResize != null) { sender.Cursor = peakResize.GetCursor(); return(true); } return(false); }
protected override bool MsGraphControlOnMouseDownEvent(ZedGraphControl sender, MouseEventArgs e) { _peakResize = null; if (base.MsGraphControlOnMouseDownEvent(sender, e)) { return true; } if ((_peakResize = PeakResizeFromPoint(e.Location)) != null) { sender.Cursor = _peakResize.GetCursor(); return true; } return false; }