toSegments method
Converts this shape to path segments.
Implementation
@override
List<Segment> toSegments() {
const factor = ((-1 + sqrt2) / 3) * 4;
final d = radius * factor;
return [
MoveSegment(end: center.translate(-radius, 0)),
CubicSegment(
control1: center.translate(-radius, -d),
control2: center.translate(-d, -radius),
end: center.translate(0, -radius),
tag: SegmentTags.top),
CubicSegment(
control1: center.translate(d, -radius),
control2: center.translate(radius, -d),
end: center.translate(radius, 0),
tag: SegmentTags.right),
CubicSegment(
control1: center.translate(radius, d),
control2: center.translate(d, radius),
end: center.translate(0, radius),
tag: SegmentTags.bottom),
CubicSegment(
control1: center.translate(-d, radius),
control2: center.translate(-radius, d),
end: center.translate(-radius, 0),
tag: SegmentTags.left),
CloseSegment(),
];
}