summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-07-02 03:28:02 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-07-02 03:28:02 (GMT)
commitbaea2c29340b14c6ec1f560a09627f23dd358363 (patch)
tree14dd09884f19b739e741e17835c31b93d797ef4a
parentac9e2612e99c0e36b7e6396819af6e97da33f99c (diff)
downloadQt-baea2c29340b14c6ec1f560a09627f23dd358363.zip
Qt-baea2c29340b14c6ec1f560a09627f23dd358363.tar.gz
Qt-baea2c29340b14c6ec1f560a09627f23dd358363.tar.bz2
Smooth, but never anti-alias the edges of pixmaps that need to stitch..
Bug 256967 still stops it working correctly.
-rw-r--r--src/declarative/fx/qfxpainteditem.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/declarative/fx/qfxpainteditem.cpp b/src/declarative/fx/qfxpainteditem.cpp
index 65589f2..0a13dc4 100644
--- a/src/declarative/fx/qfxpainteditem.cpp
+++ b/src/declarative/fx/qfxpainteditem.cpp
@@ -232,10 +232,10 @@ void QFxPaintedItem::paintGLContents(GLPainter &p)
#if defined(QFX_RENDER_QPAINTER)
bool oldAntiAliasing = p.testRenderHint(QPainter::Antialiasing);
bool oldSmoothPixmap = p.testRenderHint(QPainter::SmoothPixmapTransform);
- if (d->smooth) {
- p.setRenderHints(QPainter::Antialiasing, true);
+ if (oldAntiAliasing)
+ p.setRenderHints(QPainter::Antialiasing, false); // cannot stitch properly otherwise
+ if (d->smooth)
p.setRenderHints(QPainter::SmoothPixmapTransform, true);
- }
QRectF clipf = p.clipRegion().boundingRect();
if (clipf.isEmpty())
clipf = mapToScene(content); // ### Inefficient: Maps toScene and then fromScene
@@ -330,10 +330,10 @@ void QFxPaintedItem::paintGLContents(GLPainter &p)
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
#endif
#if defined(QFX_RENDER_QPAINTER)
- if (d->smooth) {
+ if (oldAntiAliasing)
p.setRenderHints(QPainter::Antialiasing, oldAntiAliasing);
+ if (d->smooth)
p.setRenderHints(QPainter::SmoothPixmapTransform, oldSmoothPixmap);
- }
#endif
}