A class for manipulating rectangles.

Derived from


Include files


See also

wxPoint, wxSize



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.


int x

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


int y

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


int width

Width member.


int height

Height member.


void Deflate(wxCoord dx, wxCoord dy)

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



int GetBottom(void) const

Gets the bottom point of the rectangle.


int GetHeight(void) const

Gets the height member.


int GetLeft(void) const

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


wxPoint GetPosition(void) const

Gets the position.


wxPoint GetTopLeft(void) const

Gets the topleft position of the rectangle. (Same as GetPosition).


wxPoint GetBottomRight(void) const

Gets the bottom right position. Returns the bottom right point inside the rectangle.


int GetRight(void) const

Gets the right point of the rectangle.


wxSize GetSize(void) const

Gets the size.

See also



int GetTop(void) const

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


int GetWidth(void) const

Gets the width member.


int GetX(void) const

Gets the x member.


int GetY(void) const

Gets the y member.


void Inflate(wxCoord dx, wxCoord dy)

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



bool Inside(int x, int y) const

bool Inside(const wxPoint& pt) const

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


bool Intersects(const wxRect& rect) const

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


bool IsEmpty() const

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


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.


void SetHeight(int height)

Sets the height.


void SetSize(const wxSize& s)

Sets the size.

See also



void SetWidth(int width)

Sets the width.


void SetX(int x)

Sets the x position.


void SetY(int y)

Sets the y position.


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.

ymasuda 平成17年11月19日