draw method
Implementation
@override
void draw(Canvas canvas, Size size, ChartContext context) {
final radius = context.config.barBorderRadius;
for (var s = 0; s < context.config.series.length; s++) {
final series = context.config.series[s];
final color = series.style.color ?? context.theme.seriesColor(s);
final rowTop = context.bounds.top + s * rowHeight;
for (final point in series.points) {
final start = (point.metadata['start'] as num?)?.toDouble() ?? point.x;
final end = (point.metadata['end'] as num?)?.toDouble() ?? point.y;
final x1 = context.transformer.dataToCanvasX(start);
final x2 = context.transformer.dataToCanvasX(end);
final rect = Rect.fromLTRB(x1, rowTop + 4, x2, rowTop + rowHeight - 4);
drawRoundedBar(
canvas,
rect,
radius: radius,
paint: context.paintCache.fill('timeline-$s', color),
);
if (point.label != null) {
final builder = ParagraphBuilder(ParagraphStyle(fontSize: 10))
..pushStyle(context.theme.axisTextStyle.getTextStyle())
..addText(point.label!);
final paragraph = builder.build()
..layout(ParagraphConstraints(width: rect.width));
canvas.drawParagraph(paragraph, Offset(rect.left + 4, rect.top + 4));
}
}
}
}