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