render method
Implementation
@override
void render() {
var ctx = startRender();
legendWidth = 0;
ctx.font = legendFont;
items.map((item) => ctx.measureText(legendLabel(item)).width).forEach((a) {
if (a > legendWidth) {
legendWidth = a.ceil();
}
});
legendWidth += 30;
double start = 0;
for (var i = 0; i < items.length; i++) {
if (!items[i].isActive) {
drawSegment(ctx, i, items[i], start);
}
start += items[i].weight;
}
//draw active items over inactive
start = 0;
for (var i = 0; i < items.length; i++) {
if (items[i].isActive) {
drawSegment(ctx, i, items[i], start);
}
start += items[i].weight;
}
}