summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qimage/tst_qimage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/image/qimage/tst_qimage.cpp')
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index decd4ef931..0f9bdc7a1a 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -178,6 +178,8 @@ private slots:
void cleanupFunctions();
+ void devicePixelRatio();
+
private:
const QString m_prefix;
};
@@ -2730,5 +2732,32 @@ void tst_QImage::cleanupFunctions()
}
+// test image devicePixelRatio setting and detaching
+void tst_QImage::devicePixelRatio()
+{
+ // create image
+ QImage a(64, 64, QImage::Format_ARGB32);
+ a.fill(Qt::white);
+ QCOMPARE(a.devicePixelRatio(), qreal(1.0));
+ QCOMPARE(a.isDetached(), true);
+
+ // copy image
+ QImage b = a;
+ QCOMPARE(b.devicePixelRatio(), qreal(1.0));
+ QCOMPARE(a.isDetached(), false);
+ QCOMPARE(b.isDetached(), false);
+
+ // set devicePixelRatio to the current value: does not detach
+ a.setDevicePixelRatio(qreal(1.0));
+ QCOMPARE(a.isDetached(), false);
+ QCOMPARE(b.isDetached(), false);
+
+ // set devicePixelRatio to a new value: may detach (currently
+ // does, but we may want to avoid the data copy the future)
+ a.setDevicePixelRatio(qreal(2.0));
+ QCOMPARE(a.devicePixelRatio(), qreal(2.0));
+ QCOMPARE(b.devicePixelRatio(), qreal(1.0));
+}
+
QTEST_GUILESS_MAIN(tst_QImage)
#include "tst_qimage.moc"