From a32f1758b7ebd889eecfdc67c935e7edcedc5be3 Mon Sep 17 00:00:00 2001 From: tomhudson Date: Tue, 16 Sep 2014 08:29:29 -0700 Subject: 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 --- tests/Matrix44Test.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'tests/Matrix44Test.cpp') 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); } -- cgit v1.2.3