description

# Rectangle<T extends num> class

A class for representing two-dimensional rectangles whose properties are immutable.

Legacy: New usages of Rectangle are discouraged.

- If you are using the `Rectangle` class with `dart:html`, we recommend migrating to `package:web`. To learn how and why to migrate, check out the migration guide.
- If you want to store the boundaries of a rectangle in some coordinate system, consider using a record. Depending on how you will use it, this could look like `var boundaries = (mixX: x1, maxX: x2, minY: y1, maxY: y2)`.
- If you need to perform intersection calculations or containment checks, consider using a dedicated library, such as `package:vector_math`.
- If you are developing a Flutter application or package, consider using the `Rect` type from `dart:ui`.

Implementers
  - CssRect
  - DomRectReadOnly
  - MutableRectangle

## Constructors

Rectangle(T left, T top, T width, T height)
  Create a rectangle spanned by `(left, top)` and `(left+width, top+height)`.
  const
Rectangle.fromPoints(Point<T> a, Point<T> b)
  Create a rectangle spanned by the points `a` and `b`;
  factory

## Properties

bottom → T
  The y-coordinate of the bottom edge.
  no setter inherited
bottomLeft → Point<T>
  no setter inherited
bottomRight → Point<T>
  no setter inherited
hashCode → int
  The hash code for this object.
  no setter inherited
height → T
  The height of the rectangle.
  final
left → T
  The x-coordinate of the left edge.
  final
right → T
  The x-coordinate of the right edge.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
top → T
  The y-coordinate of the top edge.
  final
topLeft → Point<T>
  no setter inherited
topRight → Point<T>
  no setter inherited
width → T
  The width of the rectangle.
  final

## Methods

boundingBox(Rectangle<T> other) → Rectangle<T>
  Returns a new rectangle which completely contains `this` and `other`.
  inherited
containsPoint(Point<num> another) → bool
  Tests whether `another` is inside or along the edges of `this`.
  inherited
containsRectangle(Rectangle<num> another) → bool
  Tests whether `this` entirely contains `another`.
  inherited
intersection(Rectangle<T> other) → Rectangle<T>?
  Computes the intersection of `this` and `other`.
  inherited
intersects(Rectangle<num> other) → bool
  Returns true if `this` intersects `other`.
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited