diff options
author | 2015-08-19 22:38:07 +0000 | |
---|---|---|
committer | 2015-08-19 22:38:07 +0000 | |
commit | e5e6f4837b27eefa542e65cdb89c796f28e11ec5 (patch) | |
tree | 98eb8edfeff44a9a076dd8347c2053326fa09a3c /libs/hwui/OpenGLRenderer.cpp | |
parent | c725313a77ebb6f9f40e4c57f7e43beeaed60443 (diff) | |
parent | 6daa13c5fa7577fa1d8371deca446f6ca911f38f (diff) |
Merge "Change setMatrix behavior to only affect canvas-local matrix"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index e63a579fe2b4..b35c0179193a 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1151,7 +1151,7 @@ bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDef } void OpenGLRenderer::restoreDisplayState(const DeferredDisplayState& state, bool skipClipRestore) { - setMatrix(state.mMatrix); + setGlobalMatrix(state.mMatrix); writableSnapshot()->alpha = state.mAlpha; writableSnapshot()->roundRectClipState = state.mRoundRectClipState; writableSnapshot()->projectionPathMask = state.mProjectionPathMask; @@ -2098,8 +2098,9 @@ void OpenGLRenderer::skew(float sx, float sy) { mState.skew(sx, sy); } -void OpenGLRenderer::setMatrix(const Matrix4& matrix) { - mState.setMatrix(matrix); +void OpenGLRenderer::setLocalMatrix(const Matrix4& matrix) { + mState.setMatrix(mBaseTransform); + mState.concatMatrix(matrix); } void OpenGLRenderer::setLocalMatrix(const SkMatrix& matrix) { |