OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/animation/transform_operations.h" | 5 #include "cc/animation/transform_operations.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <limits> | 9 #include <limits> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
13 #include "cc/test/geometry_test_utils.h" | 13 #include "cc/test/geometry_test_utils.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 #include "ui/gfx/animation/tween.h" | 15 #include "ui/gfx/animation/tween.h" |
16 #include "ui/gfx/geometry/box_f.h" | 16 #include "ui/gfx/geometry/box_f.h" |
17 #include "ui/gfx/geometry/rect_conversions.h" | 17 #include "ui/gfx/geometry/rect_conversions.h" |
18 #include "ui/gfx/geometry/vector3d_f.h" | 18 #include "ui/gfx/geometry/vector3d_f.h" |
19 | 19 |
20 namespace cc { | 20 namespace cc { |
21 namespace { | 21 namespace { |
22 | 22 |
23 TEST(TransformOperationTest, TransformTypesAreUnique) { | 23 TEST(TransformOperationTest, TransformTypesAreUnique) { |
24 std::vector<std::unique_ptr<TransformOperations>> transforms; | 24 std::vector<std::unique_ptr<TransformOperations>> transforms; |
25 | 25 |
26 std::unique_ptr<TransformOperations> to_add( | 26 std::unique_ptr<TransformOperations> to_add( |
27 base::WrapUnique(new TransformOperations())); | 27 base::MakeUnique<TransformOperations>()); |
28 to_add->AppendTranslate(1, 0, 0); | 28 to_add->AppendTranslate(1, 0, 0); |
29 transforms.push_back(std::move(to_add)); | 29 transforms.push_back(std::move(to_add)); |
30 | 30 |
31 to_add = base::WrapUnique(new TransformOperations()); | 31 to_add = base::MakeUnique<TransformOperations>(); |
32 to_add->AppendRotate(0, 0, 1, 2); | 32 to_add->AppendRotate(0, 0, 1, 2); |
33 transforms.push_back(std::move(to_add)); | 33 transforms.push_back(std::move(to_add)); |
34 | 34 |
35 to_add = base::WrapUnique(new TransformOperations()); | 35 to_add = base::MakeUnique<TransformOperations>(); |
36 to_add->AppendScale(2, 2, 2); | 36 to_add->AppendScale(2, 2, 2); |
37 transforms.push_back(std::move(to_add)); | 37 transforms.push_back(std::move(to_add)); |
38 | 38 |
39 to_add = base::WrapUnique(new TransformOperations()); | 39 to_add = base::MakeUnique<TransformOperations>(); |
40 to_add->AppendSkew(1, 0); | 40 to_add->AppendSkew(1, 0); |
41 transforms.push_back(std::move(to_add)); | 41 transforms.push_back(std::move(to_add)); |
42 | 42 |
43 to_add = base::WrapUnique(new TransformOperations()); | 43 to_add = base::MakeUnique<TransformOperations>(); |
44 to_add->AppendPerspective(800); | 44 to_add->AppendPerspective(800); |
45 transforms.push_back(std::move(to_add)); | 45 transforms.push_back(std::move(to_add)); |
46 | 46 |
47 for (size_t i = 0; i < transforms.size(); ++i) { | 47 for (size_t i = 0; i < transforms.size(); ++i) { |
48 for (size_t j = 0; j < transforms.size(); ++j) { | 48 for (size_t j = 0; j < transforms.size(); ++j) { |
49 bool matches_type = transforms[i]->MatchesTypes(*transforms[j]); | 49 bool matches_type = transforms[i]->MatchesTypes(*transforms[j]); |
50 EXPECT_TRUE((i == j && matches_type) || !matches_type); | 50 EXPECT_TRUE((i == j && matches_type) || !matches_type); |
51 } | 51 } |
52 } | 52 } |
53 } | 53 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 translates2.AppendTranslate(0, 2, 0); | 89 translates2.AppendTranslate(0, 2, 0); |
90 translates2.AppendTranslate(0, 2, 0); | 90 translates2.AppendTranslate(0, 2, 0); |
91 | 91 |
92 EXPECT_FALSE(translates.MatchesTypes(skews)); | 92 EXPECT_FALSE(translates.MatchesTypes(skews)); |
93 EXPECT_FALSE(translates.MatchesTypes(translates2)); | 93 EXPECT_FALSE(translates.MatchesTypes(translates2)); |
94 } | 94 } |
95 | 95 |
96 std::vector<std::unique_ptr<TransformOperations>> GetIdentityOperations() { | 96 std::vector<std::unique_ptr<TransformOperations>> GetIdentityOperations() { |
97 std::vector<std::unique_ptr<TransformOperations>> operations; | 97 std::vector<std::unique_ptr<TransformOperations>> operations; |
98 std::unique_ptr<TransformOperations> to_add( | 98 std::unique_ptr<TransformOperations> to_add( |
99 base::WrapUnique(new TransformOperations())); | 99 base::MakeUnique<TransformOperations>()); |
100 operations.push_back(std::move(to_add)); | 100 operations.push_back(std::move(to_add)); |
101 | 101 |
102 to_add = base::WrapUnique(new TransformOperations()); | 102 to_add = base::MakeUnique<TransformOperations>(); |
103 to_add->AppendTranslate(0, 0, 0); | 103 to_add->AppendTranslate(0, 0, 0); |
104 operations.push_back(std::move(to_add)); | 104 operations.push_back(std::move(to_add)); |
105 | 105 |
106 to_add = base::WrapUnique(new TransformOperations()); | 106 to_add = base::MakeUnique<TransformOperations>(); |
107 to_add->AppendTranslate(0, 0, 0); | 107 to_add->AppendTranslate(0, 0, 0); |
108 to_add->AppendTranslate(0, 0, 0); | 108 to_add->AppendTranslate(0, 0, 0); |
109 operations.push_back(std::move(to_add)); | 109 operations.push_back(std::move(to_add)); |
110 | 110 |
111 to_add = base::WrapUnique(new TransformOperations()); | 111 to_add = base::MakeUnique<TransformOperations>(); |
112 to_add->AppendScale(1, 1, 1); | 112 to_add->AppendScale(1, 1, 1); |
113 operations.push_back(std::move(to_add)); | 113 operations.push_back(std::move(to_add)); |
114 | 114 |
115 to_add = base::WrapUnique(new TransformOperations()); | 115 to_add = base::MakeUnique<TransformOperations>(); |
116 to_add->AppendScale(1, 1, 1); | 116 to_add->AppendScale(1, 1, 1); |
117 to_add->AppendScale(1, 1, 1); | 117 to_add->AppendScale(1, 1, 1); |
118 operations.push_back(std::move(to_add)); | 118 operations.push_back(std::move(to_add)); |
119 | 119 |
120 to_add = base::WrapUnique(new TransformOperations()); | 120 to_add = base::MakeUnique<TransformOperations>(); |
121 to_add->AppendSkew(0, 0); | 121 to_add->AppendSkew(0, 0); |
122 operations.push_back(std::move(to_add)); | 122 operations.push_back(std::move(to_add)); |
123 | 123 |
124 to_add = base::WrapUnique(new TransformOperations()); | 124 to_add = base::MakeUnique<TransformOperations>(); |
125 to_add->AppendSkew(0, 0); | 125 to_add->AppendSkew(0, 0); |
126 to_add->AppendSkew(0, 0); | 126 to_add->AppendSkew(0, 0); |
127 operations.push_back(std::move(to_add)); | 127 operations.push_back(std::move(to_add)); |
128 | 128 |
129 to_add = base::WrapUnique(new TransformOperations()); | 129 to_add = base::MakeUnique<TransformOperations>(); |
130 to_add->AppendRotate(0, 0, 1, 0); | 130 to_add->AppendRotate(0, 0, 1, 0); |
131 operations.push_back(std::move(to_add)); | 131 operations.push_back(std::move(to_add)); |
132 | 132 |
133 to_add = base::WrapUnique(new TransformOperations()); | 133 to_add = base::MakeUnique<TransformOperations>(); |
134 to_add->AppendRotate(0, 0, 1, 0); | 134 to_add->AppendRotate(0, 0, 1, 0); |
135 to_add->AppendRotate(0, 0, 1, 0); | 135 to_add->AppendRotate(0, 0, 1, 0); |
136 operations.push_back(std::move(to_add)); | 136 operations.push_back(std::move(to_add)); |
137 | 137 |
138 to_add = base::WrapUnique(new TransformOperations()); | 138 to_add = base::MakeUnique<TransformOperations>(); |
139 to_add->AppendMatrix(gfx::Transform()); | 139 to_add->AppendMatrix(gfx::Transform()); |
140 operations.push_back(std::move(to_add)); | 140 operations.push_back(std::move(to_add)); |
141 | 141 |
142 to_add = base::WrapUnique(new TransformOperations()); | 142 to_add = base::MakeUnique<TransformOperations>(); |
143 to_add->AppendMatrix(gfx::Transform()); | 143 to_add->AppendMatrix(gfx::Transform()); |
144 to_add->AppendMatrix(gfx::Transform()); | 144 to_add->AppendMatrix(gfx::Transform()); |
145 operations.push_back(std::move(to_add)); | 145 operations.push_back(std::move(to_add)); |
146 | 146 |
147 return operations; | 147 return operations; |
148 } | 148 } |
149 | 149 |
150 TEST(TransformOperationTest, MatchTypesOrder) { | 150 TEST(TransformOperationTest, MatchTypesOrder) { |
151 TransformOperations mix_order_identity; | 151 TransformOperations mix_order_identity; |
152 mix_order_identity.AppendTranslate(0, 0, 0); | 152 mix_order_identity.AppendTranslate(0, 0, 0); |
(...skipping 1374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1527 | 1527 |
1528 // Scale + Perspective can't. | 1528 // Scale + Perspective can't. |
1529 TransformOperations operations11; | 1529 TransformOperations operations11; |
1530 operations11.AppendScale(2.f, 2.f, 2.f); | 1530 operations11.AppendScale(2.f, 2.f, 2.f); |
1531 operations11.AppendPerspective(1.f); | 1531 operations11.AppendPerspective(1.f); |
1532 EXPECT_FALSE(operations11.ScaleComponent(&scale)); | 1532 EXPECT_FALSE(operations11.ScaleComponent(&scale)); |
1533 } | 1533 } |
1534 | 1534 |
1535 } // namespace | 1535 } // namespace |
1536 } // namespace cc | 1536 } // namespace cc |
OLD | NEW |