Applied patch [ 730697 ] wxRect::AlignIn member

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2003-06-01 15:53:00 +00:00
parent 22328fa444
commit a89abd7f0c
2 changed files with 20 additions and 0 deletions

View File

@ -176,6 +176,14 @@ boundary) and {\tt false} otherwise.
Returns {\tt true} if this rectangle has a non empty intersection with the
rectangle {\it rect} and {\tt false} otherwise.
\membersection{wxRect::AlignIn}\label{wxrectalignin}
\func{void}{AlignIn}{\param{const wxRect\& }{rect}, \param{int }{align}}
Aligns the rectangle in another rectangle, according to the alignment flags.
Supports combinations of horizontal and vertical centering, plus left, right,
top and bottom justification.
\membersection{wxRect::Offset}\label{wxrectoffset}
\func{void}{Offset}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}

View File

@ -365,6 +365,18 @@ public:
// return TRUE if the rectangles have a non empty intersection
bool Intersects(const wxRect& rect) const;
// align in another rectangle according to WX alignment flags.
void AlignIn(const wxRect& rect, int align)
{
if (align & wxALIGN_CENTER_HORIZONTAL) x = rect.x + (rect.width-width)/2;
else if (align & wxALIGN_RIGHT) x = rect.x+rect.width - width;
else x = rect.x;
if (align & wxALIGN_CENTER_VERTICAL) y = rect.y + (rect.height-height)/2;
else if (align & wxALIGN_BOTTOM) y = rect.y+rect.height - height;
else y = rect.y;
}
public:
int x, y, width, height;
};