diff options
-rw-r--r-- | src/svg/qsvggenerator.cpp | 38 |
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; |