diff options
author | Alexis Menard <alexis.menard@nokia.com> | 2009-04-24 10:05:48 (GMT) |
---|---|---|
committer | Alexis Menard <alexis.menard@nokia.com> | 2009-04-24 10:09:43 (GMT) |
commit | 495a818a439c9ad62f9af696f6c3fdc5b0065e07 (patch) | |
tree | 56ea72c94f8ab212e3fc1498cab7218aec065ee9 /tests/auto/qsvgrenderer | |
parent | a26aec8673cd5c1e3169b0ad4cd9ee748ba56bb4 (diff) | |
download | Qt-495a818a439c9ad62f9af696f6c3fdc5b0065e07.zip Qt-495a818a439c9ad62f9af696f6c3fdc5b0065e07.tar.gz Qt-495a818a439c9ad62f9af696f6c3fdc5b0065e07.tar.bz2 |
Fix an issue with SVG gradient rendering.
This patch complete the two others made by Kim :
- 6c2dd295b2ca2f9125fe072d035a3784ce748718
- 003223dcfc1fa884b82085db19d4c4056bf6eaa0
It fix the stops if the gradient link to another gradient below.
Task-number: KDE
Reviewed-by: Kim
Reviewed-by: Samuel
Diffstat (limited to 'tests/auto/qsvgrenderer')
-rw-r--r-- | tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp index 4a17031..4da99da 100644 --- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp @@ -534,16 +534,42 @@ void tst_QSvgRenderer::gradientStops() const QCOMPARE(image, refImage); } + const char *svgs[] = { + "<svg>" + "<defs>" + "<linearGradient id=\"gradient\">" + "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>" + "<stop offset=\"1\" stop-color=\"blue\"/>" + "</linearGradient>" + "</defs>" + "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>" + "</svg>", + "<svg>" + "<defs>" + "<linearGradient id=\"gradient\" xlink:href=\"#gradient0\">" + "</linearGradient>" + "<linearGradient id=\"gradient0\">" + "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>" + "<stop offset=\"1\" stop-color=\"blue\"/>" + "</linearGradient>" + "</defs>" + "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>" + "</svg>", + "<svg>" + "<defs>" + "<linearGradient id=\"gradient0\">" + "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>" + "<stop offset=\"1\" stop-color=\"blue\"/>" + "</linearGradient>" + "<linearGradient id=\"gradient\" xlink:href=\"#gradient0\">" + "</linearGradient>" + "</defs>" + "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>" + "</svg>" + }; + for (int i = 0 ; i < sizeof(svgs) / sizeof(svgs[0]) ; ++i) { - QByteArray data("<svg>" - "<defs>" - "<linearGradient id=\"gradient\">" - "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>" - "<stop offset=\"1\" stop-color=\"blue\"/>" - "</linearGradient>" - "</defs>" - "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>" - "</svg>"); + QByteArray data = svgs[i]; QSvgRenderer renderer(data); QImage image(256, 8, QImage::Format_ARGB32_Premultiplied); |