onPaint method
Draws segment in series bounds.
Implementation
@override
void onPaint(Canvas canvas) {
_segmentRect = RRect.fromRectAndRadius(_currentPoint!.region!, Radius.zero);
if (_seriesRenderer._chartState!._widgetNeedUpdate &&
!_seriesRenderer._reAnimate &&
!_seriesRenderer._chartState!._isLegendToggled &&
_seriesRenderer._chartState!._oldSeriesRenderers.isNotEmpty &&
_oldSeriesRenderer != null &&
_oldSeriesRenderer!._segments.isNotEmpty &&
_oldSeriesRenderer!._segments[0] is BubbleSegment &&
_series.animationDuration > 0 &&
_oldPoint != null) {
final BubbleSegment currentSegment =
_seriesRenderer._segments[currentSegmentIndex!] as BubbleSegment;
final BubbleSegment? oldSegment =
(currentSegment._oldSeriesRenderer!._segments.length - 1 >=
currentSegmentIndex!)
? currentSegment._oldSeriesRenderer!
._segments[currentSegmentIndex!] as BubbleSegment?
: null;
_animateBubbleSeries(
canvas,
_centerX,
_centerY,
oldSegment?._centerX,
oldSegment?._centerY,
oldSegment?._size,
animationFactor,
_radius,
strokePaint!,
fillPaint!,
_seriesRenderer);
} else {
canvas.drawCircle(
Offset(_centerX, _centerY), _radius * animationFactor, fillPaint!);
canvas.drawCircle(
Offset(_centerX, _centerY), _radius * animationFactor, strokePaint!);
}
}