| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: I87147e277961a40a4f82fceed8774a1d85c3321a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie23e6b8300176dc6cdfd8c13825ffe3eb54d96cf
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I8fef473849df284953dbe6599e9f9a36c54c22b1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Pick-to: 6.2 6.4
Change-Id: I94a183f4369144edde5f71345f5a0ff72af3669e
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I391be8499b1007856994b83fddf56eb60d7f361c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I84aabdd14ca1dfd046825765f3b4ee6505fe1752
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SVG 1.1 allows to specify clipping paths. Before they were silently
discarded, but now we can support them.
The SVG generator code is very simple at its core -- at *any* state
change of the painter, a new <g> tag is emitted with the new state
(brush, pen, transform, ...).
Clipping is slightly more complicated because:
1) it needs its own element (<clipPath>), which needs to be referenced
by a shape/group by using a clip-path attribute (specifying a url).
2) in QPainter clipping happens in the logical coordinates when the clip
was set. Then the coordinates may get transformed again, but the drawn
shapes still have to honor the original clipping. In SVG, if one
specifies both the clip-path and the transform attributes on a shape,
the transformation also affects the clip-path (!). This is the
'clipPathUnits' attribute [1], that however doesn't match QPainter
semantics. As a workaround:
a) store clip paths already transformed (using the transform existing
when the clip path got set)
b) when clipping is active, emit an untransformed group, clip that
group, then open another inner group with the current painter
transformation. This ensures that the clip path is unaffected by any
further modification of the painter's transform.
Add a manual test.
[1] https://www.w3.org/TR/SVG11/masking.html#EstablishingANewClippingPath
Change-Id: I78161091925dc09c86e35ed042e31cece2618b9d
Reviewed-by: Albert Astals Cid <aacid@kde.org>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an opt-in measure for QSvgGenerator to request SVG 1.1 output.
This will enable the generator to honor non-Tiny features, such as
clip paths, introduced in the next commits.
[ChangeLog][QtSvg][QSvgGenerator] QSvgGenerator is now prepared to
produce SVG 1.1 documents. This will enable QSvgGenerator to support
more SVG features in the future, such as SVG clip paths.
Please note that the actual feature set supported by QSvgGenerator is
still very limited; extensive testing is recommended.
Change-Id: Ief133953e4eb25bf9bde344320fadfb49b65fd31
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
| |
Change-Id: I6ca8f41aa3c6dad36f650da3332caf560a064f88
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I6bfe897019343ac2daca416f9b1df872d0d47c83
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4982dbf2396112050975ac11e0e784e30ed48648
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
QSvgGenerator is not a QObject nor a Q_GADGET class; the point
of these Q_PROPERTY is to make qdoc generate property-like
documentation.
Change-Id: Ibe92122ebfac1b26518eced8dc0e716dbd669b47
Reviewed-by: Albert Astals Cid <aacid@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
When the paint engine state changes and updateState gets called,
the engine unconditionally streams out the entire gstate.
To do so, the dirty flags are OR'ed with a all-1 mask, and then
its flags individually tested. But those tests are now always true,
because *we* just set every flag. Just remove the flag handling.
Change-Id: Ibd9bbaef91f189da5366bc24498926c3d3abed20
Reviewed-by: Albert Astals Cid <aacid@kde.org>
|
|
|
|
|
| |
Change-Id: Ie00f1cf11ed9d40772c8c5511d90ba352c1942a8
Reviewed-by: Albert Astals Cid <aacid@kde.org>
|
|
|
|
|
| |
Change-Id: I3e9192206756b257af7215c21c3b38fa61b2e48b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Iff6cbb8d3893f1dd27399d64468122da4d9fed86
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4638f445d6b86728f53d7caa2797981c36249e3d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I8d31253c1ac7b6b75d026086f44dee7ce19ccd86
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I50146a06384cda208e399c1c52615f223764919b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ib82fbfe697333d45046be62954a879cf5c32b22a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I14f7ceec6447eb775b256fc36a85d80dff68ea19
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I885000a567320c169fa552b18b90f43eccf40be6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Change-Id: Ia4ca7c17b3dc840d881867990caa2e7313abc2ec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: If9338ccb6a85450e94d5e40e3baef2da3e768d72
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I0f6596177d551821adf6af30b14bc2aabca8d230
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I8696a860294449a686e94c84a5fe01dec2c8dafa
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I0ebb0aec9d660ff692dd8f89752ea4a8b3250e00
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Id6b89c20f706350dbc632e1b48505cafc4cdbafb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: I591240bbee393617e15beee71a2a5e1e7ba79510
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I192304f37392311fb7b39d5ba2232620ca91d1e3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I910058ae1d40e92b0a31104f28f48e744d7bd560
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ibc441ed7ece28963cc53c2e56ee839a7fb80c396
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I6e2acc8ae921e2b419cdc8d1e6dd3e428d59b77d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ida4ec4c2a2bf79c8fe4b32d8da3e26abc8d52701
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: If40a94b54dce4f8981b7a312ca40dc8286cd17c7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie7454fbc9bf81af08967f10f2c571f34d3499f04
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I719748abc56c67d9030615787c519037d9391e5e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Idace24d6f069e6e24c7c399717504048eda899c0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie22d645fdae35738be0d27d7400068f952777224
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: If5d7091e8fc93c501907877df62b2ee38c86fdac
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Idb9e34efc1e0f7e301a2cd980bd7d86b9bded4ac
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Iaa38dd8640b645ccf25557ad4e75efd5e7034a5b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ib8d10cff99ef599b4f60e3833016efcf44bf289b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
is set, so that integrations don't fail.
In the future we might add build-only tests like we have in qtbase.
Pick-to: 6.4
Task-number: QTBUG-96056
Change-Id: I444bf99a605c293c700edc8b58cae6c2b775dc05
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
| |
Change-Id: I3b427519d04524bf9369ce112451fe8972f5d1de
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Pick-to: 6.4 6.2 5.15
Change-Id: I8e864ab4213d65866b0004f115f4e7c7bf7173d5
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
| |
Change-Id: I2473055c98d93f0b8f762ca27774f7c373097efb
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4d2be14e4181ab7bb7ab45770d0dd966ce89eac6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Ica4da2b513a5c8f58b9f955e5cdabb92bbf5f48a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-104944
Change-Id: I68e403d059bcdd2aabb1f28727a36d751f8c4960
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|