renderData method

  1. @override
void renderData(
  1. Canvas canvas,
  2. ChartTransform transform,
  3. LineData lineData
)
override

Implementation

@override
void renderData(
  Canvas canvas,
  ChartTransform transform,
  LineData lineData,
) {

  if (lineData.line.length < 2) return;

  final paint = Paint();

  final hasAreaFill = lineData.areaGradient != null || lineData.areaColor != null;
  if (hasAreaFill) {
    final areaPath = _buildAreaPathBetweenFyAndY(lineData, transform);
    if (areaPath != null) {

      final tAreaPath = transform.path(areaPath);

      if (lineData.areaGradient != null) {
        paint.shader = lineData.areaGradient!.createShader(tAreaPath.getBounds());
      } else {
        paint.shader = null;
        paint.color = lineData.areaColor!;
      }

      paint.style = PaintingStyle.fill;
      canvas.drawPath(tAreaPath, paint);
    }
  }

  lineData.lineType.renderer.render(canvas, transform, lineData);

  drawDataPoints(canvas, paint, transform, lineData, lineData.line);
}