diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-06-18 15:04:46 (GMT) |
---|---|---|
committer | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-06-18 15:07:04 (GMT) |
commit | f9f08de9d41fd55d9c7d01578191ef5d4099c9e6 (patch) | |
tree | e6167fa1475a201c887f46f3b0c411f3e92d645a /src/gui/image/qpixmap.cpp | |
parent | 396eeb3f71c1c7edd861da1c8a8ec3086348502e (diff) | |
download | Qt-f9f08de9d41fd55d9c7d01578191ef5d4099c9e6.zip Qt-f9f08de9d41fd55d9c7d01578191ef5d4099c9e6.tar.gz Qt-f9f08de9d41fd55d9c7d01578191ef5d4099c9e6.tar.bz2 |
Use QTransform more efficiently.
Reviewed-by: Samuel
Diffstat (limited to 'src/gui/image/qpixmap.cpp')
-rw-r--r-- | src/gui/image/qpixmap.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 56c3a29..61be832 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -1446,10 +1446,9 @@ QPixmap QPixmap::scaled(const QSize& s, Qt::AspectRatioMode aspectMode, Qt::Tran if (newSize == size()) return *this; - QPixmap pix; - QTransform wm; - wm.scale((qreal)newSize.width() / width(), (qreal)newSize.height() / height()); - pix = transformed(wm, mode); + QTransform wm = QTransform::fromScale((qreal)newSize.width() / width(), + (qreal)newSize.height() / height()); + QPixmap pix = transformed(wm, mode); return pix; } @@ -1476,9 +1475,8 @@ QPixmap QPixmap::scaledToWidth(int w, Qt::TransformationMode mode) const if (w <= 0) return QPixmap(); - QTransform wm; qreal factor = (qreal) w / width(); - wm.scale(factor, factor); + QTransform wm = QTransform::fromScale(factor, factor); return transformed(wm, mode); } @@ -1505,9 +1503,8 @@ QPixmap QPixmap::scaledToHeight(int h, Qt::TransformationMode mode) const if (h <= 0) return QPixmap(); - QTransform wm; qreal factor = (qreal) h / height(); - wm.scale(factor, factor); + QTransform wm = QTransform::fromScale(factor, factor); return transformed(wm, mode); } |