Chromium Code Reviews| 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 <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #ifndef M_PI | 9 #ifndef M_PI |
| 10 #define M_PI 3.14159265358979323846 | 10 #define M_PI 3.14159265358979323846 |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 324 if (transform_.get()) { | 324 if (transform_.get()) { |
| 325 return transform_->Interpolate(t); | 325 return transform_->Interpolate(t); |
| 326 } | 326 } |
| 327 return gfx::Transform(); | 327 return gfx::Transform(); |
| 328 } | 328 } |
| 329 | 329 |
| 330 void InterpolatedTransformAboutPivot::Init(const gfx::Point& pivot, | 330 void InterpolatedTransformAboutPivot::Init(const gfx::Point& pivot, |
| 331 InterpolatedTransform* xform) { | 331 InterpolatedTransform* xform) { |
| 332 gfx::Transform to_pivot; | 332 gfx::Transform to_pivot; |
| 333 gfx::Transform from_pivot; | 333 gfx::Transform from_pivot; |
| 334 to_pivot.Translate(-pivot.x(), -pivot.y()); | 334 // TODO(danakj): When https://code.google.com/p/skia/issues/detail?id=3045 is |
|
danakj
2014/10/23 15:35:44
Cool! Looks like SkIntToMScalar exists now?
| |
| 335 from_pivot.Translate(pivot.x(), pivot.y()); | 335 // fixed, use those conversions. |
| 336 to_pivot.Translate(SkScalarToMScalar(SkIntToScalar(-pivot.x())), | |
| 337 SkScalarToMScalar(SkIntToScalar(-pivot.y()))); | |
| 338 from_pivot.Translate(SkScalarToMScalar(SkIntToScalar(pivot.x())), | |
| 339 SkScalarToMScalar(SkIntToScalar(pivot.y()))); | |
| 336 | 340 |
| 337 scoped_ptr<InterpolatedTransform> pre_transform( | 341 scoped_ptr<InterpolatedTransform> pre_transform( |
| 338 new InterpolatedConstantTransform(to_pivot)); | 342 new InterpolatedConstantTransform(to_pivot)); |
| 339 scoped_ptr<InterpolatedTransform> post_transform( | 343 scoped_ptr<InterpolatedTransform> post_transform( |
| 340 new InterpolatedConstantTransform(from_pivot)); | 344 new InterpolatedConstantTransform(from_pivot)); |
| 341 | 345 |
| 342 pre_transform->SetChild(xform); | 346 pre_transform->SetChild(xform); |
| 343 xform->SetChild(post_transform.release()); | 347 xform->SetChild(post_transform.release()); |
| 344 transform_.reset(pre_transform.release()); | 348 transform_.reset(pre_transform.release()); |
| 345 } | 349 } |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 375 | 379 |
| 376 void InterpolatedMatrixTransform::Init(const gfx::Transform& start_transform, | 380 void InterpolatedMatrixTransform::Init(const gfx::Transform& start_transform, |
| 377 const gfx::Transform& end_transform) { | 381 const gfx::Transform& end_transform) { |
| 378 bool success = gfx::DecomposeTransform(&start_decomp_, start_transform); | 382 bool success = gfx::DecomposeTransform(&start_decomp_, start_transform); |
| 379 DCHECK(success); | 383 DCHECK(success); |
| 380 success = gfx::DecomposeTransform(&end_decomp_, end_transform); | 384 success = gfx::DecomposeTransform(&end_decomp_, end_transform); |
| 381 DCHECK(success); | 385 DCHECK(success); |
| 382 } | 386 } |
| 383 | 387 |
| 384 } // namespace ui | 388 } // namespace ui |
| OLD | NEW |