Rectangle class

An immutable, 2D, axis-aligned, floating-point rectangle whose coordinates are relative to a given origin.

A Rect can be created with one its constructors or from an vm.Vector2 and a Size using the & operator:

Rect myRect = const vm.Vector2(1.0, 2.0) & const Size(3.0, 4.0);

Constructors

Rectangle.fromCenter({required Vector2 center, required double width, required double height})
Constructs a rectangle from its center point, width, and height.
Rectangle.fromCircle({required Vector2 center, required double radius})
Construct a rectangle that bounds the given circle.
Rectangle.fromLTRB(double left, double top, double right, double bottom)
Construct a rectangle from its left, top, right, and bottom edges.
const
Rectangle.fromLTWH(double left, double top, double width, double height)
Construct a rectangle from its left and top edges, its width, and its height.
const
Rectangle.fromPoints(Vector2 a, Vector2 b)
Construct the smallest rectangle that encloses the given offsets, treating them as vectors from the origin.

Properties

bottom double
The offset of the bottom edge of this rectangle from the y axis.
final
bottomCenter → Vector2
The offset to the center of the bottom edge of this rectangle.
no setter
bottomEdge Line
no setter
bottomLeft → Vector2
The offset to the intersection of the bottom and left edges of this rectangle.
no setter
bottomRight → Vector2
The offset to the intersection of the bottom and right edges of this rectangle.
no setter
center → Vector2
The offset to the point halfway between the left and right and the top and bottom edges of this rectangle.
no setter
centerLeft → Vector2
The offset to the center of the left edge of this rectangle.
no setter
centerRight → Vector2
The offset to the center of the right edge of this rectangle.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasNaN bool
Whether any of the dimensions are NaN.
no setter
height double
The distance between the top and bottom edges of this rectangle.
no setter
isEmpty bool
Whether this rectangle encloses a non-zero area. Negative areas are considered empty.
no setter
isFinite bool
Whether all coordinates of this rectangle are finite.
no setter
isInfinite bool
Whether any of the coordinates of this rectangle are equal to positive infinity.
no setter
left double
The offset of the left edge of this rectangle from the x axis.
final
leftEdge Line
no setter
longestSide double
The greater of the magnitudes of the width and the height of this rectangle.
no setter
The offset of the right edge of this rectangle from the x axis.
final
rightEdge Line
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shortestSide double
The lesser of the magnitudes of the width and the height of this rectangle.
no setter
top double
The offset of the top edge of this rectangle from the y axis.
final
topCenter → Vector2
The offset to the center of the top edge of this rectangle.
no setter
topEdge Line
no setter
topLeft → Vector2
The offset to the intersection of the top and left edges of this rectangle.
no setter
topRight → Vector2
The offset to the intersection of the top and right edges of this rectangle.
no setter
width double
The distance between the left and right edges of this rectangle.
no setter

Methods

contains(Vector2 offset) bool
Whether the point specified by the given offset (which is assumed to be relative to the origin) lies between the left and right and the top and bottom edges of this rectangle.
deflate(double delta) Rectangle
Returns a new rectangle with edges moved inwards by the given delta.
expandToInclude(Rectangle other) Rectangle
Returns a new rectangle which is the bounding box containing this rectangle and the given rectangle.
inflate(double delta) Rectangle
Returns a new rectangle with edges moved outwards by the given delta.
intersect(Rectangle other) Rectangle
Returns a new rectangle that is the intersection of the given rectangle and this rectangle. The two rectangles must overlap for this to be meaningful. If the two rectangles do not overlap, then the resulting Rect will have a negative width or height.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
overlaps(Rectangle other) bool
Whether other has a nonzero area of overlap with this rectangle.
shift(Vector2 offset) Rectangle
Returns a new rectangle translated by the given offset.
toString() String
A string representation of this object.
inherited
translate(double translateX, double translateY) Rectangle
Returns a new rectangle with translateX added to the x components and translateY added to the y components.

Operators

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

Static Methods

lerp(Rectangle? a, Rectangle? b, double t) Rectangle?
Linearly interpolate between two rectangles.

Constants

largest → const Rectangle
A rectangle that covers the entire coordinate space.
zero → const Rectangle
A rectangle with left, top, right, and bottom edges all at zero.