diff options
author | Vladimir Belyavsky <belyavskyv@gmail.com> | 2022-12-10 18:20:46 +0300 |
---|---|---|
committer | Vladimir Belyavsky <belyavskyv@gmail.com> | 2023-01-26 08:20:00 +0000 |
commit | 5c496ad9527487a0d9d33ac0882fab439c993b02 (patch) | |
tree | 47c836cf7d75e785e44904b0e6a466d26c91bedb /tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp | |
parent | 5bcbd0a513dcf929890a869ad01c68b3175fa6e2 (diff) |
AnimatedImage: Add ability to configure sourceSize
This allows to reduce memory consumption and improve performance
when you need to load and play hi-res GIF files or animated SVG.
[ChangeLog][QtQuick][AnimatedImage] It's now possible to configure
sourceSize property for AnimatedImage. This might be useful when you
need e.g. to play hi-res GIF files in some smaller size.
Fixes: QTBUG-57501
Change-Id: I26d464855bbc20e155a8fb589a48842986a3dea4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp')
-rw-r--r-- | tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp b/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp index 1a01a8aca5..cb81ec8a07 100644 --- a/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp +++ b/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp @@ -52,9 +52,9 @@ private slots: void remote(); void remote_data(); void sourceSize(); + void setSourceSize(); void sourceSizeChanges(); void sourceSizeChanges_intermediate(); - void sourceSizeReadOnly(); void invalidSource(); void qtbug_16520(); void progressAndStatusChanges(); @@ -287,12 +287,19 @@ void tst_qquickanimatedimage::sourceSize() delete anim; } -void tst_qquickanimatedimage::sourceSizeReadOnly() +void tst_qquickanimatedimage::setSourceSize() { QQmlEngine engine; - QQmlComponent component(&engine, testFileUrl("stickmanerror1.qml")); - QVERIFY(component.isError()); - QCOMPARE(component.errors().at(0).description(), QString("Invalid property assignment: \"sourceSize\" is a read-only property")); + QQmlComponent component(&engine, testFileUrl("stickmansourcesized.qml")); + QScopedPointer<QQuickAnimatedImage> anim(qobject_cast<QQuickAnimatedImage *>(component.create())); + QVERIFY(anim); + QCOMPARE(anim->sourceSize(), QSize(80, 60)); + + anim->setSourceSize(QSize(40, 30)); + QCOMPARE(anim->sourceSize(), QSize(40, 30)); + + anim->setSourceSize(QSize()); + QCOMPARE(anim->sourceSize(), QSize(160, 120)); } void tst_qquickanimatedimage::invalidSource() |