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 |