calculateLabelPosition method
ArcLabelPosition
calculateLabelPosition(
- TextElement labelElement,
- TextStyle labelStyle,
- int insideArcWidth,
- int outsideArcWidth,
- ArcRendererElement arcRendererelement,
- ArcLabelPosition labelPosition,
override
Implementation
@override
ArcLabelPosition calculateLabelPosition(
TextElement labelElement,
TextStyle labelStyle,
int insideArcWidth,
int outsideArcWidth,
ArcRendererElement arcRendererelement,
ArcLabelPosition labelPosition,
) {
assert(arcRendererelement is SunburstArcRendererElement);
if ((arcRendererelement as SunburstArcRendererElement).isOuterMostRing ==
true) {
return super.calculateLabelPosition(
labelElement,
labelStyle,
insideArcWidth,
outsideArcWidth,
arcRendererelement,
outerRingArcLabelPosition,
);
} else if (arcRendererelement.isLeaf == true) {
return super.calculateLabelPosition(
labelElement,
labelStyle,
insideArcWidth,
outsideArcWidth,
arcRendererelement,
innerRingLeafArcLabelPosition,
);
} else {
/// TODO: Improve label handling for sunburst chart. When a
/// more sophisticated collision detection is in place, we can draw the
/// label for inner arc outside when it doesn't collide with outer arcs.
// Force label for arc on the inner ring inside.
return ArcLabelPosition.inside;
}
}