Index: cc/base/math_util.h |
diff --git a/cc/base/math_util.h b/cc/base/math_util.h |
index 67a93709d0fe57efdc9d90d89466a665d268f4b6..0123eb468d3cd8a7d927f86b4554f079e13e731d 100644 |
--- a/cc/base/math_util.h |
+++ b/cc/base/math_util.h |
@@ -177,6 +177,18 @@ class CC_EXPORT MathUtil { |
// If the value is inf, returns max double/float representation. |
static scoped_ptr<base::Value> AsValueSafely(double value); |
static scoped_ptr<base::Value> AsValueSafely(float value); |
+ |
+ // Check if matrices are of a certain type using approximate math. Each |
+ // function gets a tolerance parameter to specify the maximum allowed |
+ // absolute difference to the exact values. |
+ static bool IsApproximatelyPureTranslation( |
+ const gfx::Transform& transform, SkMScalar tolerance); |
+ static bool IsMatrixApproximatelyPureTranslation( |
+ const SkMatrix44& matrix, SkMScalar tolerance); |
+ static bool IsApproximatelyIntegerTransform( |
+ const gfx::Transform& transform, SkMScalar tolerance); |
+ static bool IsMatrixApproximatelyIntegerTransform( |
+ const SkMatrix44& matrix, SkMScalar tolerance); |
}; |
} // namespace cc |