summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2022-11-04 16:15:52 +0100
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2022-11-21 01:27:48 +0100
commit17ce2c06a2b40e58672064222aef06dc6a6f313e (patch)
tree66137fefb0330a870eae61e2bf7583556a1a446e /src
parent9a970654f04f75c08dbc8366a73efa45d4142fd5 (diff)
downloadqtsvg-17ce2c06a2b40e58672064222aef06dc6a6f313e.tar.gz
QSvgPaintEngine: code tidies
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>
Diffstat (limited to 'src')
-rw-r--r--src/svg/qsvggenerator.cpp38
1 files changed, 12 insertions, 26 deletions
diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp
index b27b6ba..d452670 100644
--- a/src/svg/qsvggenerator.cpp
+++ b/src/svg/qsvggenerator.cpp
@@ -942,10 +942,7 @@ void QSvgPaintEngine::drawImage(const QRectF &r, const QImage &image,
void QSvgPaintEngine::updateState(const QPaintEngineState &state)
{
Q_D(QSvgPaintEngine);
- QPaintEngine::DirtyFlags flags = state.state();
-
// always stream full gstate, which is not required, but...
- flags |= QPaintEngine::AllDirty;
// close old state and start a new one...
if (d->afterFirstUpdate)
@@ -953,32 +950,21 @@ void QSvgPaintEngine::updateState(const QPaintEngineState &state)
*d->stream << "<g ";
- if (flags & QPaintEngine::DirtyBrush) {
- qbrushToSvg(state.brush());
- }
+ qbrushToSvg(state.brush());
+ qpenToSvg(state.pen());
- if (flags & QPaintEngine::DirtyPen) {
- qpenToSvg(state.pen());
- }
-
- if (flags & QPaintEngine::DirtyTransform) {
- d->matrix = state.transform();
- *d->stream << "transform=\"matrix(" << d->matrix.m11() << ','
- << d->matrix.m12() << ','
- << d->matrix.m21() << ',' << d->matrix.m22() << ','
- << d->matrix.dx() << ',' << d->matrix.dy()
- << ")\""
- << Qt::endl;
- }
+ d->matrix = state.transform();
+ *d->stream << "transform=\"matrix(" << d->matrix.m11() << ','
+ << d->matrix.m12() << ','
+ << d->matrix.m21() << ',' << d->matrix.m22() << ','
+ << d->matrix.dx() << ',' << d->matrix.dy()
+ << ")\""
+ << Qt::endl;
- if (flags & QPaintEngine::DirtyFont) {
- qfontToSvg(state.font());
- }
+ qfontToSvg(state.font());
- if (flags & QPaintEngine::DirtyOpacity) {
- if (!qFuzzyIsNull(state.opacity() - 1))
- stream() << "opacity=\""<<state.opacity()<<"\" ";
- }
+ if (!qFuzzyIsNull(state.opacity() - 1))
+ stream() << "opacity=\""<<state.opacity()<<"\" ";
*d->stream << '>' << Qt::endl;