paintStud static method

void paintStud(
  1. Canvas canvas,
  2. Offset center,
  3. double radius,
  4. Color color, {
  5. bool shadow = true,
})

Paints a shiny round stud of color at center.

Implementation

static void paintStud(
    Canvas canvas, Offset center, double radius, Color color,
    {bool shadow = true}) {
  if (shadow) {
    canvas.drawCircle(
      center + Offset(0, radius * 0.35),
      radius,
      Paint()
        ..color = const Color(0x66000000)
        ..maskFilter = MaskFilter.blur(BlurStyle.normal, radius * 0.4),
    );
  }
  canvas.drawCircle(
    center,
    radius,
    Paint()
      ..shader = RadialGradient(
        center: const Alignment(-0.35, -0.4),
        colors: [
          Color.lerp(color, const Color(0xFFFFFFFF), 0.85)!,
          Color.lerp(color, const Color(0xFFFFFFFF), 0.35)!,
          color,
          Color.lerp(color, const Color(0xFF000000), 0.2)!,
        ],
        stops: const [0.0, 0.35, 0.75, 1.0],
      ).createShader(Rect.fromCircle(center: center, radius: radius)),
  );
}