Accepting request 754286 from home:Vogtinator:qt5.14
Qt 5.14.0 RC1 OBS-URL: https://build.opensuse.org/request/show/754286 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.14/libqt5-qtsvg?expand=0&rev=5
This commit is contained in:
parent
c26a2969e0
commit
93b0485e80
@ -1,116 +0,0 @@
|
|||||||
From df10b8b84ca1b94f7b0e493ca460d2ee7eeefdf7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fabian Vogt <fvogt@suse.de>
|
|
||||||
Date: Thu, 24 Oct 2019 15:19:56 +0200
|
|
||||||
Subject: [PATCH] Revert "Fix rendering of SVGs with viewBoxes"
|
|
||||||
|
|
||||||
This reverts commit 14fa4591eb34a35cf3d485fd901e3f1e2caa7770.
|
|
||||||
---
|
|
||||||
src/svg/qsvgtinydocument.cpp | 38 +++++---------------
|
|
||||||
src/svg/qsvgtinydocument_p.h | 5 +--
|
|
||||||
tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 10 ------
|
|
||||||
3 files changed, 9 insertions(+), 44 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
|
|
||||||
index 3143ad2..b9e2d82 100644
|
|
||||||
--- a/src/svg/qsvgtinydocument.cpp
|
|
||||||
+++ b/src/svg/qsvgtinydocument.cpp
|
|
||||||
@@ -338,7 +338,6 @@ void QSvgTinyDocument::setHeight(int len, bool percent)
|
|
||||||
void QSvgTinyDocument::setViewBox(const QRectF &rect)
|
|
||||||
{
|
|
||||||
m_viewBox = rect;
|
|
||||||
- m_implicitViewBox = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QSvgTinyDocument::addSvgFont(QSvgFont *font)
|
|
||||||
@@ -420,35 +419,14 @@ void QSvgTinyDocument::mapSourceToTarget(QPainter *p, const QRectF &targetRect,
|
|
||||||
source = viewBox();
|
|
||||||
|
|
||||||
if (source != target && !source.isNull()) {
|
|
||||||
- if (m_implicitViewBox) {
|
|
||||||
- QTransform transform;
|
|
||||||
- transform.scale(target.width() / source.width(),
|
|
||||||
- target.height() / source.height());
|
|
||||||
- QRectF c2 = transform.mapRect(source);
|
|
||||||
- p->translate(target.x() - c2.x(),
|
|
||||||
- target.y() - c2.y());
|
|
||||||
- p->scale(target.width() / source.width(),
|
|
||||||
- target.height() / source.height());
|
|
||||||
- } else {
|
|
||||||
- // Code path used when a view box is specified and we're not rendering a specific element by id
|
|
||||||
- // but the entire document. This attempts to emulate the default values of the <preserveAspectRatio>
|
|
||||||
- // tag that's implicitly defined when <viewbox> is used.
|
|
||||||
-
|
|
||||||
- // Apply the view box translation if specified.
|
|
||||||
- p->translate(target.x() - source.x(),
|
|
||||||
- target.y() - source.y());
|
|
||||||
-
|
|
||||||
- // Scale the view box into the view port (target) by preserve the aspect ratio.
|
|
||||||
- QSizeF viewBoxSize = source.size();
|
|
||||||
- viewBoxSize.scale(target.width(), target.height(), Qt::KeepAspectRatio);
|
|
||||||
-
|
|
||||||
- // Center the view box in the view port
|
|
||||||
- p->translate((target.width() - viewBoxSize.width()) / 2,
|
|
||||||
- (target.height() - viewBoxSize.height()) / 2);
|
|
||||||
-
|
|
||||||
- p->scale(viewBoxSize.width() / source.width(),
|
|
||||||
- viewBoxSize.height() / source.height());
|
|
||||||
- }
|
|
||||||
+ QTransform transform;
|
|
||||||
+ transform.scale(target.width() / source.width(),
|
|
||||||
+ target.height() / source.height());
|
|
||||||
+ QRectF c2 = transform.mapRect(source);
|
|
||||||
+ p->translate(target.x() - c2.x(),
|
|
||||||
+ target.y() - c2.y());
|
|
||||||
+ p->scale(target.width() / source.width(),
|
|
||||||
+ target.height() / source.height());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/svg/qsvgtinydocument_p.h b/src/svg/qsvgtinydocument_p.h
|
|
||||||
index 404587d..4babb9f 100644
|
|
||||||
--- a/src/svg/qsvgtinydocument_p.h
|
|
||||||
+++ b/src/svg/qsvgtinydocument_p.h
|
|
||||||
@@ -125,7 +125,6 @@ private:
|
|
||||||
bool m_widthPercent;
|
|
||||||
bool m_heightPercent;
|
|
||||||
|
|
||||||
- mutable bool m_implicitViewBox = true;
|
|
||||||
mutable QRectF m_viewBox;
|
|
||||||
|
|
||||||
QHash<QString, QSvgRefCounter<QSvgFont> > m_fonts;
|
|
||||||
@@ -174,10 +173,8 @@ inline bool QSvgTinyDocument::heightPercent() const
|
|
||||||
|
|
||||||
inline QRectF QSvgTinyDocument::viewBox() const
|
|
||||||
{
|
|
||||||
- if (m_viewBox.isNull()) {
|
|
||||||
+ if (m_viewBox.isNull())
|
|
||||||
m_viewBox = transformedBounds();
|
|
||||||
- m_implicitViewBox = true;
|
|
||||||
- }
|
|
||||||
|
|
||||||
return m_viewBox;
|
|
||||||
}
|
|
||||||
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
|
|
||||||
index cf19213..e0646f2 100644
|
|
||||||
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
|
|
||||||
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
|
|
||||||
@@ -268,16 +268,6 @@ void tst_QSvgRenderer::testMapViewBoxToTarget()
|
|
||||||
QCOMPARE(picture.boundingRect(), QRect(125, 125, 250, 250));
|
|
||||||
}
|
|
||||||
|
|
||||||
- { // Viewport and viewBox specified -> scale 500x500 square to 1000x750 while preserving aspect ratio gives 750x750
|
|
||||||
- // however the box is centered at 375, 250
|
|
||||||
- data = "<svg width=\"1000\" height=\"750\" viewBox=\"-250 -250 500 500\"><g><rect x=\"0\" y=\"0\" width=\"500\" height=\"500\" /></g></svg>";
|
|
||||||
- QPicture picture;
|
|
||||||
- QPainter painter(&picture);
|
|
||||||
- QSvgRenderer rend(data);
|
|
||||||
- rend.render(&painter);
|
|
||||||
- painter.end();
|
|
||||||
- QCOMPARE(picture.boundingRect(), QRect(375, 250, 750, 750));
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
void tst_QSvgRenderer::testRenderElement()
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 4 14:38:08 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-rc:
|
||||||
|
* New bugfix release
|
||||||
|
* No changelog available
|
||||||
|
* For more details please see:
|
||||||
|
* For more details about Qt 5.14 please see:
|
||||||
|
https://wiki.qt.io/New_Features_in_Qt_5.14
|
||||||
|
- Drop patch, fixed upstream:
|
||||||
|
* 0001-Revert-Fix-rendering-of-SVGs-with-viewBoxes.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Nov 12 13:03:06 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
Tue Nov 12 13:03:06 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
@ -21,20 +21,18 @@
|
|||||||
%define libname libQt5Svg5
|
%define libname libQt5Svg5
|
||||||
|
|
||||||
Name: libqt5-qtsvg
|
Name: libqt5-qtsvg
|
||||||
Version: 5.14.0~beta3
|
Version: 5.14.0~rc
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Qt 5 SVG Library
|
Summary: Qt 5 SVG Library
|
||||||
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
|
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
|
||||||
Group: Development/Libraries/X11
|
Group: Development/Libraries/X11
|
||||||
Url: https://www.qt.io
|
Url: https://www.qt.io
|
||||||
%define base_name libqt5
|
%define base_name libqt5
|
||||||
%define real_version 5.14.0-beta3
|
%define real_version 5.14.0-rc
|
||||||
%define so_version 5.14.0
|
%define so_version 5.14.0
|
||||||
%define tar_version qtsvg-everywhere-src-5.14.0-beta3
|
%define tar_version qtsvg-everywhere-src-5.14.0-rc
|
||||||
Source: https://download.qt.io/development_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
|
Source: https://download.qt.io/development_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
# PATCH-FIX-OPENSUSE
|
|
||||||
Patch1: 0001-Revert-Fix-rendering-of-SVGs-with-viewBoxes.patch
|
|
||||||
BuildRequires: libQt5Core-private-headers-devel >= %{version}
|
BuildRequires: libQt5Core-private-headers-devel >= %{version}
|
||||||
BuildRequires: libQt5Gui-private-headers-devel >= %{version}
|
BuildRequires: libQt5Gui-private-headers-devel >= %{version}
|
||||||
BuildRequires: libQt5Widgets-private-headers-devel >= %{version}
|
BuildRequires: libQt5Widgets-private-headers-devel >= %{version}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1344c124f38a0b19ba8efd275c7e2cb9f16061826fcc0408ff9fa1e0a0e128c8
|
|
||||||
size 1892744
|
|
3
qtsvg-everywhere-src-5.14.0-rc.tar.xz
Normal file
3
qtsvg-everywhere-src-5.14.0-rc.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2adfa8b06ef0afb44d6fef4ade8beddfd78fdfc30c9abd57daa70ecd0ced4fa3
|
||||||
|
size 1867112
|
Loading…
x
Reference in New Issue
Block a user