diff options
| -rw-r--r-- | core/jni/android_view_MotionEvent.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 92b7307395dd..ad6c0f26975a 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -678,7 +678,18 @@ static void android_view_MotionEvent_nativeTransform(JNIEnv* env, jclass clazz, jint nativePtr, jobject matrixObj) { SkMatrix* matrix = android_graphics_Matrix_getSkMatrix(env, matrixObj); MotionEvent* event = reinterpret_cast<MotionEvent*>(nativePtr); - event->transform(matrix); + + float m[9]; + m[0] = SkScalarToFloat(matrix->get(SkMatrix::kMScaleX)); + m[1] = SkScalarToFloat(matrix->get(SkMatrix::kMSkewX)); + m[2] = SkScalarToFloat(matrix->get(SkMatrix::kMTransX)); + m[3] = SkScalarToFloat(matrix->get(SkMatrix::kMSkewY)); + m[4] = SkScalarToFloat(matrix->get(SkMatrix::kMScaleY)); + m[5] = SkScalarToFloat(matrix->get(SkMatrix::kMTransY)); + m[6] = SkScalarToFloat(matrix->get(SkMatrix::kMPersp0)); + m[7] = SkScalarToFloat(matrix->get(SkMatrix::kMPersp1)); + m[8] = SkScalarToFloat(matrix->get(SkMatrix::kMPersp2)); + event->transform(m); } static jint android_view_MotionEvent_nativeReadFromParcel(JNIEnv* env, jclass clazz, |