added and documented wxRect::Union(); also moved some methods inline
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -16,6 +16,7 @@ None
|
|||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::wxRect}\label{wxrectctor}
|
\membersection{wxRect::wxRect}\label{wxrectctor}
|
||||||
|
|
||||||
\func{}{wxRect}{\void}
|
\func{}{wxRect}{\void}
|
||||||
@@ -38,30 +39,35 @@ Creates a wxRect object from position and size values.
|
|||||||
|
|
||||||
Creates a wxRect object from size values at the origin.
|
Creates a wxRect object from size values at the origin.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::x}\label{wxrectx}
|
\membersection{wxRect::x}\label{wxrectx}
|
||||||
|
|
||||||
\member{int}{x}
|
\member{int}{x}
|
||||||
|
|
||||||
x coordinate of the top-level corner of the rectangle.
|
x coordinate of the top-level corner of the rectangle.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::y}\label{wxrecty}
|
\membersection{wxRect::y}\label{wxrecty}
|
||||||
|
|
||||||
\member{int}{y}
|
\member{int}{y}
|
||||||
|
|
||||||
y coordinate of the top-level corner of the rectangle.
|
y coordinate of the top-level corner of the rectangle.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::width}\label{wxrectwidth}
|
\membersection{wxRect::width}\label{wxrectwidth}
|
||||||
|
|
||||||
\member{int}{width}
|
\member{int}{width}
|
||||||
|
|
||||||
Width member.
|
Width member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::height}\label{wxrectheight}
|
\membersection{wxRect::height}\label{wxrectheight}
|
||||||
|
|
||||||
\member{int}{height}
|
\member{int}{height}
|
||||||
|
|
||||||
Height member.
|
Height member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::Deflate}\label{wxrectdeflate}
|
\membersection{wxRect::Deflate}\label{wxrectdeflate}
|
||||||
|
|
||||||
\func{void}{Deflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
\func{void}{Deflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
||||||
@@ -83,78 +89,91 @@ new rectangle leaving this one unchanged.
|
|||||||
|
|
||||||
\helpref{Inflate}{wxrectinflate}
|
\helpref{Inflate}{wxrectinflate}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetBottom}\label{wxrectgetbottom}
|
\membersection{wxRect::GetBottom}\label{wxrectgetbottom}
|
||||||
|
|
||||||
\constfunc{int}{GetBottom}{\void}
|
\constfunc{int}{GetBottom}{\void}
|
||||||
|
|
||||||
Gets the bottom point of the rectangle.
|
Gets the bottom point of the rectangle.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetHeight}\label{wxrectgetheight}
|
\membersection{wxRect::GetHeight}\label{wxrectgetheight}
|
||||||
|
|
||||||
\constfunc{int}{GetHeight}{\void}
|
\constfunc{int}{GetHeight}{\void}
|
||||||
|
|
||||||
Gets the height member.
|
Gets the height member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetLeft}\label{wxrectgetleft}
|
\membersection{wxRect::GetLeft}\label{wxrectgetleft}
|
||||||
|
|
||||||
\constfunc{int}{GetLeft}{\void}
|
\constfunc{int}{GetLeft}{\void}
|
||||||
|
|
||||||
Gets the left point of the rectangle (the same as \helpref{wxRect::GetX}{wxrectgetx}).
|
Gets the left point of the rectangle (the same as \helpref{wxRect::GetX}{wxrectgetx}).
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetPosition}\label{wxrectgetposition}
|
\membersection{wxRect::GetPosition}\label{wxrectgetposition}
|
||||||
|
|
||||||
\constfunc{wxPoint}{GetPosition}{\void}
|
\constfunc{wxPoint}{GetPosition}{\void}
|
||||||
|
|
||||||
Gets the position.
|
Gets the position.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetTopLeft}\label{wxrectgettopleft}
|
\membersection{wxRect::GetTopLeft}\label{wxrectgettopleft}
|
||||||
|
|
||||||
\constfunc{wxPoint}{GetTopLeft}{\void}
|
\constfunc{wxPoint}{GetTopLeft}{\void}
|
||||||
|
|
||||||
Gets the topleft position of the rectangle. (Same as GetPosition).
|
Gets the topleft position of the rectangle. (Same as GetPosition).
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetBottomRight}\label{wxrectgetbottomright}
|
\membersection{wxRect::GetBottomRight}\label{wxrectgetbottomright}
|
||||||
|
|
||||||
\constfunc{wxPoint}{GetBottomRight}{\void}
|
\constfunc{wxPoint}{GetBottomRight}{\void}
|
||||||
|
|
||||||
Gets the the bottom right position. Returns the bottom right point inside the rectangle.
|
Gets the the bottom right position. Returns the bottom right point inside the rectangle.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetRight}\label{wxrectgetright}
|
\membersection{wxRect::GetRight}\label{wxrectgetright}
|
||||||
|
|
||||||
\constfunc{int}{GetRight}{\void}
|
\constfunc{int}{GetRight}{\void}
|
||||||
|
|
||||||
Gets the right point of the rectangle.
|
Gets the right point of the rectangle.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetSize}\label{wxrectgetsize}
|
\membersection{wxRect::GetSize}\label{wxrectgetsize}
|
||||||
|
|
||||||
\constfunc{wxSize}{GetSize}{\void}
|
\constfunc{wxSize}{GetSize}{\void}
|
||||||
|
|
||||||
Gets the size.
|
Gets the size.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetTop}\label{wxrectgettop}
|
\membersection{wxRect::GetTop}\label{wxrectgettop}
|
||||||
|
|
||||||
\constfunc{int}{GetTop}{\void}
|
\constfunc{int}{GetTop}{\void}
|
||||||
|
|
||||||
Gets the top point of the rectangle (the same as \helpref{wxRect::GetY}{wxrectgety}).
|
Gets the top point of the rectangle (the same as \helpref{wxRect::GetY}{wxrectgety}).
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetWidth}\label{wxrectgetwidth}
|
\membersection{wxRect::GetWidth}\label{wxrectgetwidth}
|
||||||
|
|
||||||
\constfunc{int}{GetWidth}{\void}
|
\constfunc{int}{GetWidth}{\void}
|
||||||
|
|
||||||
Gets the width member.
|
Gets the width member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetX}\label{wxrectgetx}
|
\membersection{wxRect::GetX}\label{wxrectgetx}
|
||||||
|
|
||||||
\constfunc{int}{GetX}{\void}
|
\constfunc{int}{GetX}{\void}
|
||||||
|
|
||||||
Gets the x member.
|
Gets the x member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::GetY}\label{wxrectgety}
|
\membersection{wxRect::GetY}\label{wxrectgety}
|
||||||
|
|
||||||
\constfunc{int}{GetY}{\void}
|
\constfunc{int}{GetY}{\void}
|
||||||
|
|
||||||
Gets the y member.
|
Gets the y member.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::Inflate}\label{wxrectinflate}
|
\membersection{wxRect::Inflate}\label{wxrectinflate}
|
||||||
|
|
||||||
\func{void}{Inflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
\func{void}{Inflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
||||||
@@ -176,6 +195,7 @@ new rectangle leaving this one unchanged.
|
|||||||
|
|
||||||
\helpref{Deflate}{wxrectdeflate}
|
\helpref{Deflate}{wxrectdeflate}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::Inside}\label{wxrectinside}
|
\membersection{wxRect::Inside}\label{wxrectinside}
|
||||||
|
|
||||||
\constfunc{bool}{Inside}{\param{int }{x}, \param{int }{y}}
|
\constfunc{bool}{Inside}{\param{int }{x}, \param{int }{y}}
|
||||||
@@ -185,6 +205,7 @@ new rectangle leaving this one unchanged.
|
|||||||
Returns {\tt true} if the given point is inside the rectangle (or on its
|
Returns {\tt true} if the given point is inside the rectangle (or on its
|
||||||
boundary) and {\tt false} otherwise.
|
boundary) and {\tt false} otherwise.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::Intersects}\label{wxrectintersects}
|
\membersection{wxRect::Intersects}\label{wxrectintersects}
|
||||||
|
|
||||||
\constfunc{bool}{Intersects}{\param{const wxRect\& }{rect}}
|
\constfunc{bool}{Intersects}{\param{const wxRect\& }{rect}}
|
||||||
@@ -192,6 +213,7 @@ boundary) and {\tt false} otherwise.
|
|||||||
Returns {\tt true} if this rectangle has a non empty intersection with the
|
Returns {\tt true} if this rectangle has a non empty intersection with the
|
||||||
rectangle {\it rect} and {\tt false} otherwise.
|
rectangle {\it rect} and {\tt false} otherwise.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::Offset}\label{wxrectoffset}
|
\membersection{wxRect::Offset}\label{wxrectoffset}
|
||||||
|
|
||||||
\func{void}{Offset}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
\func{void}{Offset}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
|
||||||
@@ -202,42 +224,60 @@ Moves the rectangle by the specified offset. If {\it dx} is positive, the
|
|||||||
rectangle is moved to the right, if {\it dy} is positive, it is moved to the
|
rectangle is moved to the right, if {\it dy} is positive, it is moved to the
|
||||||
bottom, otherwise it is moved to the left or top respectively.
|
bottom, otherwise it is moved to the left or top respectively.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::SetHeight}\label{wxrectsetheight}
|
\membersection{wxRect::SetHeight}\label{wxrectsetheight}
|
||||||
|
|
||||||
\func{void}{SetHeight}{\param{int}{ height}}
|
\func{void}{SetHeight}{\param{int}{ height}}
|
||||||
|
|
||||||
Sets the height.
|
Sets the height.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::SetWidth}\label{wxrectsetwidth}
|
\membersection{wxRect::SetWidth}\label{wxrectsetwidth}
|
||||||
|
|
||||||
\func{void}{SetWidth}{\param{int}{ width}}
|
\func{void}{SetWidth}{\param{int}{ width}}
|
||||||
|
|
||||||
Sets the width.
|
Sets the width.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::SetX}\label{wxrectsetx}
|
\membersection{wxRect::SetX}\label{wxrectsetx}
|
||||||
|
|
||||||
\func{void}{SetX}{\param{int}{ x}}
|
\func{void}{SetX}{\param{int}{ x}}
|
||||||
|
|
||||||
Sets the x position.
|
Sets the x position.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::SetY}\label{wxrectsety}
|
\membersection{wxRect::SetY}\label{wxrectsety}
|
||||||
|
|
||||||
\func{void}{SetY}{\param{int}{ y}}
|
\func{void}{SetY}{\param{int}{ y}}
|
||||||
|
|
||||||
Sets the y position.
|
Sets the y position.
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxRect::Union}\label{wxrectunion}
|
||||||
|
|
||||||
|
\constfunc{wxRect}{Union}{\param{const wxRect\&}{ rect}}
|
||||||
|
|
||||||
|
\func{wxRect\&}{Union}{\param{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.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::operator $=$}\label{wxrectassign}
|
\membersection{wxRect::operator $=$}\label{wxrectassign}
|
||||||
|
|
||||||
\func{void}{operator $=$}{\param{const wxRect\& }{rect}}
|
\func{void}{operator $=$}{\param{const wxRect\& }{rect}}
|
||||||
|
|
||||||
Assignment operator.
|
Assignment operator.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::operator $==$}\label{wxrectequal}
|
\membersection{wxRect::operator $==$}\label{wxrectequal}
|
||||||
|
|
||||||
\func{bool}{operator $==$}{\param{const wxRect\& }{rect}}
|
\func{bool}{operator $==$}{\param{const wxRect\& }{rect}}
|
||||||
|
|
||||||
Equality operator.
|
Equality operator.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxRect::operator $!=$}\label{wxrectnotequal}
|
\membersection{wxRect::operator $!=$}\label{wxrectnotequal}
|
||||||
|
|
||||||
\func{bool}{operator $!=$}{\param{const wxRect\& }{rect}}
|
\func{bool}{operator $!=$}{\param{const wxRect\& }{rect}}
|
||||||
|
@@ -319,8 +319,12 @@ public:
|
|||||||
: x(xx), y(yy), width(ww), height(hh)
|
: x(xx), y(yy), width(ww), height(hh)
|
||||||
{ }
|
{ }
|
||||||
wxRect(const wxPoint& topLeft, const wxPoint& bottomRight);
|
wxRect(const wxPoint& topLeft, const wxPoint& bottomRight);
|
||||||
wxRect(const wxPoint& pos, const wxSize& size);
|
wxRect(const wxPoint& pt, const wxSize& size)
|
||||||
wxRect(const wxSize& size);
|
: x(pt.x), y(pt.y), width(size.x), height(size.y)
|
||||||
|
{ }
|
||||||
|
wxRect(const wxSize& size)
|
||||||
|
: x(0), y(0), width(size.x), height(size.y)
|
||||||
|
{ }
|
||||||
|
|
||||||
// default copy ctor and assignment operators ok
|
// default copy ctor and assignment operators ok
|
||||||
|
|
||||||
@@ -392,8 +396,13 @@ public:
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxRect operator+(const wxRect& rect) const;
|
wxRect& Union(const wxRect& rect);
|
||||||
wxRect& operator+=(const wxRect& rect);
|
wxRect Union(const wxRect& rect) const
|
||||||
|
{
|
||||||
|
wxRect r = *this;
|
||||||
|
r.Union(rect);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
// compare rectangles
|
// compare rectangles
|
||||||
bool operator==(const wxRect& rect) const;
|
bool operator==(const wxRect& rect) const;
|
||||||
@@ -406,6 +415,16 @@ public:
|
|||||||
// return true if the rectangles have a non empty intersection
|
// return true if the rectangles have a non empty intersection
|
||||||
bool Intersects(const wxRect& rect) const;
|
bool Intersects(const wxRect& rect) const;
|
||||||
|
|
||||||
|
|
||||||
|
// these are like Union() but don't ignore empty rectangles
|
||||||
|
wxRect operator+(const wxRect& rect) const;
|
||||||
|
wxRect& wxRect::operator+=(const wxRect& rect)
|
||||||
|
{
|
||||||
|
*this = *this + rect;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
int x, y, width, height;
|
int x, y, width, height;
|
||||||
};
|
};
|
||||||
|
@@ -119,18 +119,6 @@ wxRect::wxRect(const wxPoint& point1, const wxPoint& point2)
|
|||||||
height++;
|
height++;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxRect::wxRect(const wxPoint& point, const wxSize& size)
|
|
||||||
{
|
|
||||||
x = point.x; y = point.y;
|
|
||||||
width = size.x; height = size.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxRect::wxRect(const wxSize& size)
|
|
||||||
{
|
|
||||||
x = 0; y = 0;
|
|
||||||
width = size.x; height = size.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxRect::operator==(const wxRect& rect) const
|
bool wxRect::operator==(const wxRect& rect) const
|
||||||
{
|
{
|
||||||
return ((x == rect.x) &&
|
return ((x == rect.x) &&
|
||||||
@@ -139,13 +127,7 @@ bool wxRect::operator==(const wxRect& rect) const
|
|||||||
(height == rect.height));
|
(height == rect.height));
|
||||||
}
|
}
|
||||||
|
|
||||||
wxRect& wxRect::operator += (const wxRect& rect)
|
wxRect wxRect::operator+(const wxRect& rect) const
|
||||||
{
|
|
||||||
*this = (*this + rect);
|
|
||||||
return ( *this ) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxRect wxRect::operator + (const wxRect& rect) const
|
|
||||||
{
|
{
|
||||||
int x1 = wxMin(this->x, rect.x);
|
int x1 = wxMin(this->x, rect.x);
|
||||||
int y1 = wxMin(this->y, rect.y);
|
int y1 = wxMin(this->y, rect.y);
|
||||||
@@ -154,6 +136,25 @@ wxRect wxRect::operator + (const wxRect& rect) const
|
|||||||
return wxRect(x1, y1, x2-x1, y2-y1);
|
return wxRect(x1, y1, x2-x1, y2-y1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxRect& wxRect::Union(const wxRect& rect)
|
||||||
|
{
|
||||||
|
// ignore empty rectangles
|
||||||
|
if ( rect.width && rect.height )
|
||||||
|
{
|
||||||
|
int x1 = wxMin(x, rect.x);
|
||||||
|
int y1 = wxMin(y, rect.y);
|
||||||
|
int y2 = wxMax(y + height, rect.height + rect.y);
|
||||||
|
int x2 = wxMax(x + width, rect.width + rect.x);
|
||||||
|
|
||||||
|
x = x1;
|
||||||
|
y = y1;
|
||||||
|
width = x2 - x1;
|
||||||
|
height = y2 - y1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
wxRect& wxRect::Inflate(wxCoord dx, wxCoord dy)
|
wxRect& wxRect::Inflate(wxCoord dx, wxCoord dy)
|
||||||
{
|
{
|
||||||
x -= dx;
|
x -= dx;
|
||||||
|
Reference in New Issue
Block a user