Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    Rectangle Struct

    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>
    Name Description
    Constructors
    Rectangle(Int32, Int32, Int32, Int32)

    Initializes a new instance of the Rectangle struct.

    Fields
    Empty

    An empty rectangle.

    Height

    Gets or sets the height.

    Width

    Gets or sets the width.

    X

    Gets or sets the X position.

    Y

    Gets or sets the Y position.

    Properties
    Bottom

    Gets or sets the bottom.

    BottomLeft

    Gets the position of the bottom-left corner of the rectangle.

    BottomRight

    Gets the position of the bottom-right corner of the rectangle.

    Center

    Gets the Point that specifies the center of the rectangle.

    IsEmpty

    Gets a value that indicates whether the rectangle is empty.

    Left

    Gets or sets the left.

    Location

    Gets or sets the location.

    Right

    Gets or sets the right.

    Size

    Gets or sets the size of the rectangle.

    Top

    Gets or sets the top.

    TopLeft

    Gets the position of the top-left corner of the rectangle.

    TopRight

    Gets the position of the top-right corner of the rectangle.

    Methods
    Contains(Int2)

    Checks, if specified Int2 is inside Rectangle.

    Contains(Point)

    Determines whether this rectangle contains a specified Point.

    Contains(ref Point, out Boolean)

    Determines whether this rectangle contains a specified Point.

    Contains(Rectangle)

    Determines whether this rectangle entirely contains a specified rectangle.

    Contains(ref Rectangle, out Boolean)

    Determines whether this rectangle entirely contains a specified rectangle.

    Contains(Vector2)

    Checks, if specified Vector2 is inside Rectangle.

    Contains(Int32, Int32)

    Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.

    Contains(Single, Single)

    Checks, if specified point is inside Rectangle.

    Equals(Rectangle)

    Determines whether the specified Rectangle is equal to this instance.

    Equals(Object)

    Determines whether the specified System.Object is equal to this instance.

    GetHashCode()

    Returns a hash code for this instance.

    Inflate(Int32, Int32)

    Pushes the edges of the rectangle out by the horizontal and vertical values specified.

    Intersect(Rectangle, Rectangle)

    Creates a rectangle defining the area where one rectangle overlaps with another rectangle.

    Intersect(ref Rectangle, ref Rectangle, out Rectangle)

    Creates a rectangle defining the area where one rectangle overlaps with another rectangle.

    Intersects(Rectangle)

    Determines whether a specified rectangle intersects with this rectangle.

    Intersects(ref Rectangle, out Boolean)

    Determines whether a specified rectangle intersects with this rectangle.

    Offset(Point)

    Changes the position of the rectangle.

    Offset(Int32, Int32)

    Changes the position of the rectangle.

    ToString()
    Union(Rectangle, Int2)

    Creates a new rectangle that incorporate the provided point to the given rectangle.

    Union(Rectangle, Rectangle)

    Creates a new rectangle that exactly contains two other rectangles.

    Union(ref Rectangle, ref Rectangle, out Rectangle)

    Creates a new rectangle that exactly contains two other rectangles.

    Operators
    Equality(Rectangle, Rectangle)

    Implements the operator ==.

    Implicit(Rectangle to RectangleF)

    Performs an implicit conversion to the RectangleF structure.

    Inequality(Rectangle, Rectangle)

    Implements the operator !=.

    | Improve this Doc View Source

    Constructors


    Rectangle(Int32, Int32, Int32, Int32)

    Initializes a new instance of the Rectangle struct.

    public Rectangle(int x, int y, int width, int height)
    Parameters
    Type Name Description
    System.Int32 x

    The left.

    System.Int32 y

    The top.

    System.Int32 width

    The width.

    System.Int32 height

    The height.

    | Improve this Doc View Source

    Fields


    Empty

    An empty rectangle.

    public static readonly Rectangle Empty
    Field Value
    Type Description
    Rectangle

    Height

    Gets or sets the height.

    [DataMember(3)]
    public int Height
    Field Value
    Type Description
    System.Int32

    The height.


    Width

    Gets or sets the width.

    [DataMember(2)]
    public int Width
    Field Value
    Type Description
    System.Int32

    The width.


    X

    Gets or sets the X position.

    [DataMember(0)]
    public int X
    Field Value
    Type Description
    System.Int32

    The X position.


    Y

    Gets or sets the Y position.

    [DataMember(1)]
    public int Y
    Field Value
    Type Description
    System.Int32

    The Y position.

    | Improve this Doc View Source

    Properties


    Bottom

    Gets or sets the bottom.

    public readonly int Bottom { get; }
    Property Value
    Type Description
    System.Int32

    The bottom.


    BottomLeft

    Gets the position of the bottom-left corner of the rectangle.

    public readonly Point BottomLeft { get; }
    Property Value
    Type Description
    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
    Type Description
    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
    Type Description
    Point

    The center.


    IsEmpty

    Gets a value that indicates whether the rectangle is empty.

    public readonly bool IsEmpty { get; }
    Property Value
    Type Description
    System.Boolean

    true if [is empty]; otherwise, false.


    Left

    Gets or sets the left.

    public int Left { get; set; }
    Property Value
    Type Description
    System.Int32

    The left.


    Location

    Gets or sets the location.

    public Point Location { get; set; }
    Property Value
    Type Description
    Point

    The location.


    Right

    Gets or sets the right.

    public readonly int Right { get; }
    Property Value
    Type Description
    System.Int32

    The right.


    Size

    Gets or sets the size of the rectangle.

    public Size2 Size { get; set; }
    Property Value
    Type Description
    Size2

    The size of the rectangle.


    Top

    Gets or sets the top.

    public int Top { get; set; }
    Property Value
    Type Description
    System.Int32

    The top.


    TopLeft

    Gets the position of the top-left corner of the rectangle.

    public readonly Point TopLeft { get; }
    Property Value
    Type Description
    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
    Type Description
    Point

    The top-right corner of the rectangle.

    | Improve this Doc View Source

    Methods


    Contains(Int2)

    Checks, if specified Int2 is inside Rectangle.

    public bool Contains(Int2 int2)
    Parameters
    Type Name Description
    Int2 int2

    Coordinate Int2.

    Returns
    Type Description
    System.Boolean

    true if Int2 is inside Rectangle, otherwise false.


    Contains(Point)

    Determines whether this rectangle contains a specified Point.

    public bool Contains(Point value)
    Parameters
    Type Name Description
    Point value

    The Point to evaluate.

    Returns
    Type Description
    System.Boolean

    Contains(ref Point, out Boolean)

    Determines whether this rectangle contains a specified Point.

    public void Contains(ref Point value, out bool result)
    Parameters
    Type Name Description
    Point value

    The Point to evaluate.

    System.Boolean result

    [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 bool Contains(Rectangle value)
    Parameters
    Type Name Description
    Rectangle value

    The rectangle to evaluate.

    Returns
    Type Description
    System.Boolean

    Contains(ref Rectangle, out Boolean)

    Determines whether this rectangle entirely contains a specified rectangle.

    public void Contains(ref Rectangle value, out bool result)
    Parameters
    Type Name Description
    Rectangle value

    The rectangle to evaluate.

    System.Boolean result

    [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.


    Contains(Vector2)

    Checks, if specified Vector2 is inside Rectangle.

    public bool Contains(Vector2 vector2D)
    Parameters
    Type Name Description
    Vector2 vector2D

    Coordinate Vector2.

    Returns
    Type Description
    System.Boolean

    true if Vector2 is inside Rectangle, otherwise false.


    Contains(Int32, Int32)

    Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.

    public bool Contains(int x, int y)
    Parameters
    Type Name Description
    System.Int32 x

    The x-coordinate of the specified point.

    System.Int32 y

    The y-coordinate of the specified point.

    Returns
    Type Description
    System.Boolean

    Contains(Single, Single)

    Checks, if specified point is inside Rectangle.

    public bool Contains(float x, float y)
    Parameters
    Type Name Description
    System.Single x

    X point coordinate.

    System.Single y

    Y point coordinate.

    Returns
    Type Description
    System.Boolean

    true if point is inside Rectangle, otherwise false.


    Equals(Rectangle)

    Determines whether the specified Rectangle is equal to this instance.

    public bool Equals(Rectangle other)
    Parameters
    Type Name Description
    Rectangle other

    The Rectangle to compare with this instance.

    Returns
    Type Description
    System.Boolean

    true if the specified Rectangle is equal to this instance; otherwise, false.


    Equals(Object)

    Determines whether the specified System.Object is equal to this instance.

    public override bool Equals(object obj)
    Parameters
    Type Name Description
    System.Object obj

    The System.Object to compare with this instance.

    Returns
    Type Description
    System.Boolean

    true if the specified System.Object is equal to this instance; otherwise, false.

    Overrides
    System.ValueType.Equals(System.Object)

    GetHashCode()

    Returns a hash code for this instance.

    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

    A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

    Overrides
    System.ValueType.GetHashCode()

    Inflate(Int32, Int32)

    Pushes the edges of the rectangle out by the horizontal and vertical values specified.

    public void Inflate(int horizontalAmount, int verticalAmount)
    Parameters
    Type Name Description
    System.Int32 horizontalAmount

    Value to push the sides out by.

    System.Int32 verticalAmount

    Value 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
    Type Name Description
    Rectangle value1

    The first rectangle to compare.

    Rectangle value2

    The second rectangle to compare.

    Returns
    Type Description
    Rectangle

    The intersection rectangle.


    Intersect(ref Rectangle, ref Rectangle, out Rectangle)

    Creates a rectangle defining the area where one rectangle overlaps with another rectangle.

    public static void Intersect(ref Rectangle value1, ref Rectangle value2, out Rectangle result)
    Parameters
    Type Name Description
    Rectangle value1

    The first rectangle to compare.

    Rectangle value2

    The second rectangle to compare.

    Rectangle result

    [OutAttribute] The area where the two first parameters overlap.


    Intersects(Rectangle)

    Determines whether a specified rectangle intersects with this rectangle.

    public bool Intersects(Rectangle value)
    Parameters
    Type Name Description
    Rectangle value

    The rectangle to evaluate.

    Returns
    Type Description
    System.Boolean

    Intersects(ref Rectangle, out Boolean)

    Determines whether a specified rectangle intersects with this rectangle.

    public void Intersects(ref Rectangle value, out bool result)
    Parameters
    Type Name Description
    Rectangle value

    The rectangle to evaluate

    System.Boolean result

    [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
    Type Name Description
    Point amount

    The values to adjust the position of the rectangle by.


    Offset(Int32, Int32)

    Changes the position of the rectangle.

    public void Offset(int offsetX, int offsetY)
    Parameters
    Type Name Description
    System.Int32 offsetX

    Change in the x-position.

    System.Int32 offsetY

    Change in the y-position.


    ToString()

    public override string ToString()
    Returns
    Type Description
    System.String
    Overrides
    System.ValueType.ToString()

    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
    Type Name Description
    Rectangle rectangle

    The original rectangle.

    Int2 point

    The point to incorporate.

    Returns
    Type Description
    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
    Type Name Description
    Rectangle value1

    The first rectangle to contain.

    Rectangle value2

    The second rectangle to contain.

    Returns
    Type Description
    Rectangle

    The union rectangle.


    Union(ref Rectangle, ref Rectangle, out Rectangle)

    Creates a new rectangle that exactly contains two other rectangles.

    public static void Union(ref Rectangle value1, ref Rectangle value2, out Rectangle result)
    Parameters
    Type Name Description
    Rectangle value1

    The first rectangle to contain.

    Rectangle value2

    The second rectangle to contain.

    Rectangle result

    [OutAttribute] The rectangle that must be the union of the first two rectangles.

    | Improve this Doc View Source

    Operators


    Equality(Rectangle, Rectangle)

    Implements the operator ==.

    public static bool operator ==(Rectangle left, Rectangle right)
    Parameters
    Type Name Description
    Rectangle left

    The left.

    Rectangle right

    The right.

    Returns
    Type Description
    System.Boolean

    The result of the operator.


    Implicit(Rectangle to RectangleF)

    Performs an implicit conversion to the RectangleF structure.

    public static implicit operator RectangleF(Rectangle value)
    Parameters
    Type Name Description
    Rectangle value

    The source Rectangle value.

    Returns
    Type Description
    RectangleF

    The converted structure.

    Remarks

    Performs direct converstion from int to float.


    Inequality(Rectangle, Rectangle)

    Implements the operator !=.

    public static bool operator !=(Rectangle left, Rectangle right)
    Parameters
    Type Name Description
    Rectangle left

    The left.

    Rectangle right

    The right.

    Returns
    Type Description
    System.Boolean

    The result of the operator.


    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation