diff options
| -rw-r--r-- | core/jni/android/graphics/Camera.cpp | 6 | ||||
| -rw-r--r-- | graphics/java/android/graphics/Camera.java | 10 |
2 files changed, 5 insertions, 11 deletions
diff --git a/core/jni/android/graphics/Camera.cpp b/core/jni/android/graphics/Camera.cpp index 76d685149ec4..da954972ab57 100644 --- a/core/jni/android/graphics/Camera.cpp +++ b/core/jni/android/graphics/Camera.cpp @@ -96,10 +96,12 @@ static void Camera_getMatrix(JNIEnv* env, jobject obj, jlong matrixHandle) { } static void Camera_applyToCanvas(JNIEnv* env, jobject obj, jlong canvasHandle) { - SkCanvas* canvas = reinterpret_cast<android::Canvas*>(canvasHandle)->asSkCanvas(); + android::Canvas* canvas = reinterpret_cast<android::Canvas*>(canvasHandle); jlong viewHandle = env->GetLongField(obj, gNativeInstanceFieldID); Sk3DView* v = reinterpret_cast<Sk3DView*>(viewHandle); - v->applyToCanvas(canvas); + SkMatrix matrix; + v->getMatrix(&matrix); + canvas->concat(matrix); } static jfloat Camera_dotWithNormal(JNIEnv* env, jobject obj, diff --git a/graphics/java/android/graphics/Camera.java b/graphics/java/android/graphics/Camera.java index 60588d07196c..008991a1e483 100644 --- a/graphics/java/android/graphics/Camera.java +++ b/graphics/java/android/graphics/Camera.java @@ -22,8 +22,6 @@ package android.graphics; * {@link Canvas}. */ public class Camera { - private Matrix mMatrix; - /** * Creates a new camera, with empty transformations. */ @@ -149,13 +147,7 @@ public class Camera { * @param canvas The Canvas to set the transform matrix onto */ public void applyToCanvas(Canvas canvas) { - if (canvas.isHardwareAccelerated()) { - if (mMatrix == null) mMatrix = new Matrix(); - getMatrix(mMatrix); - canvas.concat(mMatrix); - } else { - nativeApplyToCanvas(canvas.getNativeCanvasWrapper()); - } + nativeApplyToCanvas(canvas.getNativeCanvasWrapper()); } public native float dotWithNormal(float dx, float dy, float dz); |