diff options
author | Chris Craik <ccraik@google.com> | 2012-05-21 18:04:15 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-05-21 18:04:15 -0700 |
commit | f282a4d1efb427883fb318127e175a95c6fbac64 (patch) | |
tree | 72b43cda371a519b62413d612d8c18ca5133735f | |
parent | 13c0becfffb869bb9b66c5e8e44a0792b6ea97c2 (diff) | |
parent | 37289e42b769cb9f394964ad318791723bfe50af (diff) | |
download | external_webkit-f282a4d1efb427883fb318127e175a95c6fbac64.zip external_webkit-f282a4d1efb427883fb318127e175a95c6fbac64.tar.gz external_webkit-f282a4d1efb427883fb318127e175a95c6fbac64.tar.bz2 |
am 37289e42: Merge "Disable transform fudging for merged surfaces" into jb-dev
* commit '37289e42b769cb9f394964ad318791723bfe50af':
Disable transform fudging for merged surfaces
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp | 5 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/Surface.h | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp index 6e88081..182e811 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.cpp @@ -411,9 +411,12 @@ void LayerAndroid::updateGLPositionsAndScale(const TransformationMatrix& parentM -anchorPointZ()); setDrawTransform(localMatrix); - if (m_drawTransform.isIdentityOrTranslation()) { + if (m_drawTransform.isIdentityOrTranslation() + && surface() && surface()->allowTransformFudging()) { // adjust the translation coordinates of the draw transform matrix so // that layers (defined in content coordinates) will align to display/view pixels + + // the surface may not allow fudging if it uses the draw transform at paint time float desiredContentX = round(m_drawTransform.m41() * scale) / scale; float desiredContentY = round(m_drawTransform.m42() * scale) / scale; ALOGV("fudging translation from %f, %f to %f, %f", diff --git a/Source/WebCore/platform/graphics/android/rendering/Surface.h b/Source/WebCore/platform/graphics/android/rendering/Surface.h index 0286259..535d2c1 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Surface.h +++ b/Source/WebCore/platform/graphics/android/rendering/Surface.h @@ -64,6 +64,10 @@ public: bool hasText() { return m_hasText; } bool isBase(); + // don't allow transform fudging for merged layers - they need the transform + // static at paint time, and are always aligned to 0,0 doc coordinates. + bool allowTransformFudging() const { return singleLayer(); } + // TilePainter methods virtual bool paint(SkCanvas* canvas); virtual float opacity(); |