getOuterPath method Null safety

  1. @override
dynamic getOuterPath(
  1. dynamic rect,
  2. {dynamic textDirection}
)

Implementation

@override
Path getOuterPath(Rect rect, {TextDirection? textDirection}) {
  rect = Rect.fromPoints(rect.topLeft, rect.bottomRight);
  final double x = arrowWidth, y = arrowHeight, r = 1 - arrowArc;
  return Path()
    ..addRRect(RRect.fromRectAndRadius(rect, Radius.circular(radius)))
    ..moveTo(rect.topCenter.dx, rect.topCenter.dy)
    ..relativeLineTo(x / 2 * r, -y * r)
    ..relativeQuadraticBezierTo(x / 2 * (1 - r), -y * (1 - r), x * (1 - r), 0)
    ..relativeLineTo(x / 2 * r, y * r);
}