From: Julian Smart Date: Sun, 1 Jun 2003 15:53:00 +0000 (+0000) Subject: Applied patch [ 730697 ] wxRect::AlignIn member X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a89abd7f0c87793ec57ee793d2b38c4eba22ba4b?ds=sidebyside Applied patch [ 730697 ] wxRect::AlignIn member git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/rect.tex b/docs/latex/wx/rect.tex index 63216a5bbf..8d86603975 100644 --- a/docs/latex/wx/rect.tex +++ b/docs/latex/wx/rect.tex @@ -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}} diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h index 2df4124c47..fbbe12fa96 100644 --- a/include/wx/gdicmn.h +++ b/include/wx/gdicmn.h @@ -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; };