Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a81a0c86 authored by Tom Hudson's avatar Tom Hudson Committed by Android (Google) Code Review
Browse files

Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev

parents e042f952 90fb1f67
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -47,6 +47,10 @@ public:
     *  It is useful for testing and clients (e.g. Picture/Movie) that expect to
     *  draw their contents into an SkCanvas.
     *
     *  The SkCanvas returned is *only* valid until another Canvas call is made
     *  that would change state (e.g. matrix or clip). Clients of asSkCanvas()
     *  are responsible for *not* persisting this pointer.
     *
     *  Further, the returned SkCanvas should NOT be unref'd and is valid until
     *  this canvas is destroyed or a new bitmap is set.
     */
+8 −0
Original line number Diff line number Diff line
@@ -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();
}