getPath method
Implementation
@override
Path getPath(Rect rect, {TextDirection? textDirection}) {
final Rect(:left, :top, :width, :height) = rect;
assert(width >= 0.0 && height >= 0.0);
var scaleX = width;
var scaleY = height;
if (width <= height) {
scaleY = squash * height + (1.0 - squash) * width;
} else {
scaleX = squash * width + (1.0 - squash) * height;
}
final matrix = Matrix4.identity()
..translateByDouble(
left + (width - scaleX) / 2.0,
top + (height - scaleY) / 2.0,
0.0,
1.0,
)
..scaleByDouble(scaleX, scaleY, 1.0, 1.0);
return path.transform(matrix.storage);
}