Title: [154985] trunk/Source/WebKit/qt
- Revision
- 154985
- Author
- allan.jen...@digia.com
- Date
- 2013-09-03 08:32:07 -0700 (Tue, 03 Sep 2013)
Log Message
[Qt] Images scaled poorly on composited canvas
https://bugs.webkit.org/show_bug.cgi?id=120632
Reviewed by Jocelyn Turcotte.
Explicitly set a imageInterpolationQuality on the TextureMapper, because
InterpolationDefault may be interpreted differently by nested GraphicsContexts.
* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::renderCompositedLayers):
Modified Paths
Diff
Modified: trunk/Source/WebKit/qt/ChangeLog (154984 => 154985)
--- trunk/Source/WebKit/qt/ChangeLog 2013-09-03 14:50:53 UTC (rev 154984)
+++ trunk/Source/WebKit/qt/ChangeLog 2013-09-03 15:32:07 UTC (rev 154985)
@@ -1,5 +1,18 @@
2013-09-03 Allan Sandfeld Jensen <allan.jen...@digia.com>
+ [Qt] Images scaled poorly on composited canvas
+ https://bugs.webkit.org/show_bug.cgi?id=120632
+
+ Reviewed by Jocelyn Turcotte.
+
+ Explicitly set a imageInterpolationQuality on the TextureMapper, because
+ InterpolationDefault may be interpreted differently by nested GraphicsContexts.
+
+ * WebCoreSupport/TextureMapperLayerClientQt.cpp:
+ (TextureMapperLayerClientQt::renderCompositedLayers):
+
+2013-09-03 Allan Sandfeld Jensen <allan.jen...@digia.com>
+
[Qt] Tiled-backing store not clipped to frame or visible rect
https://bugs.webkit.org/show_bug.cgi?id=120606
Modified: trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp (154984 => 154985)
--- trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp 2013-09-03 14:50:53 UTC (rev 154984)
+++ trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp 2013-09-03 15:32:07 UTC (rev 154985)
@@ -104,7 +104,14 @@
return;
m_textureMapper->setGraphicsContext(context);
- m_textureMapper->setImageInterpolationQuality(context->imageInterpolationQuality());
+ // GraphicsContext::imageInterpolationQuality is always InterpolationDefault here,
+ // but 'default' may be interpreted differently due to a different backend QPainter,
+ // so we need to set an explicit imageInterpolationQuality.
+ if (context->platformContext()->renderHints() & QPainter::SmoothPixmapTransform)
+ m_textureMapper->setImageInterpolationQuality(WebCore::InterpolationMedium);
+ else
+ m_textureMapper->setImageInterpolationQuality(WebCore::InterpolationNone);
+
m_textureMapper->setTextDrawingMode(context->textDrawingMode());
QPainter* painter = context->platformContext();
const QTransform transform = painter->worldTransform();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes