paint method

void paint(
  1. Canvas canvas,
  2. Rect rect,
  3. bool isOn
)

Paints the knob onto the given canvas in the given rectangle.

Implementation

void paint(Canvas canvas, Rect rect, bool isOn) {
  final RRect rrect = RRect.fromRectAndRadius(
    rect,
    Radius.circular(rect.shortestSide / 2.0),
  );

  if (isOn) {
    for (final BoxShadow shadow in _kSwitchOnBoxShadows) {
      canvas.drawRRect(rrect.shift(shadow.offset), shadow.toPaint());
    }
  } else {
    for (final BoxShadow shadow in _kSwitchOffBoxShadows) {
      canvas.drawRRect(rrect.shift(shadow.offset), shadow.toPaint());
    }
  }

  canvas.drawRRect(rrect, Paint()..color = color);
}