drawBarLine method
void
drawBarLine(
- CanvasWrapper canvasWrapper,
- LineChartBarData barData,
- PaintHolder<
LineChartData> holder
Implementation
@visibleForTesting
void drawBarLine(
CanvasWrapper canvasWrapper,
LineChartBarData barData,
PaintHolder<LineChartData> holder,
) {
final viewSize = canvasWrapper.size;
final barList = barData.spots.splitByNullSpots();
// paint each sublist that was built above
// bar is passed in separately from barData
// because barData is the whole line
// and bar is a piece of that line
for (final bar in barList) {
final barPath = generateBarPath(viewSize, barData, bar, holder);
final belowBarPath =
generateBelowBarPath(viewSize, barData, barPath, bar, holder);
final completelyFillBelowBarPath = generateBelowBarPath(
viewSize,
barData,
barPath,
bar,
holder,
fillCompletely: true,
);
final aboveBarPath =
generateAboveBarPath(viewSize, barData, barPath, bar, holder);
final completelyFillAboveBarPath = generateAboveBarPath(
viewSize,
barData,
barPath,
bar,
holder,
fillCompletely: true,
);
drawBelowBar(
canvasWrapper,
belowBarPath,
completelyFillAboveBarPath,
holder,
barData,
);
drawAboveBar(
canvasWrapper,
aboveBarPath,
completelyFillBelowBarPath,
holder,
barData,
);
drawBarShadow(canvasWrapper, barPath, barData);
drawBar(canvasWrapper, barPath, barData, holder);
}
}