drawDots method

  1. @visibleForTesting
void drawDots(
  1. CanvasWrapper canvasWrapper,
  2. LineChartBarData barData,
  3. PaintHolder<LineChartData> holder
)

Implementation

@visibleForTesting
void drawDots(
  CanvasWrapper canvasWrapper,
  LineChartBarData barData,
  PaintHolder<LineChartData> holder,
) {
  if (!barData.dotData.show || barData.spots.isEmpty) {
    return;
  }
  final viewSize = canvasWrapper.size;

  final barXDelta = getBarLineXLength(barData, viewSize, holder);

  for (var i = 0; i < barData.spots.length; i++) {
    final spot = barData.spots[i];
    if (spot.isNotNull() && barData.dotData.checkToShowDot(spot, barData)) {
      final x = getPixelX(spot.x, viewSize, holder);
      final y = getPixelY(spot.y, viewSize, holder);
      final xPercentInLine = (x / barXDelta) * 100;
      final painter =
          barData.dotData.getDotPainter(spot, xPercentInLine, barData, i);

      canvasWrapper.drawDot(painter, spot, Offset(x, y));
    }
  }
}