drawAngryFace method

void drawAngryFace(
  1. Canvas canvas,
  2. double radius,
  3. Offset center
)

Implementation

void drawAngryFace(Canvas canvas, double radius, Offset center) {
  // Draw the body
  final paint = Paint()..color = Colors.red;
  canvas.drawCircle(center, radius, paint);

  // Draw the mouth
  final smilePaint = Paint()
    ..style = PaintingStyle.stroke
    ..strokeWidth = 5;

  canvas.drawArc(
      Rect.fromCircle(center: center + Offset(0.0, 30.0), radius: radius / 2),
      0,
      -Math.pi,
      false,
      smilePaint);

  canvas.drawLine(
      Offset(center.dx - radius + 20, center.dy - radius / 1.5 + 5),
      Offset(center.dx - radius / 3.5, center.dy - radius / 3),
      smilePaint);

  canvas.drawLine(
      Offset(center.dx + radius / 2 + 10, center.dy - radius / 2 - 5),
      Offset(center.dx + radius / 3, center.dy - radius / 3),
      smilePaint);

  // Draw the eyes
  canvas.drawCircle(
      Offset(center.dx - radius / 2, center.dy - radius / 2 + 10.0),
      8,
      Paint());
  canvas.drawCircle(
      Offset(center.dx + radius / 2, center.dy - radius / 2 + 10.0),
      8,
      Paint());
}