Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: ui/gfx/interpolated_transform_unittest.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gfx/interpolated_transform.cc ('k') | ui/gfx/linux_font_delegate.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/gfx/geometry/rect.h" 8 #include "ui/gfx/geometry/rect.h"
9 9
10 namespace { 10 namespace {
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 break; 133 break;
134 case -90: 134 case -90:
135 new_pivot = gfx::Point(0, height); 135 new_pivot = gfx::Point(0, height);
136 break; 136 break;
137 case 180: 137 case 180:
138 case 360: 138 case 360:
139 new_pivot = old_pivot = gfx::Point(width / 2, height / 2); 139 new_pivot = old_pivot = gfx::Point(width / 2, height / 2);
140 break; 140 break;
141 } 141 }
142 142
143 scoped_ptr<ui::InterpolatedTransform> rotation( 143 std::unique_ptr<ui::InterpolatedTransform> rotation(
144 new ui::InterpolatedTransformAboutPivot( 144 new ui::InterpolatedTransformAboutPivot(
145 old_pivot, 145 old_pivot, new ui::InterpolatedRotation(reversed ? degrees : 0,
146 new ui::InterpolatedRotation(reversed ? degrees : 0, 146 reversed ? 0 : degrees)));
147 reversed ? 0 : degrees)));
148 147
149 scoped_ptr<ui::InterpolatedTransform> translation( 148 std::unique_ptr<ui::InterpolatedTransform> translation(
150 new ui::InterpolatedTranslation( 149 new ui::InterpolatedTranslation(
151 gfx::PointF(), gfx::PointF(new_pivot.x() - old_pivot.x(), 150 gfx::PointF(), gfx::PointF(new_pivot.x() - old_pivot.x(),
152 new_pivot.y() - old_pivot.y()))); 151 new_pivot.y() - old_pivot.y())));
153 152
154 float scale_factor = 0.9f; 153 float scale_factor = 0.9f;
155 scoped_ptr<ui::InterpolatedTransform> scale_down( 154 std::unique_ptr<ui::InterpolatedTransform> scale_down(
156 new ui::InterpolatedScale(1.0f, scale_factor, 0.0f, 0.5f)); 155 new ui::InterpolatedScale(1.0f, scale_factor, 0.0f, 0.5f));
157 156
158 scoped_ptr<ui::InterpolatedTransform> scale_up( 157 std::unique_ptr<ui::InterpolatedTransform> scale_up(
159 new ui::InterpolatedScale(1.0f, 1.0f / scale_factor, 0.5f, 1.0f)); 158 new ui::InterpolatedScale(1.0f, 1.0f / scale_factor, 0.5f, 1.0f));
160 159
161 scoped_ptr<ui::InterpolatedTransform> to_return( 160 std::unique_ptr<ui::InterpolatedTransform> to_return(
162 new ui::InterpolatedConstantTransform(gfx::Transform())); 161 new ui::InterpolatedConstantTransform(gfx::Transform()));
163 162
164 scale_up->SetChild(scale_down.release()); 163 scale_up->SetChild(scale_down.release());
165 translation->SetChild(scale_up.release()); 164 translation->SetChild(scale_up.release());
166 rotation->SetChild(translation.release()); 165 rotation->SetChild(translation.release());
167 to_return->SetChild(rotation.release()); 166 to_return->SetChild(rotation.release());
168 to_return->SetReversed(reversed); 167 to_return->SetReversed(reversed);
169 168
170 return to_return.release(); 169 return to_return.release();
171 } 170 }
172 171
173 TEST(InterpolatedTransformTest, ScreenRotationEndsCleanly) { 172 TEST(InterpolatedTransformTest, ScreenRotationEndsCleanly) {
174 for (int i = 0; i < 2; ++i) { 173 for (int i = 0; i < 2; ++i) {
175 for (int degrees = -360; degrees <= 360; degrees += 90) { 174 for (int degrees = -360; degrees <= 360; degrees += 90) {
176 const bool reversed = i == 1; 175 const bool reversed = i == 1;
177 scoped_ptr<ui::InterpolatedTransform> screen_rotation( 176 std::unique_ptr<ui::InterpolatedTransform> screen_rotation(
178 GetScreenRotation(degrees, reversed)); 177 GetScreenRotation(degrees, reversed));
179 gfx::Transform interpolated = screen_rotation->Interpolate(1.0f); 178 gfx::Transform interpolated = screen_rotation->Interpolate(1.0f);
180 SkMatrix44& m = interpolated.matrix(); 179 SkMatrix44& m = interpolated.matrix();
181 // Upper-left 3x3 matrix should all be 0, 1 or -1. 180 // Upper-left 3x3 matrix should all be 0, 1 or -1.
182 for (int row = 0; row < 3; ++row) { 181 for (int row = 0; row < 3; ++row) {
183 for (int col = 0; col < 3; ++col) { 182 for (int col = 0; col < 3; ++col) {
184 float entry = m.get(row, col); 183 float entry = m.get(row, col);
185 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1); 184 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1);
186 } 185 }
187 } 186 }
188 } 187 }
189 } 188 }
190 } 189 }
191 190
192 ui::InterpolatedTransform* GetMaximize() { 191 ui::InterpolatedTransform* GetMaximize() {
193 gfx::Rect target_bounds(0, 0, 1920, 1080); 192 gfx::Rect target_bounds(0, 0, 1920, 1080);
194 gfx::Rect initial_bounds(30, 1000, 192, 108); 193 gfx::Rect initial_bounds(30, 1000, 192, 108);
195 194
196 float scale_x = static_cast<float>( 195 float scale_x = static_cast<float>(
197 target_bounds.height()) / initial_bounds.width(); 196 target_bounds.height()) / initial_bounds.width();
198 float scale_y = static_cast<float>( 197 float scale_y = static_cast<float>(
199 target_bounds.width()) / initial_bounds.height(); 198 target_bounds.width()) / initial_bounds.height();
200 199
201 scoped_ptr<ui::InterpolatedTransform> scale( 200 std::unique_ptr<ui::InterpolatedTransform> scale(new ui::InterpolatedScale(
202 new ui::InterpolatedScale(gfx::Point3F(1, 1, 1), 201 gfx::Point3F(1, 1, 1), gfx::Point3F(scale_x, scale_y, 1)));
203 gfx::Point3F(scale_x, scale_y, 1)));
204 202
205 scoped_ptr<ui::InterpolatedTransform> translation( 203 std::unique_ptr<ui::InterpolatedTransform> translation(
206 new ui::InterpolatedTranslation( 204 new ui::InterpolatedTranslation(
207 gfx::PointF(), gfx::PointF(target_bounds.x() - initial_bounds.x(), 205 gfx::PointF(), gfx::PointF(target_bounds.x() - initial_bounds.x(),
208 target_bounds.y() - initial_bounds.y()))); 206 target_bounds.y() - initial_bounds.y())));
209 207
210 scoped_ptr<ui::InterpolatedTransform> rotation( 208 std::unique_ptr<ui::InterpolatedTransform> rotation(
211 new ui::InterpolatedRotation(0, 4.0f)); 209 new ui::InterpolatedRotation(0, 4.0f));
212 210
213 scoped_ptr<ui::InterpolatedTransform> rotation_about_pivot( 211 std::unique_ptr<ui::InterpolatedTransform> rotation_about_pivot(
214 new ui::InterpolatedTransformAboutPivot( 212 new ui::InterpolatedTransformAboutPivot(
215 gfx::Point(initial_bounds.width() * 0.5, 213 gfx::Point(initial_bounds.width() * 0.5,
216 initial_bounds.height() * 0.5), 214 initial_bounds.height() * 0.5),
217 rotation.release())); 215 rotation.release()));
218 216
219 scale->SetChild(translation.release()); 217 scale->SetChild(translation.release());
220 rotation_about_pivot->SetChild(scale.release()); 218 rotation_about_pivot->SetChild(scale.release());
221 219
222 rotation_about_pivot->SetReversed(true); 220 rotation_about_pivot->SetReversed(true);
223 221
224 return rotation_about_pivot.release(); 222 return rotation_about_pivot.release();
225 } 223 }
226 224
227 TEST(InterpolatedTransformTest, MaximizeEndsCleanly) { 225 TEST(InterpolatedTransformTest, MaximizeEndsCleanly) {
228 scoped_ptr<ui::InterpolatedTransform> maximize(GetMaximize()); 226 std::unique_ptr<ui::InterpolatedTransform> maximize(GetMaximize());
229 gfx::Transform interpolated = maximize->Interpolate(1.0f); 227 gfx::Transform interpolated = maximize->Interpolate(1.0f);
230 SkMatrix44& m = interpolated.matrix(); 228 SkMatrix44& m = interpolated.matrix();
231 // Upper-left 3x3 matrix should all be 0, 1 or -1. 229 // Upper-left 3x3 matrix should all be 0, 1 or -1.
232 for (int row = 0; row < 3; ++row) { 230 for (int row = 0; row < 3; ++row) {
233 for (int col = 0; col < 3; ++col) { 231 for (int col = 0; col < 3; ++col) {
234 float entry = m.get(row, col); 232 float entry = m.get(row, col);
235 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1); 233 EXPECT_TRUE(entry == 0 || entry == 1 || entry == -1);
236 } 234 }
237 } 235 }
238 } 236 }
OLDNEW
« no previous file with comments | « ui/gfx/interpolated_transform.cc ('k') | ui/gfx/linux_font_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698