15 inline bool isNull()
const;
16 inline bool isEmpty()
const;
17 inline bool isValid()
const;
19 inline int width()
const;
20 inline int height()
const;
21 inline void setWidth(
int w);
22 inline void setHeight(
int h);
24 inline QSize transposed()
const;
26 inline void scale(
int w,
int h);
27 inline void scale(
const QSize &s);
28 QSize scaled(
int w,
int h)
const;
35 inline int &rheight();
39 inline QSize &operator*=(
float c);
40 inline QSize &operator/=(
float c);
42 friend inline bool operator==(
const QSize &,
const QSize &);
43 friend inline bool operator!=(
const QSize &,
const QSize &);
46 friend inline const QSize operator*(
const QSize &,
float);
47 friend inline const QSize operator*(
float,
const QSize &);
48 friend inline const QSize operator/(
const QSize &,
float);
60 inline QSize::QSize() : wd(-1), ht(-1) {}
62 inline QSize::QSize(
int w,
int h) : wd(w), ht(h) {}
64 inline bool QSize::isNull()
const 66 return wd == 0 && ht == 0;
69 inline bool QSize::isEmpty()
const 74 inline bool QSize::isValid()
const 76 return wd >= 0 && ht >= 0;
79 inline int QSize::width()
const 84 inline int QSize::height()
const 89 inline void QSize::setWidth(
int w)
94 inline void QSize::setHeight(
int h)
99 inline QSize QSize::transposed()
const 101 return QSize(ht, wd);
104 inline void QSize::scale(
int w,
int h)
109 inline void QSize::scale(
const QSize &s)
114 inline QSize QSize::scaled(
int w,
int h)
const 116 return scaled(
QSize(w, h));
119 inline int &QSize::rwidth()
124 inline int &QSize::rheight()
129 inline QSize &QSize::operator+=(
const QSize &s)
131 wd += s.wd; ht += s.ht;
return *
this;
134 inline QSize &QSize::operator-=(
const QSize &s)
136 wd -= s.wd; ht -= s.ht;
return *
this;
139 inline QSize &QSize::operator*=(
float c)
144 inline bool operator==(
const QSize &s1,
const QSize &s2)
146 return s1.wd == s2.wd && s1.ht == s2.ht;
149 inline bool operator!=(
const QSize &s1,
const QSize &s2)
151 return s1.wd != s2.wd || s1.ht != s2.ht;
156 return QSize(s1.wd + s2.wd, s1.ht + s2.ht);
161 return QSize(s1.wd - s2.wd, s1.ht - s2.ht);
164 inline const QSize operator*(
const QSize &s,
float c)
169 inline const QSize operator*(
float c,
const QSize &s)
174 inline QSize &QSize::operator/=(
float c)
180 inline const QSize operator/(
const QSize &s,
float c)
185 inline QSize QSize::expandedTo(
const QSize & otherSize)
const 190 inline QSize QSize::boundedTo(
const QSize & otherSize)
const 202 inline bool isNull()
const;
203 inline bool isEmpty()
const;
204 inline bool isValid()
const;
206 inline float width()
const;
207 inline float height()
const;
208 inline void setWidth(
float w);
209 inline void setHeight(
float h);
211 inline QSizeF transposed()
const;
213 inline void scale(
float w,
float h);
214 inline void scale(
const QSizeF &s);
215 QSizeF scaled(
float w,
float h)
const;
221 inline float &rwidth();
222 inline float &rheight();
226 inline QSizeF &operator*=(
float c);
227 inline QSizeF &operator/=(
float c);
229 friend inline bool operator==(
const QSizeF &,
const QSizeF &);
230 friend inline bool operator!=(
const QSizeF &,
const QSizeF &);
233 friend inline const QSizeF operator*(
const QSizeF &,
float);
234 friend inline const QSizeF operator*(
float,
const QSizeF &);
235 friend inline const QSizeF operator/(
const QSizeF &,
float);
237 inline QSize toSize()
const;
249 inline QSizeF::QSizeF() : wd(-1.), ht(-1.) {}
251 inline QSizeF::QSizeF(
const QSize &sz) : wd((
float)sz.width()), ht((
float)sz.height()) {}
253 inline QSizeF::QSizeF(
float w,
float h) : wd(w), ht(h) {}
255 inline bool QSizeF::isNull()
const 257 return Math::IsNull(wd) && Math::IsNull(ht);
260 inline bool QSizeF::isEmpty()
const 262 return wd <= 0. || ht <= 0.;
265 inline bool QSizeF::isValid()
const 267 return wd >= 0. && ht >= 0.;
270 inline float QSizeF::width()
const 275 inline float QSizeF::height()
const 280 inline void QSizeF::setWidth(
float w)
285 inline void QSizeF::setHeight(
float h)
290 inline QSizeF QSizeF::transposed()
const 295 inline void QSizeF::scale(
float w,
float h)
300 inline void QSizeF::scale(
const QSizeF &s)
305 inline QSizeF QSizeF::scaled(
float w,
float h)
const 307 return scaled(
QSizeF(w, h));
310 inline float &QSizeF::rwidth()
315 inline float &QSizeF::rheight()
322 wd += s.wd; ht += s.ht;
return *
this;
327 wd -= s.wd; ht -= s.ht;
return *
this;
330 inline QSizeF &QSizeF::operator*=(
float c)
332 wd *= c; ht *= c;
return *
this;
335 inline bool operator==(
const QSizeF &s1,
const QSizeF &s2)
337 return Math::FuzzyCompare(s1.wd, s2.wd) && Math::FuzzyCompare(s1.ht, s2.ht);
340 inline bool operator!=(
const QSizeF &s1,
const QSizeF &s2)
342 return !Math::FuzzyCompare(s1.wd, s2.wd) || !Math::FuzzyCompare(s1.ht, s2.ht);
347 return QSizeF(s1.wd + s2.wd, s1.ht + s2.ht);
352 return QSizeF(s1.wd - s2.wd, s1.ht - s2.ht);
357 return QSizeF(s.wd*c, s.ht*c);
362 return QSizeF(s.wd*c, s.ht*c);
365 inline QSizeF &QSizeF::operator/=(
float c)
367 wd = wd / c; ht = ht / c;
373 return QSizeF(s.wd / c, s.ht / c);
376 inline QSizeF QSizeF::expandedTo(
const QSizeF & otherSize)
const 381 inline QSizeF QSizeF::boundedTo(
const QSizeF & otherSize)
const 386 inline QSize QSizeF::toSize()
const static int Round(float fValue)
get the closest integer near the specified float number.
Definition: ParaMath.h:609
Definition: ParaSize.h:195
different physics engine has different winding order.
Definition: EventBinding.h:32
static T Min(const T A, const T B)
Returns lower value in a generic way.
Definition: ParaMath.h:468
static T Max(const T A, const T B)
Returns higher value in a generic way.
Definition: ParaMath.h:462
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: ParaSize.h:9