doLayout method
Implementation
@override
void doLayout(Context context, TreeLayoutNode root, num width, num height) {
Offset center = Offset(this.center[0].convert(width), this.center[1].convert(height));
num radius = math.min(width, height) * 0.5;
if (dendrogram) {
_layoutForDendrogram(context, root, sweepAngle, radius);
} else {
_layoutForTidy(context, root, sweepAngle, radius);
}
root.each((node, index, startNode) {
Offset c;
if (clockwise) {
c = circlePoint(node.y, node.x + rotateAngle, center);
} else {
c = circlePoint(node.y, sweepAngle - (node.x + rotateAngle), center);
}
node.x = c.dx;
node.y = c.dy;
return false;
});
root.x = center.dx;
root.y = center.dy;
}