diff options
| -rw-r--r-- | graphics/java/android/graphics/Camera.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/Camera.java b/graphics/java/android/graphics/Camera.java index 6f71a2bdb5d6..9e07bd4c133d 100644 --- a/graphics/java/android/graphics/Camera.java +++ b/graphics/java/android/graphics/Camera.java @@ -22,6 +22,8 @@ package android.graphics; * {@link Canvas}. */ public class Camera { + private Matrix mMatrix; + /** * Creates a new camera, with empty transformations. */ @@ -147,7 +149,13 @@ public class Camera { * @param canvas The Canvas to set the transform matrix onto */ public void applyToCanvas(Canvas canvas) { - nativeApplyToCanvas(canvas.mNativeCanvas); + if (canvas.isHardwareAccelerated()) { + if (mMatrix == null) mMatrix = new Matrix(); + getMatrix(mMatrix); + canvas.concat(mMatrix); + } else { + nativeApplyToCanvas(canvas.mNativeCanvas); + } } public native float dotWithNormal(float dx, float dy, float dz); |