draw method

  1. @override
void draw(
  1. Canvas canvas,
  2. Size size,
  3. ChartContext context
)
override

Implementation

@override
void draw(Canvas canvas, Size size, ChartContext context) {
  final anim = context.animationValue;
  final art = SeriesPaint(context.config.style);

  for (var s = 0; s < context.config.series.length; s++) {
    final series = context.config.series[s];
    final color = series.style.color ?? context.theme.seriesColor(s);
    final glow = art.glow(color, strokeWidth: 0, blur: 4)
      ..style = PaintingStyle.fill;

    for (final point in series.points) {
      final y =
          context.viewport.minY + (point.y - context.viewport.minY) * anim;
      final offset = context.transformer.dataToCanvas(point.x, y);
      final rect = Rect.fromCircle(center: offset, radius: pointRadius);
      // Soft glow (skipped in flat style) then a style-aware point fill.
      canvas.drawCircle(offset, pointRadius + 2, glow);
      canvas.drawCircle(
        offset,
        pointRadius,
        art.blobFill(rect, color, opacity: series.style.opacity),
      );
    }
  }
}