diff options
| -rw-r--r-- | core/java/android/view/TextureView.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java index b72222ee9f99..9d959fbf5981 100644 --- a/core/java/android/view/TextureView.java +++ b/core/java/android/view/TextureView.java @@ -261,6 +261,7 @@ public class TextureView extends View { @Override public final void draw(Canvas canvas) { applyUpdate(); + applyTransformMatrix(); } /** @@ -315,11 +316,7 @@ public class TextureView extends View { } applyUpdate(); - - if (mMatrixChanged) { - mLayer.setTransform(mMatrix); - mMatrixChanged = false; - } + applyTransformMatrix(); return mLayer; } @@ -386,7 +383,7 @@ public class TextureView extends View { public void setTransform(Matrix transform) { mMatrix.set(transform); mMatrixChanged = true; - invalidate(); + invalidateParentIfNeeded(); } /** @@ -410,6 +407,13 @@ public class TextureView extends View { return transform; } + private void applyTransformMatrix() { + if (mMatrixChanged) { + mLayer.setTransform(mMatrix); + mMatrixChanged = false; + } + } + /** * <p>Returns a {@link android.graphics.Bitmap} representation of the content * of the associated surface texture. If the surface texture is not available, |