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

Side by Side Diff: cc/math_util.cc

Issue 11644008: Migrate from MathUtil::inverse() to gfx::Transform::GetInverse() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch for landing Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « cc/math_util.h ('k') | cc/math_util_unittest.cc » ('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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/math_util.h" 5 #include "cc/math_util.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <limits> 8 #include <limits>
9 9
10 #include "ui/gfx/quad_f.h" 10 #include "ui/gfx/quad_f.h"
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 gfx::Transform rotationAboutZ; 415 gfx::Transform rotationAboutZ;
416 416
417 rotationAboutX.RotateAboutXAxis(eulerX); 417 rotationAboutX.RotateAboutXAxis(eulerX);
418 rotationAboutY.RotateAboutYAxis(eulerY); 418 rotationAboutY.RotateAboutYAxis(eulerY);
419 rotationAboutZ.RotateAboutZAxis(eulerZ); 419 rotationAboutZ.RotateAboutZAxis(eulerZ);
420 420
421 gfx::Transform composite = rotationAboutZ * rotationAboutY * rotationAboutX; 421 gfx::Transform composite = rotationAboutZ * rotationAboutY * rotationAboutX;
422 transform->PreconcatTransform(composite); 422 transform->PreconcatTransform(composite);
423 } 423 }
424 424
425 gfx::Transform MathUtil::inverse(const gfx::Transform& transform)
426 {
427 gfx::Transform result;
428 bool invertedSuccessfully = transform.GetInverse(&result);
429
430 if (invertedSuccessfully)
431 return result;
432
433 // If transform was un-invertible, then just return identity.
434 return gfx::Transform();
435 }
436
437 gfx::Transform MathUtil::to2dTransform(const gfx::Transform& transform) 425 gfx::Transform MathUtil::to2dTransform(const gfx::Transform& transform)
438 { 426 {
439 gfx::Transform result = transform; 427 gfx::Transform result = transform;
440 SkMatrix44& matrix = result.matrix(); 428 SkMatrix44& matrix = result.matrix();
441 matrix.setDouble(0, 2, 0); 429 matrix.setDouble(0, 2, 0);
442 matrix.setDouble(1, 2, 0); 430 matrix.setDouble(1, 2, 0);
443 matrix.setDouble(2, 2, 1); 431 matrix.setDouble(2, 2, 1);
444 matrix.setDouble(3, 2, 0); 432 matrix.setDouble(3, 2, 0);
445 433
446 matrix.setDouble(2, 0, 0); 434 matrix.setDouble(2, 0, 0);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 matrix.setDouble(1, 0, b); 482 matrix.setDouble(1, 0, b);
495 matrix.setDouble(0, 1, c); 483 matrix.setDouble(0, 1, c);
496 matrix.setDouble(1, 1, d); 484 matrix.setDouble(1, 1, d);
497 matrix.setDouble(0, 3, e); 485 matrix.setDouble(0, 3, e);
498 matrix.setDouble(1, 3, f); 486 matrix.setDouble(1, 3, f);
499 487
500 return result; 488 return result;
501 } 489 }
502 490
503 } // namespace cc 491 } // namespace cc
OLDNEW
« no previous file with comments | « cc/math_util.h ('k') | cc/math_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698