calculateSegmentPoints method

  1. @override
void calculateSegmentPoints ()
override

Calculates the rendering bounds of a segment.

Implementation

@override
void calculateSegmentPoints() {
  final dynamic start = series._xAxis._visibleRange.minimum;
  final dynamic end = series._xAxis._visibleRange.maximum;
  x1 = y1 = x2 = y2 = double.nan;
  final Rect rect = _calculatePlotOffset(
      series._chart._chartAxis._axisClipRect,
      Offset(series._xAxis.plotOffset, series._yAxis.plotOffset));
  if ((_x1Pos != null &&
          _x2Pos != null &&
          _y1Pos != null &&
          _y2Pos != null) &&
      ((_x1Pos >= start && _x1Pos <= end) ||
          (_x2Pos >= start && _x2Pos <= end) ||
          (start >= _x1Pos && start <= _x2Pos))) {
    final _ChartLocation currentPoint = _calculatePoint(
        _x1Pos,
        _y1Pos,
        series._xAxis,
        series._yAxis,
        series._chart._requireInvertedAxis,
        series,
        rect);
    final _ChartLocation nextPoint = _calculatePoint(
        _x2Pos,
        _y2Pos,
        series._xAxis,
        series._yAxis,
        series._chart._requireInvertedAxis,
        series,
        rect);
    final _ChartLocation midPoint = _calculatePoint(
        _midX,
        _midY,
        series._xAxis,
        series._yAxis,
        series._chart._requireInvertedAxis,
        series,
        rect);
    x1 = currentPoint.x;
    y1 = currentPoint.y;
    x2 = nextPoint.x;
    y2 = nextPoint.y;
    x3 = midPoint.x;
    y3 = midPoint.y;
    segmentRect = RRect.fromRectAndRadius(_presentPoint.region, Radius.zero);
  }
}