## wxRect

A class for manipulating rectangles.

Derived from

None

Include files

<wx/gdicmn.h>

See also

wxPoint, wxSize

Members

wxRect::wxRect
wxRect::x
wxRect::y
wxRect::width
wxRect::height
wxRect::CentreIn
wxRect::Contains
wxRect::Deflate
wxRect::GetBottom
wxRect::GetHeight
wxRect::GetLeft
wxRect::GetPosition
wxRect::GetTopLeft
wxRect::GetTopRight
wxRect::GetBottomLeft
wxRect::GetBottomRight
wxRect::GetRight
wxRect::GetSize
wxRect::GetTop
wxRect::GetWidth
wxRect::GetX
wxRect::GetY
wxRect::Inflate
wxRect::Intersect
wxRect::Intersects
wxRect::IsEmpty
wxRect::Offset
wxRect::SetHeight
wxRect::SetSize
wxRect::SetWidth
wxRect::SetX
wxRect::SetY
wxRect::Union
wxRect::operator =
wxRect::operator ==
wxRect::operator !=

### wxRect::wxRect

wxRect()

Default constructor.

wxRect(int x, int y, int width, int height)

Creates a wxRect object from x, y, width and height values.

wxRect(const wxPoint& topLeft, const wxPoint& bottomRight)

Creates a wxRect object from top-left and bottom-right points.

wxRect(const wxPoint& pos, const wxSize& size)

Creates a wxRect object from position and size values.

wxRect(const wxSize& size)

Creates a wxRect object from size values at the origin.

### wxRect::x

int x

x coordinate of the top-level corner of the rectangle.

### wxRect::y

int y

y coordinate of the top-level corner of the rectangle.

### wxRect::width

int width

Width member.

### wxRect::height

int height

Height member.

### wxRect::CentreIn

wxRect CentreIn(const wxRect& r, int dir = wxBOTH) const

wxRect CenterIn(const wxRect& r, int dir = wxBOTH) const

Returns the rectangle having the same size as this one but centered relatively to the given rectangle r. By default, rectangle is centred in both directions but if dir includes only `wxVERTICAL` or only `wxHORIZONTAL` flag, then it is only centered in this direction while the other component of its position remains unchanged.

### wxRect::Contains

bool Contains(int x, int y) const

bool Contains(const wxPoint& pt) const

Returns `true` if the given point is inside the rectangle (or on its boundary) and `false` otherwise.

bool Contains(const wxRect& rect) const

Returns `true` if the given rectangle is completely inside this rectangle (or touches its boundary) and `false` otherwise.

### wxRect::Deflate

void Deflate(wxCoord dx, wxCoord dy)

void Deflate(const wxSize& diff)

void Deflate(wxCoord diff)

wxRect Deflate(wxCoord dx, wxCoord dy) const

Decrease the rectangle size.

This method is the opposite from Inflate: Deflate(a, b) is equivalent to Inflate(-a, -b). Please refer to Inflate for full description.

See also

Inflate

### wxRect::GetBottom

int GetBottom() const

Gets the bottom point of the rectangle.

### wxRect::GetHeight

int GetHeight() const

Gets the height member.

### wxRect::GetLeft

int GetLeft() const

Gets the left point of the rectangle (the same as wxRect::GetX).

### wxRect::GetPosition

wxPoint GetPosition() const

Gets the position.

### wxRect::GetTopLeft

wxPoint GetTopLeft() const

Gets the position of the top left corner of the rectangle, same as GetPosition.

### wxRect::GetTopRight

wxPoint GetTopRight() const

Gets the position of the top right corner.

### wxRect::GetBottomLeft

wxPoint GetBottomLeft() const

Gets the position of the bottom left corner.

### wxRect::GetBottomRight

wxPoint GetBottomRight() const

Gets the position of the bottom right corner.

### wxRect::GetRight

int GetRight() const

Gets the right point of the rectangle.

### wxRect::GetSize

wxSize GetSize() const

Gets the size.

See also

wxRect::SetSize

### wxRect::GetTop

int GetTop() const

Gets the top point of the rectangle (the same as wxRect::GetY).

### wxRect::GetWidth

int GetWidth() const

Gets the width member.

### wxRect::GetX

int GetX() const

Gets the x member.

### wxRect::GetY

int GetY() const

Gets the y member.

### wxRect::Inflate

void Inflate(wxCoord dx, wxCoord dy)

void Inflate(const wxSize& diff)

void Inflate(wxCoord diff)

wxRect Inflate(wxCoord dx, wxCoord dy) const

Increases the size of the rectangle.

The second form uses the same diff for both dx and dy.

The first two versions modify the rectangle in place, the last one returns a new rectangle leaving this one unchanged.

The left border is moved farther left and the right border is moved farther right by dx. The upper border is moved farther up and the bottom border is moved farther down by dy. (Note the the width and height of the rectangle thus change by 2*dx and 2*dy, respectively.) If one or both of dx and dy are negative, the opposite happens: the rectangle size decreases in the respective direction.

Inflating and deflating behaves "naturally''. Defined more precisely, that means:

1. "Real'' inflates (that is, dx and/or dy >= 0) are not constrained. Thus inflating a rectangle can cause its upper left corner to move into the negative numbers. (the versions prior to 2.5.4 forced the top left coordinate to not fall below (0, 0), which implied a forced move of the rectangle.)

2. Deflates are clamped to not reduce the width or height of the rectangle below zero. In such cases, the top-left corner is nonetheless handled properly. For example, a rectangle at (10, 10) with size (20, 40) that is inflated by (-15, -15) will become located at (20, 25) at size (0, 10). Finally, observe that the width and height are treated independently. In the above example, the width is reduced by 20, whereas the height is reduced by the full 30 (rather than also stopping at 20, when the width reached zero).

See also

Deflate

### wxRect::Intersect

wxRect Intersect(const wxRect& rect) const

wxRect& Intersect(const wxRect& rect)

Modifies the rectangle to contain the overlapping box of this rectangle and the one passed in as parameter. The const version returns the new rectangle, the other one modifies this rectangle in place.

### wxRect::Intersects

bool Intersects(const wxRect& rect) const

Returns `true` if this rectangle has a non-empty intersection with the rectangle rect and `false` otherwise.

### wxRect::IsEmpty

bool IsEmpty() const

Returns `true` if this rectangle has a width or height less than or equal to 0 and `false` otherwise.

### wxRect::Offset

void Offset(wxCoord dx, wxCoord dy)

void Offset(const wxPoint& pt)

Moves the rectangle by the specified offset. If dx is positive, the rectangle is moved to the right, if dy is positive, it is moved to the bottom, otherwise it is moved to the left or top respectively.

### wxRect::SetHeight

void SetHeight(int height)

Sets the height.

### wxRect::SetSize

void SetSize(const wxSize& s)

Sets the size.

See also

wxRect::GetSize

### wxRect::SetWidth

void SetWidth(int width)

Sets the width.

### wxRect::SetX

void SetX(int x)

Sets the x position.

### wxRect::SetY

void SetY(int y)

Sets the y position.

### wxRect::Union

wxRect Union(const wxRect& rect) const

wxRect& Union(const wxRect& rect)

Modifies the rectangle to contain the bounding box of this rectangle and the one passed in as parameter. The const version returns the new rectangle, the other one modifies this rectangle in place.

### wxRect::operator =

void operator =(const wxRect& rect)

Assignment operator.

### wxRect::operator ==

bool operator ==(const wxRect& rect)

Equality operator.

### wxRect::operator !=

bool operator !=(const wxRect& rect)

Inequality operator.