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

Side by Side Diff: ui/aura/window_unittest.cc

Issue 11087093: Migrate ui::Transform to gfx::Transform (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 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
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/aura/window.h" 5 #include "ui/aura/window.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 RootWindow* root = root_window(); 346 RootWindow* root = root_window();
347 root->MoveCursorTo(gfx::Point(10, 10)); 347 root->MoveCursorTo(gfx::Point(10, 10));
348 EXPECT_TRUE(w_test_api.ContainsMouse()); 348 EXPECT_TRUE(w_test_api.ContainsMouse());
349 root->MoveCursorTo(gfx::Point(9, 10)); 349 root->MoveCursorTo(gfx::Point(9, 10));
350 EXPECT_FALSE(w_test_api.ContainsMouse()); 350 EXPECT_FALSE(w_test_api.ContainsMouse());
351 } 351 }
352 352
353 // Test Window::ConvertPointToWindow() with transform to root_window. 353 // Test Window::ConvertPointToWindow() with transform to root_window.
354 TEST_F(WindowTest, MoveCursorToWithTransformRootWindow) { 354 TEST_F(WindowTest, MoveCursorToWithTransformRootWindow) {
355 RootWindow* root = root_window(); 355 RootWindow* root = root_window();
356 ui::Transform transform; 356 gfx::Transform transform;
357 transform.ConcatScale(2, 5); 357 transform.ConcatScale(2, 5);
358 transform.ConcatRotate(90.0f); 358 transform.ConcatRotate(90.0f);
359 transform.ConcatTranslate(100, 100); 359 transform.ConcatTranslate(100, 100);
360 root->SetTransform(transform); 360 root->SetTransform(transform);
361 root->MoveCursorTo(gfx::Point(10, 10)); 361 root->MoveCursorTo(gfx::Point(10, 10));
362 #if !defined(OS_WIN) 362 #if !defined(OS_WIN)
363 // TODO(yoshiki): fix this to build on Windows. See crbug.com/133413.OD 363 // TODO(yoshiki): fix this to build on Windows. See crbug.com/133413.OD
364 EXPECT_EQ("50,120", root->QueryMouseLocationForTest().ToString()); 364 EXPECT_EQ("50,120", root->QueryMouseLocationForTest().ToString());
365 #endif 365 #endif
366 EXPECT_EQ("10,10", gfx::Screen::GetCursorScreenPoint().ToString()); 366 EXPECT_EQ("10,10", gfx::Screen::GetCursorScreenPoint().ToString());
367 } 367 }
368 368
369 // Tests Window::ConvertPointToWindow() with transform to non-root windows. 369 // Tests Window::ConvertPointToWindow() with transform to non-root windows.
370 TEST_F(WindowTest, MoveCursorToWithTransformWindow) { 370 TEST_F(WindowTest, MoveCursorToWithTransformWindow) {
371 scoped_ptr<Window> w1( 371 scoped_ptr<Window> w1(
372 CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 10, 500, 500), NULL)); 372 CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 10, 500, 500), NULL));
373 373
374 ui::Transform transform1; 374 gfx::Transform transform1;
375 transform1.ConcatScale(2, 2); 375 transform1.ConcatScale(2, 2);
376 w1->SetTransform(transform1); 376 w1->SetTransform(transform1);
377 w1->MoveCursorTo(gfx::Point(10, 10)); 377 w1->MoveCursorTo(gfx::Point(10, 10));
378 EXPECT_EQ("30,30", gfx::Screen::GetCursorScreenPoint().ToString()); 378 EXPECT_EQ("30,30", gfx::Screen::GetCursorScreenPoint().ToString());
379 379
380 ui::Transform transform2; 380 gfx::Transform transform2;
381 transform2.ConcatTranslate(-10, 20); 381 transform2.ConcatTranslate(-10, 20);
382 w1->SetTransform(transform2); 382 w1->SetTransform(transform2);
383 w1->MoveCursorTo(gfx::Point(10, 10)); 383 w1->MoveCursorTo(gfx::Point(10, 10));
384 EXPECT_EQ("10,40", gfx::Screen::GetCursorScreenPoint().ToString()); 384 EXPECT_EQ("10,40", gfx::Screen::GetCursorScreenPoint().ToString());
385 385
386 ui::Transform transform3; 386 gfx::Transform transform3;
387 transform3.ConcatRotate(90.0f); 387 transform3.ConcatRotate(90.0f);
388 w1->SetTransform(transform3); 388 w1->SetTransform(transform3);
389 w1->MoveCursorTo(gfx::Point(5, 5)); 389 w1->MoveCursorTo(gfx::Point(5, 5));
390 EXPECT_EQ("5,15", gfx::Screen::GetCursorScreenPoint().ToString()); 390 EXPECT_EQ("5,15", gfx::Screen::GetCursorScreenPoint().ToString());
391 391
392 ui::Transform transform4; 392 gfx::Transform transform4;
393 transform4.ConcatScale(2, 5); 393 transform4.ConcatScale(2, 5);
394 transform4.ConcatRotate(90.0f); 394 transform4.ConcatRotate(90.0f);
395 transform4.ConcatTranslate(100, 100); 395 transform4.ConcatTranslate(100, 100);
396 w1->SetTransform(transform4); 396 w1->SetTransform(transform4);
397 w1->MoveCursorTo(gfx::Point(10, 10)); 397 w1->MoveCursorTo(gfx::Point(10, 10));
398 EXPECT_EQ("60,130", gfx::Screen::GetCursorScreenPoint().ToString()); 398 EXPECT_EQ("60,130", gfx::Screen::GetCursorScreenPoint().ToString());
399 } 399 }
400 400
401 // Test Window::ConvertPointToWindow() with complex transforms to both root and 401 // Test Window::ConvertPointToWindow() with complex transforms to both root and
402 // non-root windows. 402 // non-root windows.
403 TEST_F(WindowTest, MoveCursorToWithComplexTransform) { 403 TEST_F(WindowTest, MoveCursorToWithComplexTransform) {
404 scoped_ptr<Window> w1( 404 scoped_ptr<Window> w1(
405 CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 10, 500, 500), NULL)); 405 CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 10, 500, 500), NULL));
406 scoped_ptr<Window> w11( 406 scoped_ptr<Window> w11(
407 CreateTestWindow(SK_ColorGREEN, 11, gfx::Rect(5, 5, 100, 100), w1.get())); 407 CreateTestWindow(SK_ColorGREEN, 11, gfx::Rect(5, 5, 100, 100), w1.get()));
408 scoped_ptr<Window> w111( 408 scoped_ptr<Window> w111(
409 CreateTestWindow(SK_ColorCYAN, 111, gfx::Rect(5, 5, 75, 75), w11.get())); 409 CreateTestWindow(SK_ColorCYAN, 111, gfx::Rect(5, 5, 75, 75), w11.get()));
410 scoped_ptr<Window> w1111( 410 scoped_ptr<Window> w1111(
411 CreateTestWindow(SK_ColorRED, 1111, gfx::Rect(5, 5, 50, 50), w111.get())); 411 CreateTestWindow(SK_ColorRED, 1111, gfx::Rect(5, 5, 50, 50), w111.get()));
412 412
413 RootWindow* root = root_window(); 413 RootWindow* root = root_window();
414 ui::Transform transform; 414 gfx::Transform transform;
415 transform.ConcatScale(0.3f, 0.5f); 415 transform.ConcatScale(0.3f, 0.5f);
416 transform.ConcatRotate(10.0f); 416 transform.ConcatRotate(10.0f);
417 transform.ConcatTranslate(10, 20); 417 transform.ConcatTranslate(10, 20);
418 418
419 root->SetTransform(transform); 419 root->SetTransform(transform);
420 w1->SetTransform(transform); 420 w1->SetTransform(transform);
421 w11->SetTransform(transform); 421 w11->SetTransform(transform);
422 w111->SetTransform(transform); 422 w111->SetTransform(transform);
423 w1111->SetTransform(transform); 423 w1111->SetTransform(transform);
424 424
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
1319 EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160))); 1319 EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160)));
1320 } 1320 }
1321 1321
1322 // Tests transformation on the root window. 1322 // Tests transformation on the root window.
1323 TEST_F(WindowTest, Transform) { 1323 TEST_F(WindowTest, Transform) {
1324 gfx::Size size = root_window()->GetHostSize(); 1324 gfx::Size size = root_window()->GetHostSize();
1325 EXPECT_EQ(gfx::Rect(size), 1325 EXPECT_EQ(gfx::Rect(size),
1326 gfx::Screen::GetDisplayNearestPoint(gfx::Point()).bounds()); 1326 gfx::Screen::GetDisplayNearestPoint(gfx::Point()).bounds());
1327 1327
1328 // Rotate it clock-wise 90 degrees. 1328 // Rotate it clock-wise 90 degrees.
1329 ui::Transform transform; 1329 gfx::Transform transform;
1330 transform.SetRotate(90.0f); 1330 transform.SetRotate(90.0f);
1331 transform.ConcatTranslate(size.height(), 0); 1331 transform.ConcatTranslate(size.height(), 0);
1332 root_window()->SetTransform(transform); 1332 root_window()->SetTransform(transform);
1333 1333
1334 // The size should be the transformed size. 1334 // The size should be the transformed size.
1335 gfx::Size transformed_size(size.height(), size.width()); 1335 gfx::Size transformed_size(size.height(), size.width());
1336 EXPECT_EQ(transformed_size.ToString(), 1336 EXPECT_EQ(transformed_size.ToString(),
1337 root_window()->bounds().size().ToString()); 1337 root_window()->bounds().size().ToString());
1338 EXPECT_EQ( 1338 EXPECT_EQ(
1339 gfx::Rect(transformed_size).ToString(), 1339 gfx::Rect(transformed_size).ToString(),
1340 gfx::Screen::GetDisplayNearestPoint(gfx::Point()).bounds().ToString()); 1340 gfx::Screen::GetDisplayNearestPoint(gfx::Point()).bounds().ToString());
1341 1341
1342 // Host size shouldn't change. 1342 // Host size shouldn't change.
1343 EXPECT_EQ(size.ToString(), 1343 EXPECT_EQ(size.ToString(),
1344 root_window()->GetHostSize().ToString()); 1344 root_window()->GetHostSize().ToString());
1345 } 1345 }
1346 1346
1347 TEST_F(WindowTest, TransformGesture) { 1347 TEST_F(WindowTest, TransformGesture) {
1348 gfx::Size size = root_window()->GetHostSize(); 1348 gfx::Size size = root_window()->GetHostSize();
1349 1349
1350 scoped_ptr<GestureTrackPositionDelegate> delegate( 1350 scoped_ptr<GestureTrackPositionDelegate> delegate(
1351 new GestureTrackPositionDelegate); 1351 new GestureTrackPositionDelegate);
1352 scoped_ptr<Window> window(CreateTestWindowWithDelegate(delegate.get(), -1234, 1352 scoped_ptr<Window> window(CreateTestWindowWithDelegate(delegate.get(), -1234,
1353 gfx::Rect(0, 0, 20, 20), NULL)); 1353 gfx::Rect(0, 0, 20, 20), NULL));
1354 1354
1355 // Rotate the root-window clock-wise 90 degrees. 1355 // Rotate the root-window clock-wise 90 degrees.
1356 ui::Transform transform; 1356 gfx::Transform transform;
1357 transform.SetRotate(90.0f); 1357 transform.SetRotate(90.0f);
1358 transform.ConcatTranslate(size.height(), 0); 1358 transform.ConcatTranslate(size.height(), 0);
1359 root_window()->SetTransform(transform); 1359 root_window()->SetTransform(transform);
1360 1360
1361 ui::TouchEvent press( 1361 ui::TouchEvent press(
1362 ui::ET_TOUCH_PRESSED, gfx::Point(size.height() - 10, 10), 0, getTime()); 1362 ui::ET_TOUCH_PRESSED, gfx::Point(size.height() - 10, 10), 0, getTime());
1363 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); 1363 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
1364 EXPECT_EQ(gfx::Point(10, 10).ToString(), delegate->position().ToString()); 1364 EXPECT_EQ(gfx::Point(10, 10).ToString(), delegate->position().ToString());
1365 } 1365 }
1366 1366
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
1977 RunAllPendingInMessageLoop(); 1977 RunAllPendingInMessageLoop();
1978 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset()); 1978 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset());
1979 EXPECT_EQ("0 0 0", d11.GetMouseMotionCountsAndReset()); 1979 EXPECT_EQ("0 0 0", d11.GetMouseMotionCountsAndReset());
1980 1980
1981 w11->Show(); 1981 w11->Show();
1982 RunAllPendingInMessageLoop(); 1982 RunAllPendingInMessageLoop();
1983 EXPECT_EQ("0 0 1", d1.GetMouseMotionCountsAndReset()); 1983 EXPECT_EQ("0 0 1", d1.GetMouseMotionCountsAndReset());
1984 EXPECT_EQ("1 1 0", d11.GetMouseMotionCountsAndReset()); 1984 EXPECT_EQ("1 1 0", d11.GetMouseMotionCountsAndReset());
1985 1985
1986 // Transform: move d11 by 100 100. 1986 // Transform: move d11 by 100 100.
1987 ui::Transform transform; 1987 gfx::Transform transform;
1988 transform.ConcatTranslate(100, 100); 1988 transform.ConcatTranslate(100, 100);
1989 w11->SetTransform(transform); 1989 w11->SetTransform(transform);
1990 RunAllPendingInMessageLoop(); 1990 RunAllPendingInMessageLoop();
1991 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset()); 1991 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset());
1992 EXPECT_EQ("0 0 1", d11.GetMouseMotionCountsAndReset()); 1992 EXPECT_EQ("0 0 1", d11.GetMouseMotionCountsAndReset());
1993 1993
1994 w11->SetTransform(ui::Transform()); 1994 w11->SetTransform(gfx::Transform());
1995 RunAllPendingInMessageLoop(); 1995 RunAllPendingInMessageLoop();
1996 EXPECT_EQ("0 0 1", d1.GetMouseMotionCountsAndReset()); 1996 EXPECT_EQ("0 0 1", d1.GetMouseMotionCountsAndReset());
1997 EXPECT_EQ("1 1 0", d11.GetMouseMotionCountsAndReset()); 1997 EXPECT_EQ("1 1 0", d11.GetMouseMotionCountsAndReset());
1998 1998
1999 // Closing a window. 1999 // Closing a window.
2000 w11.reset(); 2000 w11.reset();
2001 RunAllPendingInMessageLoop(); 2001 RunAllPendingInMessageLoop();
2002 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset()); 2002 EXPECT_EQ("1 1 0", d1.GetMouseMotionCountsAndReset());
2003 } 2003 }
2004 #endif 2004 #endif
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
2538 // Move |w2| to be a child of |w1|. 2538 // Move |w2| to be a child of |w1|.
2539 w1->AddChild(w2.get()); 2539 w1->AddChild(w2.get());
2540 // Sine we moved in the same root, observer shouldn't be notified. 2540 // Sine we moved in the same root, observer shouldn't be notified.
2541 EXPECT_EQ("0 0", observer.CountStringAndReset()); 2541 EXPECT_EQ("0 0", observer.CountStringAndReset());
2542 // |w2| should still have focus after moving. 2542 // |w2| should still have focus after moving.
2543 EXPECT_TRUE(w2->HasFocus()); 2543 EXPECT_TRUE(w2->HasFocus());
2544 } 2544 }
2545 2545
2546 } // namespace test 2546 } // namespace test
2547 } // namespace aura 2547 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/window.cc ('k') | ui/base/animation/tween.h » ('j') | ui/gfx/transform.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698