diff options
| author | 2013-08-13 10:37:25 -0700 | |
|---|---|---|
| committer | 2013-08-13 10:37:25 -0700 | |
| commit | 7fbbc3c9c3dc25c2bc78bba6fd267bfd99c96b2b (patch) | |
| tree | d31b7e4d182ea124aabfe4d78715b4d932a31dea | |
| parent | b15b446f420b3ec69424dabcbcbc8cf019d6c8d6 (diff) | |
Camera.applyToCanvas() now works with hardware canvases
Change-Id: I7f06b2a74ccc1941d51e12a0417028e094c1b669
| -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); |