diff options
author | Tom Hudson <tomhudson@google.com> | 2015-06-24 14:53:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-24 14:53:58 +0000 |
commit | a81a0c86473e49df331cc2f6bdcefa980e3c1ec2 (patch) | |
tree | 1a74dd9db040e6051d19feb73f0ccaaa9c8f28d1 /libs/hwui/DisplayListCanvas.cpp | |
parent | e042f952b3dd82fb38749c282e9273c8dc8326df (diff) | |
parent | 90fb1f6732a610ad5ff6acdb3bd9ae392c8eac82 (diff) | |
download | frameworks_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.cpp | 8 |
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(); } |