protected void MovePointerNextDataPoint(int Offset) { PlotChannelConsecutive plotChannelConsecutive = base.Channel as PlotChannelConsecutive; if (plotChannelConsecutive != null && plotChannelConsecutive.Count != 0 && base.XAxis != null && base.YAxis != null && (base.Style != PlotDataCursorMultipleStyle.ValueY || base.YIsInterpolated) && base.Style != PlotDataCursorMultipleStyle.DeltaY && base.Style != PlotDataCursorMultipleStyle.InverseDeltaY) { bool flag = false; bool flag2 = false; bool flag3 = (Control.ModifierKeys & Keys.Control) == Keys.Control; if (base.Style == PlotDataCursorMultipleStyle.ValueXY) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.ValueX) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.ValueY) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.DeltaX) { if (flag3) { flag = false; flag2 = true; } else { flag = true; flag2 = false; } } if (base.Style == PlotDataCursorMultipleStyle.InverseDeltaX) { if (flag3) { flag = false; flag2 = true; } else { flag = true; flag2 = false; } } if (plotChannelConsecutive != null) { if (flag) { double num = base.XAxis.PercentToValue(base.Pointer1.Position); if (num > plotChannelConsecutive.XLast) { base.SnapPointer1To(plotChannelConsecutive.XLast); return; } if (num < plotChannelConsecutive.XFirst) { base.SnapPointer1To(plotChannelConsecutive.XMin); return; } int num2 = plotChannelConsecutive.CalculateXValueNearestIndex(num) + Offset; if (num2 != -1) { base.SnapPointer1To(plotChannelConsecutive.GetX(num2)); } } if (flag2) { double num = base.XAxis.PercentToValue(base.Pointer2.Position); if (num > plotChannelConsecutive.XLast) { base.SnapPointer2To(plotChannelConsecutive.XLast); } else if (num < plotChannelConsecutive.XFirst) { base.SnapPointer2To(plotChannelConsecutive.XMin); } else { int num2 = plotChannelConsecutive.CalculateXValueNearestIndex(num) + Offset; if (num2 != -1) { base.SnapPointer2To(plotChannelConsecutive.GetX(num2)); } } } } } }
public override void DoSnapToPoint() { PlotChannelConsecutive plotChannelConsecutive = base.Channel as PlotChannelConsecutive; if (plotChannelConsecutive != null && base.XAxis != null && base.YAxis != null && (base.Style != PlotDataCursorMultipleStyle.ValueY || base.YIsInterpolated) && base.Style != PlotDataCursorMultipleStyle.DeltaY && base.Style != PlotDataCursorMultipleStyle.InverseDeltaY && plotChannelConsecutive.Count != 0) { bool flag = false; bool flag2 = false; if (base.Style == PlotDataCursorMultipleStyle.ValueXY) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.ValueX) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.ValueY) { flag = true; flag2 = false; } if (base.Style == PlotDataCursorMultipleStyle.DeltaX) { flag = true; flag2 = true; } if (base.Style == PlotDataCursorMultipleStyle.InverseDeltaX) { flag = true; flag2 = true; } if (plotChannelConsecutive != null) { if (flag) { double num = base.XAxis.PercentToValue(base.Pointer1.Position); if (num > plotChannelConsecutive.XLast) { base.SnapPointer1To(plotChannelConsecutive.XLast); return; } if (num < plotChannelConsecutive.XFirst) { base.SnapPointer1To(plotChannelConsecutive.XMin); return; } int num2 = plotChannelConsecutive.CalculateXValueNearestIndex(num); if (num2 != -1) { base.SnapPointer1To(plotChannelConsecutive.GetX(num2)); } } if (flag2) { double num = base.XAxis.PercentToValue(base.Pointer2.Position); if (num > plotChannelConsecutive.XLast) { base.SnapPointer2To(plotChannelConsecutive.XLast); } else if (num < plotChannelConsecutive.XFirst) { base.SnapPointer2To(plotChannelConsecutive.XMin); } else { int num2 = plotChannelConsecutive.CalculateXValueNearestIndex(num); if (num2 != -1) { base.SnapPointer2To(plotChannelConsecutive.GetX(num2)); } } } } } }