render method

  1. @override
void render(
  1. Canvas canvas,
  2. double screenX,
  3. double screenY,
  4. double depth,
  5. double scale,
)
override

Renders this element at the given projected screen position.

Implementation

@override
void render(
  Canvas canvas,
  double screenX,
  double screenY,
  double depth,
  double scale,
) {
  final r = radius * scale;
  final center = Offset(screenX, screenY);

  // Glow
  if (glowRadius > 0) {
    canvas.drawCircle(
      center,
      (radius + glowRadius) * scale,
      Paint()
        ..color = color.withValues(alpha: 0.2)
        ..maskFilter = MaskFilter.blur(BlurStyle.normal, glowRadius * scale),
    );
  }

  // Core
  canvas.drawCircle(center, r, Paint()..color = color);

  // Bright center
  canvas.drawCircle(
    center,
    r * 0.4,
    Paint()..color = const Color(0xFFFFFFFF),
  );
}