roundedDropdownPath method

Path roundedDropdownPath(
  1. Rect rect
)

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 (!isTriangleDown) {
    _drawTriangleUp(
        path: path,
        boxRect: rect.shift(Offset(0, -triangle.height)),
        trianglePosition: _calcArrowPosition(rect.width),
        triangle: triangle);
  }

  _drawTopRightCorner(path, rect);
  _drawBottomRightCorner(path, rect);

  if (isTriangleDown) {
    _drawTriangleDown(
        path: path,
        boxRect: rect,
        trianglePosition: _calcArrowPosition(rect.width),
        triangle: triangle);
  }

  _drawBottomLeftCorner(path, rect);
  return path;
}