QPainter: mark obsolete RenderHints as deprecated
RenderHint::HighQualityAntialiasing and NonCosmeticDefaultPen are obsolete since Qt5 but not marked as such. Therefore add Q_DECL_ENUMERATOR_DEPRECATED_X now so those two enumerations can be removed with Qt6. [ChangeLog][QtGui][QPainter] HighQualityAntialiasing and NonCosmeticDefaultPen are marked as deprecated and don't have an effect anymore Change-Id: Ib0c966a078a1d23d492d0255288e2066c50e87b6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This commit is contained in:
parent
e5ab131c18
commit
1e4e006c3f
@ -1475,7 +1475,10 @@ void QOpenGL2PaintEngineEx::renderHintsChanged()
|
|||||||
if (!QOpenGLContext::currentContext()->isOpenGLES()) {
|
if (!QOpenGLContext::currentContext()->isOpenGLES()) {
|
||||||
Q_D(QOpenGL2PaintEngineEx);
|
Q_D(QOpenGL2PaintEngineEx);
|
||||||
if ((state()->renderHints & QPainter::Antialiasing)
|
if ((state()->renderHints & QPainter::Antialiasing)
|
||||||
|| (state()->renderHints & QPainter::HighQualityAntialiasing))
|
#if QT_DEPRECATED_SINCE(5, 14)
|
||||||
|
|| (state()->renderHints & QPainter::HighQualityAntialiasing)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
d->funcs.glEnable(GL_MULTISAMPLE);
|
d->funcs.glEnable(GL_MULTISAMPLE);
|
||||||
else
|
else
|
||||||
d->funcs.glDisable(GL_MULTISAMPLE);
|
d->funcs.glDisable(GL_MULTISAMPLE);
|
||||||
|
@ -904,7 +904,11 @@ void QRasterPaintEngine::renderHintsChanged()
|
|||||||
bool was_aa = s->flags.antialiased;
|
bool was_aa = s->flags.antialiased;
|
||||||
bool was_bilinear = s->flags.bilinear;
|
bool was_bilinear = s->flags.bilinear;
|
||||||
|
|
||||||
s->flags.antialiased = bool(s->renderHints & (QPainter::Antialiasing | QPainter::HighQualityAntialiasing));
|
s->flags.antialiased = bool(s->renderHints & QPainter::Antialiasing);
|
||||||
|
#if QT_DEPRECATED_SINCE(5, 14)
|
||||||
|
if (s->renderHints & QPainter::HighQualityAntialiasing)
|
||||||
|
s->flags.antialiased = true;
|
||||||
|
#endif
|
||||||
s->flags.bilinear = bool(s->renderHints & QPainter::SmoothPixmapTransform);
|
s->flags.bilinear = bool(s->renderHints & QPainter::SmoothPixmapTransform);
|
||||||
s->flags.legacy_rounding = !bool(s->renderHints & QPainter::Antialiasing) && bool(s->renderHints & QPainter::Qt4CompatiblePainting);
|
s->flags.legacy_rounding = !bool(s->renderHints & QPainter::Antialiasing) && bool(s->renderHints & QPainter::Qt4CompatiblePainting);
|
||||||
|
|
||||||
|
@ -89,8 +89,10 @@ public:
|
|||||||
Antialiasing = 0x01,
|
Antialiasing = 0x01,
|
||||||
TextAntialiasing = 0x02,
|
TextAntialiasing = 0x02,
|
||||||
SmoothPixmapTransform = 0x04,
|
SmoothPixmapTransform = 0x04,
|
||||||
HighQualityAntialiasing = 0x08,
|
#if QT_DEPRECATED_SINCE(5, 14)
|
||||||
NonCosmeticDefaultPen = 0x10,
|
HighQualityAntialiasing Q_DECL_ENUMERATOR_DEPRECATED_X("Use Antialiasing instead") = 0x08,
|
||||||
|
NonCosmeticDefaultPen Q_DECL_ENUMERATOR_DEPRECATED_X("Default pen is non-cosmetic now") = 0x10,
|
||||||
|
#endif
|
||||||
Qt4CompatiblePainting = 0x20,
|
Qt4CompatiblePainting = 0x20,
|
||||||
LosslessImageRendering = 0x40,
|
LosslessImageRendering = 0x40,
|
||||||
};
|
};
|
||||||
|
@ -1393,7 +1393,10 @@ void QGL2PaintEngineEx::renderHintsChanged()
|
|||||||
#if !defined(QT_OPENGL_ES_2)
|
#if !defined(QT_OPENGL_ES_2)
|
||||||
if (!d->ctx->contextHandle()->isOpenGLES()) {
|
if (!d->ctx->contextHandle()->isOpenGLES()) {
|
||||||
if ((state()->renderHints & QPainter::Antialiasing)
|
if ((state()->renderHints & QPainter::Antialiasing)
|
||||||
|| (state()->renderHints & QPainter::HighQualityAntialiasing))
|
#if QT_DEPRECATED_SINCE(5, 14)
|
||||||
|
|| (state()->renderHints & QPainter::HighQualityAntialiasing)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
d->glEnable(GL_MULTISAMPLE);
|
d->glEnable(GL_MULTISAMPLE);
|
||||||
else
|
else
|
||||||
d->glDisable(GL_MULTISAMPLE);
|
d->glDisable(GL_MULTISAMPLE);
|
||||||
|
@ -943,7 +943,11 @@ public:
|
|||||||
|
|
||||||
// Default path (no optimization)
|
// Default path (no optimization)
|
||||||
if (!(path.shape() == QVectorPath::LinesHint || path.shape() == QVectorPath::PolygonHint)
|
if (!(path.shape() == QVectorPath::LinesHint || path.shape() == QVectorPath::PolygonHint)
|
||||||
|| !pen.dashBrush || q->state()->renderHints.testFlag(QPainter::HighQualityAntialiasing)) {
|
|| !pen.dashBrush
|
||||||
|
#if QT_DEPRECATED_SINCE(5, 14)
|
||||||
|
|| q->state()->renderHints.testFlag(QPainter::HighQualityAntialiasing)
|
||||||
|
#endif
|
||||||
|
|| q->state()->renderHints.testFlag(QPainter::Antialiasing)) {
|
||||||
ComPtr<ID2D1Geometry> geometry = vectorPathToID2D1PathGeometry(path);
|
ComPtr<ID2D1Geometry> geometry = vectorPathToID2D1PathGeometry(path);
|
||||||
if (!geometry) {
|
if (!geometry) {
|
||||||
qWarning("%s: Could not convert path to d2d geometry", __FUNCTION__);
|
qWarning("%s: Could not convert path to d2d geometry", __FUNCTION__);
|
||||||
|
@ -330,7 +330,7 @@ public:
|
|||||||
{
|
{
|
||||||
// Make sure QGraphicsProxyWidget::paint does not modify the render hints set on the painter.
|
// Make sure QGraphicsProxyWidget::paint does not modify the render hints set on the painter.
|
||||||
painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform
|
painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform
|
||||||
| QPainter::NonCosmeticDefaultPen | QPainter::TextAntialiasing);
|
| QPainter::TextAntialiasing);
|
||||||
const QPainter::RenderHints oldRenderHints = painter->renderHints();
|
const QPainter::RenderHints oldRenderHints = painter->renderHints();
|
||||||
QGraphicsProxyWidget::paint(painter, option, widget);
|
QGraphicsProxyWidget::paint(painter, option, widget);
|
||||||
QCOMPARE(painter->renderHints(), oldRenderHints);
|
QCOMPARE(painter->renderHints(), oldRenderHints);
|
||||||
|
@ -352,8 +352,8 @@ void tst_QGraphicsView::renderHints()
|
|||||||
|
|
||||||
view.setScene(&scene);
|
view.setScene(&scene);
|
||||||
|
|
||||||
view.setRenderHints(QPainter::TextAntialiasing | QPainter::Antialiasing | QPainter::NonCosmeticDefaultPen);
|
view.setRenderHints(QPainter::TextAntialiasing | QPainter::Antialiasing);
|
||||||
QCOMPARE(view.renderHints(), QPainter::TextAntialiasing | QPainter::Antialiasing | QPainter::NonCosmeticDefaultPen);
|
QCOMPARE(view.renderHints(), QPainter::TextAntialiasing | QPainter::Antialiasing);
|
||||||
|
|
||||||
QCOMPARE(item->hints, 0);
|
QCOMPARE(item->hints, 0);
|
||||||
view.show();
|
view.show();
|
||||||
@ -361,8 +361,8 @@ void tst_QGraphicsView::renderHints()
|
|||||||
view.repaint();
|
view.repaint();
|
||||||
QTRY_COMPARE(item->hints, view.renderHints());
|
QTRY_COMPARE(item->hints, view.renderHints());
|
||||||
|
|
||||||
view.setRenderHints(QPainter::Antialiasing | QPainter::NonCosmeticDefaultPen);
|
view.setRenderHints(QPainter::Antialiasing);
|
||||||
QCOMPARE(view.renderHints(), QPainter::Antialiasing | QPainter::NonCosmeticDefaultPen);
|
QCOMPARE(view.renderHints(), QPainter::Antialiasing);
|
||||||
|
|
||||||
view.repaint();
|
view.repaint();
|
||||||
QTRY_COMPARE(item->hints, view.renderHints());
|
QTRY_COMPARE(item->hints, view.renderHints());
|
||||||
|
@ -7056,7 +7056,7 @@ void tst_QWidget::renderWithPainter()
|
|||||||
|
|
||||||
// Make sure QWidget::render does not modify the render hints set on the painter.
|
// Make sure QWidget::render does not modify the render hints set on the painter.
|
||||||
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform
|
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform
|
||||||
| QPainter::NonCosmeticDefaultPen | QPainter::TextAntialiasing);
|
| QPainter::TextAntialiasing);
|
||||||
QPainter::RenderHints oldRenderHints = painter.renderHints();
|
QPainter::RenderHints oldRenderHints = painter.renderHints();
|
||||||
widget.render(&painter);
|
widget.render(&painter);
|
||||||
QCOMPARE(painter.renderHints(), oldRenderHints);
|
QCOMPARE(painter.renderHints(), oldRenderHints);
|
||||||
|
@ -76,7 +76,6 @@ void OpenGLBench::initTestCase()
|
|||||||
|
|
||||||
QPainter p(pb);
|
QPainter p(pb);
|
||||||
p.setRenderHint(QPainter::Antialiasing);
|
p.setRenderHint(QPainter::Antialiasing);
|
||||||
p.setRenderHint(QPainter::HighQualityAntialiasing);
|
|
||||||
|
|
||||||
p.drawImage(0, 0, QImage(256, 256, QImage::Format_ARGB32_Premultiplied));
|
p.drawImage(0, 0, QImage(256, 256, QImage::Format_ARGB32_Premultiplied));
|
||||||
}
|
}
|
||||||
@ -120,7 +119,6 @@ void OpenGLBench::imageDrawing()
|
|||||||
QPainter p(pb);
|
QPainter p(pb);
|
||||||
p.setRenderHint(QPainter::SmoothPixmapTransform, smoothPixmapTransform);
|
p.setRenderHint(QPainter::SmoothPixmapTransform, smoothPixmapTransform);
|
||||||
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
||||||
p.setRenderHint(QPainter::HighQualityAntialiasing, highQualityAntialiasing);
|
|
||||||
|
|
||||||
QBENCHMARK {
|
QBENCHMARK {
|
||||||
if (pixmap) {
|
if (pixmap) {
|
||||||
@ -182,7 +180,6 @@ void OpenGLBench::pathDrawing()
|
|||||||
dummy.addRect(-1, -1, 2, 2);
|
dummy.addRect(-1, -1, 2, 2);
|
||||||
QPainter p(pb);
|
QPainter p(pb);
|
||||||
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
||||||
p.setRenderHint(QPainter::HighQualityAntialiasing, highQualityAntialiasing);
|
|
||||||
p.translate(pb->width() / 2, pb->height() / 2);
|
p.translate(pb->width() / 2, pb->height() / 2);
|
||||||
p.rotate(30);
|
p.rotate(30);
|
||||||
p.drawPath(dummy);
|
p.drawPath(dummy);
|
||||||
@ -196,7 +193,6 @@ void OpenGLBench::pathDrawing()
|
|||||||
|
|
||||||
QBENCHMARK {
|
QBENCHMARK {
|
||||||
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
||||||
p.setRenderHint(QPainter::HighQualityAntialiasing, highQualityAntialiasing);
|
|
||||||
|
|
||||||
p.rotate(0.01);
|
p.rotate(0.01);
|
||||||
p.drawPath(path);
|
p.drawPath(path);
|
||||||
@ -227,7 +223,6 @@ void OpenGLBench::startupCost()
|
|||||||
QGLPixelBuffer buffer(512, 512);
|
QGLPixelBuffer buffer(512, 512);
|
||||||
QPainter p(&buffer);
|
QPainter p(&buffer);
|
||||||
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
p.setRenderHint(QPainter::Antialiasing, highQualityAntialiasing);
|
||||||
p.setRenderHint(QPainter::HighQualityAntialiasing, highQualityAntialiasing);
|
|
||||||
|
|
||||||
p.translate(buffer.width() / 2, buffer.height() / 2);
|
p.translate(buffer.width() / 2, buffer.height() / 2);
|
||||||
p.drawPath(path);
|
p.drawPath(path);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user