diff options
-rw-r--r-- | src/quick/items/qquickpainteditem.cpp | 15 | ||||
-rw-r--r-- | src/quick/items/qquickpainteditem_p.h | 1 | ||||
-rw-r--r-- | tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp | 20 |
3 files changed, 18 insertions, 18 deletions
diff --git a/src/quick/items/qquickpainteditem.cpp b/src/quick/items/qquickpainteditem.cpp index c0b591b2bb..df4ee6014d 100644 --- a/src/quick/items/qquickpainteditem.cpp +++ b/src/quick/items/qquickpainteditem.cpp @@ -87,7 +87,6 @@ QQuickPaintedItemPrivate::QQuickPaintedItemPrivate() , fillColor(Qt::transparent) , renderTarget(QQuickPaintedItem::Image) , opaquePainting(false) - , antialiasing(false) , mipmap(false) , textureProvider(nullptr) , node(nullptr) @@ -177,6 +176,7 @@ void QQuickPaintedItem::setOpaquePainting(bool opaque) QQuickItem::update(); } +//### Qt7: remove the aa functions; they shadow the QQuickItem property /*! Returns true if antialiased painting is enabled; otherwise, false is returned. @@ -186,8 +186,7 @@ void QQuickPaintedItem::setOpaquePainting(bool opaque) */ bool QQuickPaintedItem::antialiasing() const { - Q_D(const QQuickPaintedItem); - return d->antialiasing; + return QQuickItem::antialiasing(); } /*! @@ -199,13 +198,7 @@ bool QQuickPaintedItem::antialiasing() const */ void QQuickPaintedItem::setAntialiasing(bool enable) { - Q_D(QQuickPaintedItem); - - if (d->antialiasing == enable) - return; - - d->antialiasing = enable; - update(); + QQuickItem::setAntialiasing(enable); } /*! @@ -550,7 +543,7 @@ QSGNode *QQuickPaintedItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat node->setPreferredRenderTarget(d->renderTarget); node->setFastFBOResizing(d->performanceHints & FastFBOResizing); - node->setSmoothPainting(d->antialiasing); + node->setSmoothPainting(antialiasing()); node->setLinearFiltering(d->smooth); node->setMipmapping(d->mipmap); node->setOpaquePainting(d->opaquePainting); diff --git a/src/quick/items/qquickpainteditem_p.h b/src/quick/items/qquickpainteditem_p.h index b6930b4b5f..2695d13da4 100644 --- a/src/quick/items/qquickpainteditem_p.h +++ b/src/quick/items/qquickpainteditem_p.h @@ -40,7 +40,6 @@ public: QRect dirtyRect; bool opaquePainting: 1; - bool antialiasing: 1; bool mipmap: 1; mutable QQuickPaintedItemTextureProvider *textureProvider; diff --git a/tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp b/tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp index d8aabd09c9..eca935c258 100644 --- a/tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp +++ b/tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp @@ -40,12 +40,14 @@ public: : QQuickPaintedItem(parent) , paintNode(nullptr) , paintRequests(0) + , painterHadAA(false) { } void paint(QPainter *painter) override { ++paintRequests; + painterHadAA = painter->testRenderHint(QPainter::Antialiasing); clipRect = painter->clipBoundingRect(); } #if QT_CONFIG(opengl) @@ -66,9 +68,12 @@ public: QSGSoftwarePainterNode *paintNode; #endif int paintRequests; + bool painterHadAA; QRectF clipRect; }; +static bool hasDirtyAAFlag(QQuickItem *item) { + return QQuickItemPrivate::get(item)->dirtyAttributes & QQuickItemPrivate::Antialiasing; } static bool hasDirtyContentFlag(QQuickItem *item) { return QQuickItemPrivate::get(item)->dirtyAttributes & QQuickItemPrivate::Content; } static void clearDirtyContentFlag(QQuickItem *item) { @@ -167,32 +172,35 @@ void tst_QQuickPaintedItem::antialiasing() item.setAntialiasing(false); QCOMPARE(item.antialiasing(), false); - QCOMPARE(hasDirtyContentFlag(&item), false); + QCOMPARE(hasDirtyAAFlag(&item), false); item.update(); QTRY_COMPARE(hasDirtyContentFlag(&item), false); QVERIFY(item.paintNode); QCOMPARE(item.paintNode->smoothPainting(), false); + QCOMPARE(item.painterHadAA, false); item.setAntialiasing(true); QCOMPARE(item.antialiasing(), true); - QCOMPARE(hasDirtyContentFlag(&item), true); + QCOMPARE(hasDirtyAAFlag(&item), true); - QTRY_COMPARE(hasDirtyContentFlag(&item), false); + QTRY_COMPARE(hasDirtyAAFlag(&item), false); QVERIFY(item.paintNode); QCOMPARE(item.paintNode->smoothPainting(), true); + QCOMPARE(item.painterHadAA, true); item.setAntialiasing(true); QCOMPARE(item.antialiasing(), true); - QCOMPARE(hasDirtyContentFlag(&item), false); + QCOMPARE(hasDirtyAAFlag(&item), false); item.setAntialiasing(false); QCOMPARE(item.antialiasing(), false); - QCOMPARE(hasDirtyContentFlag(&item), true); + QCOMPARE(hasDirtyAAFlag(&item), true); - QTRY_COMPARE(hasDirtyContentFlag(&item), false); + QTRY_COMPARE(hasDirtyAAFlag(&item), false); QVERIFY(item.paintNode); QCOMPARE(item.paintNode->smoothPainting(), false); + QCOMPARE(item.painterHadAA, false); } void tst_QQuickPaintedItem::mipmap() |