| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/gfx/interpolated_transform.h" | 5 #include "ui/gfx/interpolated_transform.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "ui/gfx/rect.h" | 9 #include "ui/gfx/rect.h" |
| 10 | 10 |
| 11 namespace { | 11 namespace { |
| 12 | 12 |
| 13 void CheckApproximatelyEqual(const gfx::Transform& lhs, | 13 void CheckApproximatelyEqual(const gfx::Transform& lhs, |
| 14 const gfx::Transform& rhs) { | 14 const gfx::Transform& rhs) { |
| 15 for (int i = 0; i < 4; ++i) { | 15 for (int i = 0; i < 4; ++i) { |
| 16 for (int j = 0; j < 4; ++j) { | 16 for (int j = 0; j < 4; ++j) { |
| 17 EXPECT_FLOAT_EQ(lhs.matrix().get(i, j), rhs.matrix().get(i, j)); | 17 EXPECT_FLOAT_EQ(lhs.matrix().get(i, j), rhs.matrix().get(i, j)); |
| 18 } | 18 } |
| 19 } | 19 } |
| 20 } | 20 } |
| 21 | 21 |
| 22 float NormalizeAngle(float angle) { | |
| 23 while (angle < 0.0f) { | |
| 24 angle += 360.0f; | |
| 25 } | |
| 26 while (angle > 360.0f) { | |
| 27 angle -= 360.0f; | |
| 28 } | |
| 29 return angle; | |
| 30 } | |
| 31 | |
| 32 } // namespace | 22 } // namespace |
| 33 | 23 |
| 34 TEST(InterpolatedTransformTest, InterpolatedRotation) { | 24 TEST(InterpolatedTransformTest, InterpolatedRotation) { |
| 35 ui::InterpolatedRotation interpolated_rotation(0, 100); | 25 ui::InterpolatedRotation interpolated_rotation(0, 100); |
| 36 ui::InterpolatedRotation interpolated_rotation_diff_start_end( | 26 ui::InterpolatedRotation interpolated_rotation_diff_start_end( |
| 37 0, 100, 100, 200); | 27 0, 100, 100, 200); |
| 38 | 28 |
| 39 for (int i = 0; i <= 100; ++i) { | 29 for (int i = 0; i <= 100; ++i) { |
| 40 gfx::Transform rotation; | 30 gfx::Transform rotation; |
| 41 rotation.Rotate(i); | 31 rotation.Rotate(i); |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 gfx::Transform interpolated = maximize->Interpolate(1.0f); | 215 gfx::Transform interpolated = maximize->Interpolate(1.0f); |
| 226 SkMatrix44& m = interpolated.matrix(); | 216 SkMatrix44& m = interpolated.matrix(); |
| 227 // Upper-left 3x3 matrix should all be 0, 1 or -1. | 217 // Upper-left 3x3 matrix should all be 0, 1 or -1. |
| 228 for (int row = 0; row < 3; ++row) { | 218 for (int row = 0; row < 3; ++row) { |
| 229 for (int col = 0; col < 3; ++col) { | 219 for (int col = 0; col < 3; ++col) { |
| 230 float entry = m.get(row, col); | 220 float entry = m.get(row, col); |
| 231 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1); | 221 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1); |
| 232 } | 222 } |
| 233 } | 223 } |
| 234 } | 224 } |
| OLD | NEW |