paint method

void paint(
  1. Canvas canvas,
  2. Size size, {
  3. Offset? offset,
})

Call this method whenever the text needs to be repainted.

Center of the arc by default will be in the center rectangle of size with top left in (0, 0). You can control it with offset.

Implementation

void paint(Canvas canvas, Size size, {Offset? offset}) {
  final effectiveOffset = offset ?? Offset(size.width / 2, size.height / 2);
  canvas
    ..save()
    ..translate(effectiveOffset.dx, effectiveOffset.dy)
    ..rotate(_angleWithAlignment);
  _drawText(canvas, _angleMultiplier, _heightOffset);
  canvas.restore();
}