1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: size.tex 3%% Purpose: wxSize documentation 4%% Author: wxTeam 5%% Created: 6%% RCS-ID: $Id: size.tex 44115 2007-01-07 14:55:15Z VZ $ 7%% Copyright: (c) wxTeam 8%% License: wxWindows license 9%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 10 11\section{\class{wxSize}}\label{wxsize} 12 13A {\bf wxSize} is a useful data structure for graphics operations. 14It simply contains integer {\it width} and {\it height} members. 15 16wxSize is used throughout wxWidgets as well as wxPoint which, although almost 17equivalent to wxSize, has a different meaning: wxPoint represents a position 18while wxSize - the size. 19 20\pythonnote{wxPython defines aliases for the {\tt x} and {\tt y} members 21named {\tt width} and {\tt height} since it makes much more sense for 22sizes. 23} 24 25\wxheading{Derived from} 26 27None 28 29\wxheading{Include files} 30 31<wx/gdicmn.h> 32 33\wxheading{See also} 34 35\helpref{wxPoint}{wxpoint}, \helpref{wxRealPoint}{wxrealpoint} 36 37\latexignore{\rtfignore{\wxheading{Members}}} 38 39 40\membersection{wxSize::wxSize}\label{wxsizector} 41 42\func{}{wxSize}{\void} 43 44\func{}{wxSize}{\param{int}{ width}, \param{int}{ height}} 45 46Creates a size object. 47 48 49 50\membersection{wxSize::DecBy}\label{wxsizedecby} 51 52\func{void}{DecBy}{\param{const wxSize\& }{size}} 53 54\func{void}{DecBy}{\param{int }{dx}, \param{int }{dy}} 55 56\func{void}{DecBy}{\param{int }{d}} 57 58Decreases the size in x- and y- directions 59 60\begin{enumerate} 61 \item By \arg{size.x} and \arg{size.y} for the first overload 62 \item By \arg{dx} and \arg{dy} for the second one 63 \item By \arg{d} and \arg{d} for the third one 64\end{enumerate} 65 66\wxheading{See also} 67 68\helpref{IncBy}{wxsizeincby} 69 70 71\membersection{wxSize::DecTo}\label{wxsizedecto} 72 73\func{void}{DecTo}{\param{const wxSize\& }{size}} 74 75Decrements this object so that both of its dimensions are not greater than the 76corresponding dimensions of the \arg{size}. 77 78\wxheading{See also} 79 80\helpref{IncTo}{wxsizeincto} 81 82 83\membersection{wxSize::IsFullySpecified}\label{wxsizeisfullyspecified} 84 85\constfunc{bool}{IsFullySpecified}{\void} 86 87Returns \true if neither of the size object components is equal to $-1$, which 88is used as default for the size values in wxWidgets (hence the predefined 89\texttt{wxDefaultSize} has both of its components equal to $-1$). 90 91This method is typically used before calling 92\helpref{SetDefaults}{wxsizesetdefaults}. 93 94 95\membersection{wxSize::GetWidth}\label{wxsizegetwidth} 96 97\constfunc{int}{GetWidth}{\void} 98 99Gets the width member. 100 101 102\membersection{wxSize::GetHeight}\label{wxsizegetheight} 103 104\constfunc{int}{GetHeight}{\void} 105 106Gets the height member. 107 108 109\membersection{wxSize::IncBy}\label{wxsizeincby} 110 111\func{void}{IncBy}{\param{const wxSize\& }{size}} 112 113\func{void}{IncBy}{\param{int }{dx}, \param{int }{dy}} 114 115\func{void}{IncBy}{\param{int }{d}} 116 117Increases the size in x- and y- directions 118 119\begin{enumerate} 120 \item By \arg{size.x} and \arg{size.y} for the first overload 121 \item By \arg{dx} and \arg{dy} for the second one 122 \item By \arg{d} and \arg{d} for the third one 123\end{enumerate} 124 125\wxheading{See also} 126 127\helpref{DecBy}{wxsizedecby} 128 129 130\membersection{wxSize::IncTo}\label{wxsizeincto} 131 132\func{void}{IncTo}{\param{const wxSize\& }{size}} 133 134Increments this object so that both of its dimensions are not less than the 135corresponding dimensions of the \arg{size}. 136 137\wxheading{See also} 138 139\helpref{DecTo}{wxsizedecto} 140 141 142 143\membersection{wxSize::Scale}\label{wxsizescale} 144 145\func{wxSize\&}{Scale}{\param{float}{ xscale}, \param{float}{ yscale}} 146 147Scales the dimensions of this object by the given factors. 148If you want to scale both dimensions by the same factor you can also use 149the \helpref{operator *=}{wxsizeoperators} 150 151Returns a reference to this object (so that you can concatenate other operations in the same line). 152 153 154\membersection{wxSize::Set}\label{wxsizeset} 155 156\func{void}{Set}{\param{int}{ width}, \param{int}{ height}} 157 158Sets the width and height members. 159 160 161\membersection{wxSize::SetDefaults}\label{wxsizesetdefaults} 162 163\func{void}{SetDefaults}{\param{const wxSize\& }{sizeDefault}} 164 165Combine this size object with another one replacing the default (i.e. equal 166to $-1$) components of this object with those of the other. It is typically 167used like this: 168\begin{verbatim} 169 if ( !size.IsFullySpecified() ) 170 { 171 size.SetDefaults(GetDefaultSize()); 172 } 173\end{verbatim} 174 175\wxheading{See also} 176 177\helpref{IsFullySpecified}{wxsizeisfullyspecified} 178 179 180\membersection{wxSize::SetHeight}\label{wxsizesetheight} 181 182\func{void}{SetHeight}{\param{int}{ height}} 183 184Sets the height. 185 186 187\membersection{wxSize::SetWidth}\label{wxsizesetwidth} 188 189\func{void}{SetWidth}{\param{int}{ width}} 190 191Sets the width. 192 193 194\membersection{Operators}\label{wxsizeoperators} 195 196\func{void}{operator $=$}{\param{const wxSize\& }{sz}} 197 198Assignment operator. 199 200 201\constfunc{bool}{operator $==$}{\param{const wxSize\& }{sz}} 202 203\constfunc{bool}{operator $!=$}{\param{const wxSize\& }{sz}} 204 205\func{wxSize}{operator $+$}{\param{const wxSize\& }{sz}} 206 207\func{wxSize}{operator $-$}{\param{const wxSize\& }{sz}} 208 209\func{wxSize\&}{operator $+=$}{\param{const wxSize\& }{sz}} 210 211\func{wxSize\&}{operator $-=$}{\param{const wxSize\& }{sz}} 212 213Operators for comparison, sum and subtraction between \helpref{wxSize}{wxsize} objects. 214 215 216\func{wxSize}{operator $/$}{\param{int }{factor}} 217 218\func{wxSize}{operator $*$}{\param{int }{factor}} 219 220\func{wxSize\&}{operator $/=$}{\param{int }{factor}} 221 222\func{wxSize\&}{operator $*=$}{\param{int }{factor}} 223 224Operators for division and multiplication between a \helpref{wxSize}{wxsize} object and an integer. 225 226