Struct Rectangle
- Namespace
- Stride.Core.Mathematics
- Assembly
- Stride.Core.Mathematics.dll
A rectangle structure defining X,Y,Width,Height.
[DataContract("Rectangle")]
[DataStyle(DataStyle.Compact)]
public struct Rectangle : IEquatable<Rectangle>
- Implements
Constructors
Rectangle(int, int, int, int)
Initializes a new instance of the Rectangle struct.
public Rectangle(int x, int y, int width, int height)
Parameters
Fields
Empty
An empty rectangle.
public static readonly Rectangle Empty
Field Value
Height
Gets or sets the height.
[DataMember(3)]
public int Height
Field Value
- int
The height.
Width
Gets or sets the width.
[DataMember(2)]
public int Width
Field Value
- int
The width.
X
Gets or sets the X position.
[DataMember(0)]
public int X
Field Value
- int
The X position.
Y
Gets or sets the Y position.
[DataMember(1)]
public int Y
Field Value
- int
The Y position.
Properties
Bottom
Gets or sets the bottom.
public readonly int Bottom { get; }
Property Value
- int
The bottom.
BottomLeft
Gets the position of the bottom-left corner of the rectangle.
public readonly Point BottomLeft { get; }
Property Value
- Point
The bottom-left corner of the rectangle.
BottomRight
Gets the position of the bottom-right corner of the rectangle.
public readonly Point BottomRight { get; }
Property Value
- Point
The bottom-right corner of the rectangle.
Center
Gets the Point that specifies the center of the rectangle.
public readonly Point Center { get; }
Property Value
- Point
The center.
IsEmpty
Gets a value that indicates whether the rectangle is empty.
public readonly bool IsEmpty { get; }
Property Value
- bool
true
if [is empty]; otherwise,false
.
Left
Gets or sets the left.
public int Left { readonly get; set; }
Property Value
- int
The left.
Location
Gets or sets the location.
public Point Location { readonly get; set; }
Property Value
- Point
The location.
Right
Gets or sets the right.
public readonly int Right { get; }
Property Value
- int
The right.
Size
Gets or sets the size of the rectangle.
public Size2 Size { readonly get; set; }
Property Value
- Size2
The size of the rectangle.
Top
Gets or sets the top.
public int Top { readonly get; set; }
Property Value
- int
The top.
TopLeft
Gets the position of the top-left corner of the rectangle.
public readonly Point TopLeft { get; }
Property Value
- Point
The top-left corner of the rectangle.
TopRight
Gets the position of the top-right corner of the rectangle.
public readonly Point TopRight { get; }
Property Value
- Point
The top-right corner of the rectangle.
Methods
Contains(Int2)
public readonly bool Contains(Int2 int2)
Parameters
Returns
Contains(Point)
Determines whether this rectangle contains a specified Point.
public readonly bool Contains(Point value)
Parameters
value
PointThe Point to evaluate.
Returns
Contains(ref readonly Point, out bool)
Determines whether this rectangle contains a specified Point.
public readonly void Contains(ref readonly Point value, out bool result)
Parameters
value
PointThe Point to evaluate.
result
bool[OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
Contains(Rectangle)
Determines whether this rectangle entirely contains a specified rectangle.
public readonly bool Contains(Rectangle value)
Parameters
value
RectangleThe rectangle to evaluate.
Returns
Contains(ref readonly Rectangle, out bool)
Determines whether this rectangle entirely contains a specified rectangle.
public readonly void Contains(ref readonly Rectangle value, out bool result)
Parameters
value
RectangleThe rectangle to evaluate.
result
bool[OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
Contains(Vector2)
public readonly bool Contains(Vector2 vector2D)
Parameters
Returns
Contains(int, int)
Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.
public readonly bool Contains(int x, int y)
Parameters
Returns
Contains(float, float)
Checks, if specified point is inside Rectangle.
public readonly bool Contains(float x, float y)
Parameters
Returns
Equals(Rectangle)
Determines whether the specified Rectangle is equal to this instance.
public readonly bool Equals(Rectangle other)
Parameters
Returns
Equals(object?)
Determines whether the specified object is equal to this instance.
public override readonly bool Equals(object? obj)
Parameters
Returns
GetHashCode()
Returns a hash code for this instance.
public override readonly int GetHashCode()
Returns
- int
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Inflate(int, int)
Pushes the edges of the rectangle out by the horizontal and vertical values specified.
public void Inflate(int horizontalAmount, int verticalAmount)
Parameters
horizontalAmount
intValue to push the sides out by.
verticalAmount
intValue to push the top and bottom out by.
Intersect(Rectangle, Rectangle)
Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
public static Rectangle Intersect(Rectangle value1, Rectangle value2)
Parameters
Returns
- Rectangle
The intersection rectangle.
Intersect(ref readonly Rectangle, ref readonly Rectangle, out Rectangle)
Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
public static void Intersect(ref readonly Rectangle value1, ref readonly Rectangle value2, out Rectangle result)
Parameters
value1
RectangleThe first rectangle to compare.
value2
RectangleThe second rectangle to compare.
result
Rectangle[OutAttribute] The area where the two first parameters overlap.
Intersects(Rectangle)
Determines whether a specified rectangle intersects with this rectangle.
public readonly bool Intersects(Rectangle value)
Parameters
value
RectangleThe rectangle to evaluate.
Returns
Intersects(ref readonly Rectangle, out bool)
Determines whether a specified rectangle intersects with this rectangle.
public readonly void Intersects(ref readonly Rectangle value, out bool result)
Parameters
value
RectangleThe rectangle to evaluate
result
bool[OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
Offset(Point)
Changes the position of the rectangle.
public void Offset(Point amount)
Parameters
amount
PointThe values to adjust the position of the rectangle by.
Offset(int, int)
Changes the position of the rectangle.
public void Offset(int offsetX, int offsetY)
Parameters
ToString()
Returns the fully qualified type name of this instance.
public override readonly string ToString()
Returns
- string
The fully qualified type name.
Union(Rectangle, Int2)
Creates a new rectangle that incorporate the provided point to the given rectangle.
public static Rectangle Union(Rectangle rectangle, Int2 point)
Parameters
Returns
- Rectangle
The union rectangle.
Union(Rectangle, Rectangle)
Creates a new rectangle that exactly contains two other rectangles.
public static Rectangle Union(Rectangle value1, Rectangle value2)
Parameters
Returns
- Rectangle
The union rectangle.
Union(ref readonly Rectangle, ref readonly Rectangle, out Rectangle)
Creates a new rectangle that exactly contains two other rectangles.
public static void Union(ref readonly Rectangle value1, ref readonly Rectangle value2, out Rectangle result)
Parameters
value1
RectangleThe first rectangle to contain.
value2
RectangleThe second rectangle to contain.
result
Rectangle[OutAttribute] The rectangle that must be the union of the first two rectangles.
Operators
operator ==(Rectangle, Rectangle)
Implements the operator ==.
public static bool operator ==(Rectangle left, Rectangle right)
Parameters
Returns
- bool
The result of the operator.
implicit operator RectangleF(Rectangle)
Performs an implicit conversion to the RectangleF structure.
public static implicit operator RectangleF(Rectangle value)
Parameters
Returns
- RectangleF
The converted structure.
Remarks
Performs direct converstion from int to float.
operator !=(Rectangle, Rectangle)
Implements the operator !=.
public static bool operator !=(Rectangle left, Rectangle right)
Parameters
Returns
- bool
The result of the operator.