Bounds<T extends num> constructor

Bounds<T extends num>(
  1. Point<T> a,
  2. Point<T> b
)

Create a Bounds instance in a safe way.

Implementation

factory Bounds(Point<T> a, Point<T> b) {
  final T minX;
  final T maxX;
  if (a.x > b.x) {
    minX = b.x;
    maxX = a.x;
  } else {
    minX = a.x;
    maxX = b.x;
  }
  final T minY;
  final T maxY;
  if (a.y > b.y) {
    minY = b.y;
    maxY = a.y;
  } else {
    minY = a.y;
    maxY = b.y;
  }
  return Bounds.unsafe(Point<T>(minX, minY), Point<T>(maxX, maxY));
}