From 50457678278f81d6dc07b8396dfb235fd9acf557 Mon Sep 17 00:00:00 2001 From: Ales Erjavec Date: Fri, 31 Jan 2020 11:18:31 +0100 Subject: Add support for 'image-rendering' attribute Write and parse the 'image-rendering' attibute. The value is mapped to QPainter::SmoothPixmapTransform render hint. [ChangeLog] Add support for 'image-rendering' attribute Task-number: QTBUG-4145 Change-Id: I5268eac73b234cd195adade502ab9945a89f3ff6 Reviewed-by: Eirik Aavitsland --- src/svg/qsvgstyle_p.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/svg/qsvgstyle_p.h') diff --git a/src/svg/qsvgstyle_p.h b/src/svg/qsvgstyle_p.h index 420dd67..8664f7a 100644 --- a/src/svg/qsvgstyle_p.h +++ b/src/svg/qsvgstyle_p.h @@ -148,6 +148,7 @@ struct Q_SVG_PRIVATE_EXPORT QSvgExtraStates int nestedUseLevel = 0; int nestedUseCount = 0; bool vectorEffect; // true if pen is cosmetic + qint8 imageRendering; // QSvgQualityStyle::ImageRendering }; class Q_SVG_PRIVATE_EXPORT QSvgStyleProperty : public QSvgRefCounted @@ -186,10 +187,18 @@ public: class Q_SVG_PRIVATE_EXPORT QSvgQualityStyle : public QSvgStyleProperty { public: + enum ImageRendering: qint8 { + ImageRenderingAuto = 0, + ImageRenderingOptimizeSpeed = 1, + ImageRenderingOptimizeQuality = 2, + }; + QSvgQualityStyle(int color); void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states) override; void revert(QPainter *p, QSvgExtraStates &states) override; Type type() const override; + + void setImageRendering(ImageRendering); private: // color-render ing v v 'auto' | 'optimizeSpeed' | // 'optimizeQuality' | 'inherit' @@ -210,7 +219,9 @@ private: // image-rendering v v 'auto' | 'optimizeSpeed' | 'optimizeQuality' | // 'inherit' - //QSvgImageRendering m_imageRendering; + qint32 m_imageRendering: 4; + qint32 m_oldImageRendering: 4; + qint32 m_imageRenderingSet: 1; }; -- cgit v1.2.1