OSDN Git Service

Call setLocalMatrix before setShader. do not merge
authorLeon Scroggins III <scroggo@google.com>
Wed, 9 Jul 2014 18:54:31 +0000 (14:54 -0400)
committerLeon Scroggins <scroggo@google.com>
Tue, 15 Jul 2014 13:57:27 +0000 (13:57 +0000)
Now that setLocalMatrix does not modify associated Paints, we need
to call it before assigning the Shader to the Paint.

BUG:14315916
Change-Id: I6778a35eff36515e18c53a979dd69d8aecd1401d
(cherry picked from commit ce3b2ee2c6512a0eac9dbd54641a196baa68ba3f)

src/com/android/gallery3d/filtershow/imageshow/ImageShow.java

index 7089e60..2022ffd 100644 (file)
@@ -415,8 +415,9 @@ public class ImageShow extends View implements OnGestureListener,
                     float scaleImageY = mImageBounds.height() / (float) image.getHeight();
                     mShaderMatrix.preScale(scaleImageX, scaleImageY);
                     mMaskPaint.reset();
-                    mMaskPaint.setShader(createShader(image));
-                    mMaskPaint.getShader().setLocalMatrix(mShaderMatrix);
+                    Shader maskShader = createShader(image);
+                    maskShader.setLocalMatrix(mShaderMatrix);
+                    mMaskPaint.setShader(maskShader);
 
                     drawShadow(canvas, mImageBounds); // as needed
                     canvas.drawBitmap(previousImage, m, mPaint);