customizeSegment method

  1. @override
void customizeSegment(
  1. ChartSegment segment
)
override

Changes the series color, border color, and border width.

Implementation

@override
void customizeSegment(ChartSegment segment) {
  final WaterfallSegment<T, D> waterfallSegment =
      segment as WaterfallSegment<T, D>;
  final int index = waterfallSegment.currentSegmentIndex;
  Color? color;
  if (_intermediateSumValues[index] && intermediateSumColor != null) {
    color = intermediateSumColor;
  } else if (_totalSumValues[index] && totalSumColor != null) {
    color = totalSumColor;
  } else if (yValues[index] < 0 && negativePointsColor != null) {
    color = negativePointsColor;
  }

  updateSegmentColor(waterfallSegment, borderColor, borderWidth,
      fillColor: color);
  updateSegmentGradient(waterfallSegment,
      gradientBounds: waterfallSegment.segmentRect?.outerRect,
      gradient: gradient,
      borderGradient: borderGradient);

  segment.connectorLineStrokePaint
    ..color = (connectorLineSettings.color ??
        chartThemeData!.waterfallConnectorLineColor)!
    ..strokeWidth = connectorLineSettings.width;
}