diff options
-rw-r--r-- | libs/hwui/Matrix.cpp | 6 | ||||
-rw-r--r-- | libs/hwui/Matrix.h | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/libs/hwui/Matrix.cpp b/libs/hwui/Matrix.cpp index 6a5ea510482b..65e7eae49c2d 100644 --- a/libs/hwui/Matrix.cpp +++ b/libs/hwui/Matrix.cpp @@ -72,7 +72,7 @@ static bool isZero(float f) { return fabs(f) <= EPSILON; } -uint32_t Matrix4::getType() const { +uint8_t Matrix4::getType() const { if (mType & kTypeUnknown) { mType = kTypeIdentity; @@ -114,7 +114,7 @@ uint32_t Matrix4::getType() const { return mType; } -uint32_t Matrix4::getGeometryType() const { +uint8_t Matrix4::getGeometryType() const { return getType() & sGeometryMask; } @@ -127,7 +127,7 @@ bool Matrix4::changesBounds() const { } bool Matrix4::isPureTranslate() const { - return getGeometryType() == kTypeTranslate; + return getGeometryType() <= kTypeTranslate; } bool Matrix4::isSimple() const { diff --git a/libs/hwui/Matrix.h b/libs/hwui/Matrix.h index af520bdc33e7..5116203e3b5a 100644 --- a/libs/hwui/Matrix.h +++ b/libs/hwui/Matrix.h @@ -124,7 +124,7 @@ public: void loadOrtho(float left, float right, float bottom, float top, float near, float far); - uint32_t getType() const; + uint8_t getType() const; void multiply(const Matrix4& v) { Matrix4 u; @@ -135,13 +135,13 @@ public: void multiply(float v); void translate(float x, float y) { - if ((getType() & sGeometryMask) == kTypeTranslate) { + if ((getType() & sGeometryMask) <= kTypeTranslate) { data[kTranslateX] += x; data[kTranslateY] += y; } else { // Doing a translation will only affect the translate bit of the type // Save the type - uint32_t type = mType; + uint8_t type = mType; Matrix4 u; u.loadTranslate(x, y, 0.0f); @@ -202,7 +202,7 @@ public: static const Matrix4& identity(); private: - mutable uint32_t mType; + mutable uint8_t mType; inline float get(int i, int j) const { return data[i * 4 + j]; @@ -212,7 +212,7 @@ private: data[i * 4 + j] = v; } - uint32_t getGeometryType() const; + uint8_t getGeometryType() const; }; // class Matrix4 |