diff options
author | Andy Shaw <andy.shaw@qt.io> | 2018-03-14 09:42:03 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2018-03-15 06:51:15 +0000 |
commit | b1243b8c9ea0add1b7548428c8b0fcb8ee3ac71a (patch) | |
tree | 7eb03c1f17628d96e44628cebe0dc0c2f42a13b1 /tests | |
parent | 5b1538d1c0b408bb54786336f2e59c208686edb2 (diff) |
Scale up SVG images if source size is larger than original size
Since SVG images can be scaled up without any loss of quality then we
should allow this to happen even though it is not done for other image
formats. This restores the 5.9.x behavior for SVG images.
Additionally the manual test is updated to showcase an embedded image
inside a SVG one to indicate this is continuing to work as before too.
Task-number: QTBUG-67019
Change-Id: Ia719899937f8146e8fab50aa85adf18e2f79aa98
Reviewed-by: Evangelos Foutras <evangelos@foutrelis.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qquickimage/tst_qquickimage.cpp | 6 | ||||
-rw-r--r-- | tests/manual/imagehandler/embeddedimage.svg | 10 | ||||
-rw-r--r-- | tests/manual/imagehandler/heart.png | bin | 0 -> 15194 bytes | |||
-rw-r--r-- | tests/manual/imagehandler/main.qml | 6 |
4 files changed, 21 insertions, 1 deletions
diff --git a/tests/auto/quick/qquickimage/tst_qquickimage.cpp b/tests/auto/quick/qquickimage/tst_qquickimage.cpp index 3613ba6d87..d1f46a3912 100644 --- a/tests/auto/quick/qquickimage/tst_qquickimage.cpp +++ b/tests/auto/quick/qquickimage/tst_qquickimage.cpp @@ -445,6 +445,12 @@ void tst_qquickimage::svg() // Due to aspect ratio calculations we can't get a precise // check for all setups, so we allow a small margin of error QVERIFY(qAbs(obj->height() - 141) < 1); + + // Setting it to a size bigger than the actual file, SVG formats + // can scale up although other image formats cannot + obj->setSourceSize(QSize(800,0)); + QCOMPARE(obj->width(), 800.0); + QVERIFY(qAbs(obj->height() - 1131) < 1); delete obj; } diff --git a/tests/manual/imagehandler/embeddedimage.svg b/tests/manual/imagehandler/embeddedimage.svg new file mode 100644 index 0000000000..f952640822 --- /dev/null +++ b/tests/manual/imagehandler/embeddedimage.svg @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + version="1.2" baseProfile="tiny"> + + <desc>This document has a reference to an external image</desc> + + <image x="200" y="200" width="100" height="100" xlink:href="heart.png"> + <title>External image</title> + </image> +</svg> diff --git a/tests/manual/imagehandler/heart.png b/tests/manual/imagehandler/heart.png Binary files differnew file mode 100644 index 0000000000..deaec18274 --- /dev/null +++ b/tests/manual/imagehandler/heart.png diff --git a/tests/manual/imagehandler/main.qml b/tests/manual/imagehandler/main.qml index 55e5b89cae..ec474e62ce 100644 --- a/tests/manual/imagehandler/main.qml +++ b/tests/manual/imagehandler/main.qml @@ -41,6 +41,10 @@ Window { width: parent.width sourceSize.height: height sourceSize.width: width + MouseArea { + anchors.fill: parent + onClicked: svgImage.source = "embeddedimage.svg" + } } ListModel { id: imageFillModeModel @@ -57,7 +61,7 @@ Window { height: 75 anchors.bottom: parent.bottom Text { - text: "Click the options below to change the fill mode" + text: "Click the options below to change the fill mode.<br>Click the image to change the used image." font.pointSize: 16 } |