/// <summary> /// Returns an array with 3 ranges indicating the first and last point for the given lines in each region. /// </summary> /// <param name="first">The index of the first line.</param> /// <param name="last">The index of the last line.</param> /// <param name="allowEstimatesForOutOfViewLines">if set to <c>true</c> allow estimates for out of view lines.</param> /// <returns></returns> public override DoubleSpan[] RangeToRegionPoints(int first, int last, bool allowEstimatesForOutOfViewLines) { var result = new DoubleSpan[3]; for (int n = 0; n < 3; n++) { result[n] = RangeToPoints((ScrollAxisRegion)n, first, last, allowEstimatesForOutOfViewLines); } return(result); //new DoubleSpan[3] { DoubleSpan.Empty, DoubleSpan.Empty, DoubleSpan.Empty }; }
/// <summary> /// Returns an array with 3 ranges indicating the first and last point for the given lines in each region. /// </summary> /// <param name="first">The index of the first line.</param> /// <param name="last">The index of the last line.</param> /// <param name="allowEstimatesForOutOfViewLines">if set to <c>true</c> allow estimates for out of view lines.</param> /// <returns></returns> public override DoubleSpan[] RangeToRegionPoints(int first, int last, bool allowEstimatesForOutOfViewLines) { double p1, p2; p1 = Distances.GetCumulatedDistanceAt(first); p2 = last >= Distances.Count - 1 ? Distances.TotalDistance : Distances.GetCumulatedDistanceAt(last + 1); var result = new DoubleSpan[3]; for (int n = 0; n < 3; n++) { result[n] = RangeToPointsHelper((ScrollAxisRegion)n, p1, p2); } return(result); }