diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-12 14:35:48 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-12 14:35:48 +0000 |
commit | 97cd69ca23b27d88e08727366c29c1147eb564de (patch) | |
tree | 9cec63a3ee17a4dfa25d98f53b14e051ba58c3f0 /tests/MatrixTest.cpp | |
parent | e9c2f9ba9ef4d6b3d7d9178657cd18d743c6da8d (diff) |
Fix matrix type in setRectToRect
Review URL: https://codereview.appspot.com/6655055
git-svn-id: http://skia.googlecode.com/svn/trunk@5913 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/MatrixTest.cpp')
-rw-r--r-- | tests/MatrixTest.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/MatrixTest.cpp b/tests/MatrixTest.cpp index 744f765ac7..789a08c076 100644 --- a/tests/MatrixTest.cpp +++ b/tests/MatrixTest.cpp @@ -81,6 +81,33 @@ static bool is_identity(const SkMatrix& m) { return nearly_equal(m, identity); } +static void test_matrix_recttorect(skiatest::Reporter* reporter) { + SkRect src, dst; + SkMatrix matrix; + + src.set(0, 0, SK_Scalar1*10, SK_Scalar1*10); + dst = src; + matrix.setRectToRect(src, dst, SkMatrix::kFill_ScaleToFit); + REPORTER_ASSERT(reporter, SkMatrix::kIdentity_Mask == matrix.getType()); + REPORTER_ASSERT(reporter, matrix.rectStaysRect()); + + dst.offset(SK_Scalar1, SK_Scalar1); + matrix.setRectToRect(src, dst, SkMatrix::kFill_ScaleToFit); + REPORTER_ASSERT(reporter, SkMatrix::kTranslate_Mask == matrix.getType()); + REPORTER_ASSERT(reporter, matrix.rectStaysRect()); + + dst.fRight += SK_Scalar1; + matrix.setRectToRect(src, dst, SkMatrix::kFill_ScaleToFit); + REPORTER_ASSERT(reporter, SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask == matrix.getType()); + REPORTER_ASSERT(reporter, matrix.rectStaysRect()); + + dst = src; + dst.fRight = src.fRight * 2; + matrix.setRectToRect(src, dst, SkMatrix::kFill_ScaleToFit); + REPORTER_ASSERT(reporter, SkMatrix::kScale_Mask == matrix.getType()); + REPORTER_ASSERT(reporter, matrix.rectStaysRect()); +} + static void test_flatten(skiatest::Reporter* reporter, const SkMatrix& m) { // add 100 in case we have a bug, I don't want to kill my stack in the test char buffer[SkMatrix::kMaxFlattenSize + 100]; @@ -459,6 +486,7 @@ static void TestMatrix(skiatest::Reporter* reporter) { test_matrix_max_stretch(reporter); test_matrix_is_similarity_transform(reporter); + test_matrix_recttorect(reporter); } #include "TestClassDef.h" |