paint method
Execute all layers in order onto canvas.
Implementation
void paint(Canvas canvas, Size size) {
if (_disposed) return;
final safeSize = _safePaintSize(size);
setSize(safeSize);
if (!enableDiagnostics && onReport == null) {
for (final l in _layers) {
l.paintOnto(canvas, safeSize);
}
return;
}
final sw = Stopwatch()..start();
final layerReports = <ChartRenderLayerReport>[];
for (final l in _layers) {
layerReports.add(l.paintOntoWithReport(canvas, safeSize));
}
sw.stop();
final report = ChartRenderPipelineReport(
size: safeSize,
totalPaintDuration: sw.elapsed,
layers: List.unmodifiable(layerReports),
);
_lastReport = report;
onReport?.call(report);
}