drawBar method
void
drawBar(
- CanvasWrapper canvasWrapper,
- Path barPath,
- LineChartBarData barData,
- PaintHolder<
LineChartData> holder,
draw the main bar line by the barPath
Implementation
@visibleForTesting
void drawBar(
CanvasWrapper canvasWrapper,
Path barPath,
LineChartBarData barData,
PaintHolder<LineChartData> holder,
) {
if (!barData.show) {
return;
}
final viewSize = canvasWrapper.size;
_barPaint
..strokeCap = barData.isStrokeCapRound ? StrokeCap.round : StrokeCap.butt
..strokeJoin =
barData.isStrokeJoinRound ? StrokeJoin.round : StrokeJoin.miter;
final rectAroundTheLine = Rect.fromLTRB(
getPixelX(barData.mostLeftSpot.x, viewSize, holder),
getPixelY(barData.mostTopSpot.y, viewSize, holder),
getPixelX(barData.mostRightSpot.x, viewSize, holder),
getPixelY(barData.mostBottomSpot.y, viewSize, holder),
);
_barPaint
..setColorOrGradient(
barData.color,
barData.gradient,
rectAroundTheLine,
)
..maskFilter = null
..strokeWidth = barData.barWidth
..transparentIfWidthIsZero();
barPath = barPath.toDashedPath(barData.dashArray);
canvasWrapper.drawPath(barPath, _barPaint);
}