aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickpainteditem.cpp15
-rw-r--r--src/quick/items/qquickpainteditem_p.h1
-rw-r--r--tests/auto/quick/qquickpainteditem/tst_qquickpainteditem.cpp20
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()