drawAxisLine method

  1. @override
void drawAxisLine(
  1. Canvas canvas,
  2. Paint paint
)
override

Implementation

@override
void drawAxisLine(Canvas canvas, Paint paint) {
  if (!axis.axisLine.show) {
    return;
  }
  num allAngle = axis.sweepAngle.abs();
  num angleInterval = allAngle / scale.tickCount;
  num angle = 0;
  while (angle < axis.sweepAngle) {
    num startAngle = axis.offsetAngle + angle;
    num sa = axis.clockwise ? angleInterval : -angleInterval;
    angle += angleInterval;
    dynamic firstData = scale.domainValue(startAngle);
    dynamic endData = scale.domainValue(startAngle + sa);

    LineStyle? style;
    if (axis.axisLine.styleFun != null) {
      style = axis.axisLine.styleFun!.call(DynamicData(firstData), DynamicData(endData), null);
    }
    style ??= axis.axisLine.style;
    style.drawArc(canvas, paint, props.radius, startAngle, sa);
  }
}