summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qsize.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qsize.h')
-rw-r--r--src/corelib/tools/qsize.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h
index 5400f76a3a..fece0ac943 100644
--- a/src/corelib/tools/qsize.h
+++ b/src/corelib/tools/qsize.h
@@ -64,9 +64,12 @@ public:
void setWidth(int w);
void setHeight(int h);
void transpose();
+ QSize transposed() const;
void scale(int w, int h, Qt::AspectRatioMode mode);
void scale(const QSize &s, Qt::AspectRatioMode mode);
+ QSize scaled(int w, int h, Qt::AspectRatioMode mode) const;
+ QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const;
QSize expandedTo(const QSize &) const;
QSize boundedTo(const QSize &) const;
@@ -134,9 +137,18 @@ inline void QSize::setWidth(int w)
inline void QSize::setHeight(int h)
{ ht = h; }
+inline QSize QSize::transposed() const
+{ return QSize(ht, wd); }
+
inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode)
{ scale(QSize(w, h), mode); }
+inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode)
+{ *this = scaled(s, mode); }
+
+inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const
+{ return scaled(QSize(w, h), mode); }
+
inline int &QSize::rwidth()
{ return wd; }
@@ -214,9 +226,12 @@ public:
void setWidth(qreal w);
void setHeight(qreal h);
void transpose();
+ QSizeF transposed() const;
void scale(qreal w, qreal h, Qt::AspectRatioMode mode);
void scale(const QSizeF &s, Qt::AspectRatioMode mode);
+ QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const;
+ QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const;
QSizeF expandedTo(const QSizeF &) const;
QSizeF boundedTo(const QSizeF &) const;
@@ -292,9 +307,18 @@ inline void QSizeF::setWidth(qreal w)
inline void QSizeF::setHeight(qreal h)
{ ht = h; }
+inline QSizeF QSizeF::transposed() const
+{ return QSizeF(ht, wd); }
+
inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode)
{ scale(QSizeF(w, h), mode); }
+inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode)
+{ *this = scaled(s, mode); }
+
+inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const
+{ return scaled(QSizeF(w, h), mode); }
+
inline qreal &QSizeF::rwidth()
{ return wd; }