summaryrefslogtreecommitdiffstats
path: root/libs/hwui/DisplayListCanvas.cpp
diff options
context:
space:
mode:
authorTom Hudson <tomhudson@google.com>2015-06-24 14:53:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-24 14:53:58 +0000
commita81a0c86473e49df331cc2f6bdcefa980e3c1ec2 (patch)
tree1a74dd9db040e6051d19feb73f0ccaaa9c8f28d1 /libs/hwui/DisplayListCanvas.cpp
parente042f952b3dd82fb38749c282e9273c8dc8326df (diff)
parent90fb1f6732a610ad5ff6acdb3bd9ae392c8eac82 (diff)
downloadframeworks_base-a81a0c86473e49df331cc2f6bdcefa980e3c1ec2.zip
frameworks_base-a81a0c86473e49df331cc2f6bdcefa980e3c1ec2.tar.gz
frameworks_base-a81a0c86473e49df331cc2f6bdcefa980e3c1ec2.tar.bz2
Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev
Diffstat (limited to 'libs/hwui/DisplayListCanvas.cpp')
-rw-r--r--libs/hwui/DisplayListCanvas.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/hwui/DisplayListCanvas.cpp b/libs/hwui/DisplayListCanvas.cpp
index 02a4877..b08187b 100644
--- a/libs/hwui/DisplayListCanvas.cpp
+++ b/libs/hwui/DisplayListCanvas.cpp
@@ -99,6 +99,14 @@ SkCanvas* DisplayListCanvas::asSkCanvas() {
if (!mSkiaCanvasProxy) {
mSkiaCanvasProxy.reset(new SkiaCanvasProxy(this));
}
+
+ // SkCanvas instances default to identity transform, but should inherit
+ // the state of this Canvas; if this code was in the SkiaCanvasProxy
+ // constructor, we couldn't cache mSkiaCanvasProxy.
+ SkMatrix parentTransform;
+ getMatrix(&parentTransform);
+ mSkiaCanvasProxy.get()->setMatrix(parentTransform);
+
return mSkiaCanvasProxy.get();
}