diff options
author | tomhudson <tomhudson@google.com> | 2014-09-16 08:29:29 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-16 08:29:29 -0700 |
commit | a32f1758b7ebd889eecfdc67c935e7edcedc5be3 (patch) | |
tree | 0fc0cba22953bbe7f34ea45759012f422d4d5646 /tests/Matrix44Test.cpp | |
parent | 49586bec7383d4ccb81f85f8e2dc4162e2d4f6a8 (diff) |
Add helper SkMatrix44::hasPerspective()
BUG=skia:1017
R=danakj@chromium.org, reed@google.com
Author: tomhudson@google.com
Review URL: https://codereview.chromium.org/513343002
Diffstat (limited to 'tests/Matrix44Test.cpp')
-rw-r--r-- | tests/Matrix44Test.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp index 443086dbef..0bd4a8ba13 100644 --- a/tests/Matrix44Test.cpp +++ b/tests/Matrix44Test.cpp @@ -521,6 +521,35 @@ static void test_3x3_conversion(skiatest::Reporter* reporter) { REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec4transformed2[3])); } +static void test_has_perspective(skiatest::Reporter* reporter) { + SkMatrix44 transform(SkMatrix44::kIdentity_Constructor); + + transform.set(3, 2, -0.1); + REPORTER_ASSERT(reporter, transform.hasPerspective()); + + transform.reset(); + REPORTER_ASSERT(reporter, !transform.hasPerspective()); + + transform.set(3, 0, -1.0); + REPORTER_ASSERT(reporter, transform.hasPerspective()); + + transform.reset(); + transform.set(3, 1, -1.0); + REPORTER_ASSERT(reporter, transform.hasPerspective()); + + transform.reset(); + transform.set(3, 2, -0.3); + REPORTER_ASSERT(reporter, transform.hasPerspective()); + + transform.reset(); + transform.set(3, 3, 0.5); + REPORTER_ASSERT(reporter, transform.hasPerspective()); + + transform.reset(); + transform.set(3, 3, 0.0); + REPORTER_ASSERT(reporter, transform.hasPerspective()); +} + DEF_TEST(Matrix44, reporter) { SkMatrix44 mat(SkMatrix44::kUninitialized_Constructor); SkMatrix44 inverse(SkMatrix44::kUninitialized_Constructor); @@ -626,4 +655,5 @@ DEF_TEST(Matrix44, reporter) { test_scale(reporter); test_map2(reporter); test_3x3_conversion(reporter); + test_has_perspective(reporter); } |