segmentIntersectsRect function

bool segmentIntersectsRect(
  1. Offset a,
  2. Offset b,
  3. Rect rect
)

Implementation

bool segmentIntersectsRect(Offset a, Offset b, Rect rect) {
  if (rect.contains(a) || rect.contains(b)) return true;
  final tl = rect.topLeft;
  final tr = rect.topRight;
  final bl = rect.bottomLeft;
  final br = rect.bottomRight;
  return _segmentsIntersect(a, b, tl, tr) ||
      _segmentsIntersect(a, b, tr, br) ||
      _segmentsIntersect(a, b, br, bl) ||
      _segmentsIntersect(a, b, bl, tl);
}