drawArc method

void drawArc(
  1. Canvas canvas,
  2. Paint paint,
  3. double radius,
  4. num startAngle,
  5. num sweepAngle, {
  6. Offset center = Offset.zero,
})

绘制一个圆弧部分(也可以绘制圆)

Implementation

void drawArc(
  Canvas canvas,
  Paint paint,
  double radius,
  num startAngle,
  num sweepAngle, {
  Offset center = Offset.zero,
}) {
  //优化绘制半径、消除
  double r = radius;
  if (align == Align2.start) {
    r -= width / 2;
  } else if (align == Align2.end) {
    r += width / 2;
  }
  Arc arc = Arc(outRadius: r, startAngle: startAngle, sweepAngle: sweepAngle, center: center);
  Path path = arc.arcOpen();
  if (shadow != null) {
    path.drawShadows(canvas, paint, path, [shadow!]);
  }
  fillPaint(paint, rect: path.getBounds());
  if (dash.isNotEmpty) {
    canvas.drawPath(dashPath(path, dash), paint);
  } else {
    canvas.drawPath(path, paint);
  }
}