summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-01-30 15:29:16 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-01 02:33:17 +0100
commit247ab7f706ace2af766daa7051bf25bd3c399169 (patch)
tree54d4d5840aeee4d6eccc09bd6d5b4f508aa6a50f /Source/WebCore/platform
parentf314bb46c5b144be4559ac13f055062d5e3027b3 (diff)
Fix transform of accelerated layers on hiDPI painters
A mismatch of reading combinedTransform but setting worldTransform means that the pattern of only storing and restoring the transform when temporarily overriding it, causes the hiDPI transform that combinedTransform contains to be applied multiple times. Task-number: QTBUG-36508 Change-Id: I512f0752016f55935595ef259913660b4ee78ae7 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/WebCore/platform')
-rw-r--r--Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index 014c06385..ffd88804a 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -368,12 +368,14 @@ PlatformGraphicsContext* GraphicsContext::platformContext() const
return m_data->p();
}
-AffineTransform GraphicsContext::getCTM(IncludeDeviceScale) const
+AffineTransform GraphicsContext::getCTM(IncludeDeviceScale includeScale) const
{
if (paintingDisabled())
return AffineTransform();
- const QTransform& matrix = platformContext()->combinedTransform();
+ const QTransform& matrix = (includeScale == DefinitelyIncludeDeviceScale)
+ ? platformContext()->combinedTransform()
+ : platformContext()->worldTransform();
return AffineTransform(matrix.m11(), matrix.m12(), matrix.m21(),
matrix.m22(), matrix.dx(), matrix.dy());
}
@@ -1511,7 +1513,7 @@ TransformationMatrix GraphicsContext::get3DTransform() const
if (paintingDisabled())
return TransformationMatrix();
- return platformContext()->combinedTransform();
+ return platformContext()->worldTransform();
}
void GraphicsContext::concat3DTransform(const TransformationMatrix& transform)