OSDN Git Service

Completely remove skia dependency from libinput.
authorJeff Brown <jeffbrown@google.com>
Tue, 16 Jul 2013 01:07:09 +0000 (18:07 -0700)
committerJeff Brown <jeffbrown@google.com>
Tue, 16 Jul 2013 01:49:00 +0000 (18:49 -0700)
Including the tests...

Change-Id: I6ec8f1a5ae7e7514831d7e3b430b3b37b0841b92

include/input/Input.h
libs/input/tests/Android.mk
libs/input/tests/InputEvent_test.cpp

index 9abaaea..e778076 100644 (file)
 #include <utils/RefBase.h>
 #include <utils/String8.h>
 
-#ifdef HAVE_ANDROID_OS
-class SkMatrix;
-#endif
-
 /*
  * Additional private constants not defined in ndk/ui/input.h.
  */
@@ -533,23 +529,6 @@ public:
     // Matrix is in row-major form and compatible with SkMatrix.
     void transform(const float matrix[9]);
 
-#ifdef SkMatrix_DEFINED
-    // Helper for interoperating with Skia matrices since Skia isn't part of the PDK.
-    inline void transform(const SkMatrix* 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));
-        transform(m);
-    }
-#endif
-
 #ifdef HAVE_ANDROID_OS
     status_t readFromParcel(Parcel* parcel);
     status_t writeToParcel(Parcel* parcel) const;
index 4292741..c62dff1 100644 (file)
@@ -14,8 +14,7 @@ shared_libraries := \
     libutils \
     libbinder \
     libui \
-    libstlport \
-    libskia
+    libstlport
 
 static_libraries := \
     libgtest \
index ab1feb3..78ea98e 100644 (file)
@@ -17,7 +17,6 @@
 #include <math.h>
 
 #include <binder/Parcel.h>
-#include <core/SkMatrix.h>
 #include <gtest/gtest.h>
 #include <input/Input.h>
 
@@ -519,6 +518,20 @@ TEST_F(MotionEventTest, Parcel) {
     ASSERT_NO_FATAL_FAILURE(assertEqualsEventWithHistory(&outEvent));
 }
 
+static void setRotationMatrix(float matrix[9], float angle) {
+    float sin = sinf(angle);
+    float cos = cosf(angle);
+    matrix[0] = cos;
+    matrix[1] = -sin;
+    matrix[2] = 0;
+    matrix[3] = sin;
+    matrix[4] = cos;
+    matrix[5] = 0;
+    matrix[6] = 0;
+    matrix[7] = 0;
+    matrix[8] = 1.0f;
+}
+
 TEST_F(MotionEventTest, Transform) {
     // Generate some points on a circle.
     // Each point 'i' is a point on a circle of radius ROTATION centered at (3,2) at an angle
@@ -561,9 +574,9 @@ TEST_F(MotionEventTest, Transform) {
     ASSERT_NEAR(originalRawY, event.getRawY(0), 0.001);
 
     // Apply a rotation about the origin by ROTATION degrees clockwise.
-    SkMatrix matrix;
-    matrix.setRotate(ROTATION);
-    event.transform(&matrix);
+    float matrix[9];
+    setRotationMatrix(matrix, ROTATION * PI_180);
+    event.transform(matrix);
 
     // Check the points.
     for (size_t i = 0; i < pointerCount; i++) {