roundedDropdownPath method
Implementation
Path roundedDropdownPath(Rect rect) {
final calcTriangleHeight = isTriangleDown ? 0 : triangle.height;
rect = Rect.fromLTWH(rect.topLeft.dx, rect.topLeft.dy + calcTriangleHeight,
rect.width, rect.height);
final path = Path();
_drawTopLeftCorner(path, rect);
if (triangle.width > 0 && triangle.height > 0) {
if (!isTriangleDown) {
_drawTriangleUp(
path: path,
boxRect: rect.shift(Offset(0, -triangle.height)),
trianglePosition: _calcArrowPosition(rect.width),
triangle: triangle);
}
}
_drawTopRightCorner(path, rect);
_drawBottomRightCorner(path, rect);
if (triangle.width > 0 && triangle.height > 0) {
if (isTriangleDown) {
_drawTriangleDown(
path: path,
boxRect: rect,
trianglePosition: _calcArrowPosition(rect.width),
triangle: triangle);
}
}
_drawBottomLeftCorner(path, rect);
return path;
}