Gjsify LogoGjsify Logo

The location and size of a rectangle region.

The width and height of a #graphene_rect_t can be negative; for instance, a #graphene_rect_t with an origin of [ 0, 0 ] and a size of [ 10, 10 ] is equivalent to a #graphene_rect_t with an origin of [ 10, 10 ] and a size of [ -10, -10 ].

Application code can normalize rectangles using graphene_rect_normalize(); this function will ensure that the width and height of a rectangle are positive values. All functions taking a #graphene_rect_t as an argument will internally operate on a normalized copy; all functions returning a #graphene_rect_t will always return a normalized rectangle.

record

Hierarchy

  • Rect

Index

Constructors

Properties

origin: Graphene.Point

the coordinates of the origin of the rectangle

field

the size of the rectangle

field
name: string

Methods

  • free(): void
  • get_area(): number
  • get_height(): number
  • get_vertices(): Vec2[]
  • get_width(): number
  • get_x(): number
  • get_y(): number
  • init(x: number, y: number, width: number, height: number): Graphene.Rect
  • Initializes the given #graphene_rect_t with the given values.

    This function will implicitly normalize the #graphene_rect_t before returning.

    Parameters

    • x: number

      the X coordinate of the graphene_rect_t.origin

    • y: number

      the Y coordinate of the graphene_rect_t.origin

    • width: number

      the width of the graphene_rect_t.size

    • height: number

      the height of the graphene_rect_t.size

    Returns Graphene.Rect

  • Changes the given rectangle to be smaller, or larger depending on the given inset parameters.

    To create an inset rectangle, use positive d_x or d_y values; to create a larger, encompassing rectangle, use negative d_x or d_y values.

    The origin of the rectangle is offset by d_x and d_y, while the size is adjusted by (2 * d_x,2 *d_y)``. If d_x and d_y are positive values, the size of the rectangle is decreased; if d_x and d_y are negative values, the size of the rectangle is increased.

    If the size of the resulting inset rectangle has a negative width or height then the size will be set to zero.

    Parameters

    • d_x: number

      the horizontal inset

    • d_y: number

      the vertical inset

    Returns Graphene.Rect

  • Changes the given rectangle to be smaller, or larger depending on the given inset parameters.

    To create an inset rectangle, use positive d_x or d_y values; to create a larger, encompassing rectangle, use negative d_x or d_y values.

    The origin of the rectangle is offset by d_x and d_y, while the size is adjusted by (2 * d_x,2 *d_y)``. If d_x and d_y are positive values, the size of the rectangle is decreased; if d_x and d_y are negative values, the size of the rectangle is increased.

    If the size of the resulting inset rectangle has a negative width or height then the size will be set to zero.

    Parameters

    • d_x: number

      the horizontal inset

    • d_y: number

      the vertical inset

    Returns Graphene.Rect

  • Computes the intersection of the two given rectangles.

    The intersection in the image above is the blue outline.

    If the two rectangles do not intersect, res will contain a degenerate rectangle with origin in (0, 0) and a size of 0.

    Parameters

    Returns [boolean, Graphene.Rect]

  • Normalizes the passed rectangle.

    This function ensures that the size of the rectangle is made of positive values, and that the origin is the top-left corner of the rectangle.

    Returns Graphene.Rect

  • Normalizes the passed rectangle.

    This function ensures that the size of the rectangle is made of positive values, and that the origin is in the top-left corner of the rectangle.

    Returns Graphene.Rect

  • Offsets the origin of the given rectangle by d_x and d_y.

    The size of the rectangle is left unchanged.

    Parameters

    • d_x: number

      the horizontal offset

    • d_y: number

      the vertical offset

    Returns Graphene.Rect

  • Rounds the origin and size of the given rectangle to their nearest integer values; the rounding is guaranteed to be large enough to have an area bigger or equal to the original rectangle, but might not fully contain its extents. Use graphene_rect_round_extents() in case you need to round to a rectangle that covers fully the original one.

    This function is the equivalent of calling floor on the coordinates of the origin, and ceil on the size.

    Returns Graphene.Rect

  • Rounds the origin of the given rectangle to its nearest integer value and and recompute the size so that the rectangle is large enough to contain all the conrners of the original rectangle.

    This function is the equivalent of calling floor on the coordinates of the origin, and recomputing the size calling ceil on the bottom-right coordinates.

    If you want to be sure that the rounded rectangle completely covers the area that was covered by the original rectangle — i.e. you want to cover the area including all its corners — this function will make sure that the size is recomputed taking into account the ceiling of the coordinates of the bottom-right corner. If the difference between the original coordinates and the coordinates of the rounded rectangle is greater than the difference between the original size and and the rounded size, then the move of the origin would not be compensated by a move in the anti-origin, leaving the corners of the original rectangle outside the rounded one.

    Returns Graphene.Rect

  • Rounds the origin and the size of the given rectangle to their nearest integer values; the rounding is guaranteed to be large enough to contain the original rectangle.

    Returns Graphene.Rect

  • Scales the size and origin of a rectangle horizontaly by s_h, and vertically by s_v. The result res is normalized.

    Parameters

    • s_h: number

      horizontal scale factor

    • s_v: number

      vertical scale factor

    Returns Graphene.Rect

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method