| Index: ui/gfx/transform.cc
|
| diff --git a/ui/gfx/transform.cc b/ui/gfx/transform.cc
|
| index c2b6ba2fa9dffe86b6d2e7795ea3096f1479161f..df3ed9f502b7e1266f2c9974aef5bdb2c6380763 100644
|
| --- a/ui/gfx/transform.cc
|
| +++ b/ui/gfx/transform.cc
|
| @@ -32,6 +32,48 @@ double TanDegrees(double degrees) {
|
|
|
| } // namespace
|
|
|
| +Transform::Transform(
|
| + double col1row1, double col2row1, double col3row1, double col4row1,
|
| + double col1row2, double col2row2, double col3row2, double col4row2,
|
| + double col1row3, double col2row3, double col3row3, double col4row3,
|
| + double col1row4, double col2row4, double col3row4, double col4row4)
|
| + : matrix_(SkMatrix44::kUninitialized_Constructor)
|
| +{
|
| + matrix_.setDouble(0, 0, col1row1);
|
| + matrix_.setDouble(1, 0, col1row2);
|
| + matrix_.setDouble(2, 0, col1row3);
|
| + matrix_.setDouble(3, 0, col1row4);
|
| +
|
| + matrix_.setDouble(0, 1, col2row1);
|
| + matrix_.setDouble(1, 1, col2row2);
|
| + matrix_.setDouble(2, 1, col2row3);
|
| + matrix_.setDouble(3, 1, col2row4);
|
| +
|
| + matrix_.setDouble(0, 2, col3row1);
|
| + matrix_.setDouble(1, 2, col3row2);
|
| + matrix_.setDouble(2, 2, col3row3);
|
| + matrix_.setDouble(3, 2, col3row4);
|
| +
|
| + matrix_.setDouble(0, 3, col4row1);
|
| + matrix_.setDouble(1, 3, col4row2);
|
| + matrix_.setDouble(2, 3, col4row3);
|
| + matrix_.setDouble(3, 3, col4row4);
|
| +}
|
| +
|
| +Transform::Transform(
|
| + double col1row1, double col2row1,
|
| + double col1row2, double col2row2,
|
| + double x_translation, double y_translation)
|
| + : matrix_(SkMatrix44::kIdentity_Constructor)
|
| +{
|
| + matrix_.setDouble(0, 0, col1row1);
|
| + matrix_.setDouble(1, 0, col1row2);
|
| + matrix_.setDouble(0, 1, col2row1);
|
| + matrix_.setDouble(1, 1, col2row2);
|
| + matrix_.setDouble(0, 3, x_translation);
|
| + matrix_.setDouble(1, 3, y_translation);
|
| +}
|
| +
|
| void Transform::RotateAboutXAxis(double degrees) {
|
| double radians = degrees * M_PI / 180;
|
| double cosTheta = std::cos(radians);
|
| @@ -259,6 +301,16 @@ void Transform::Transpose() {
|
| matrix_.transpose();
|
| }
|
|
|
| +void Transform::FlattenTo2d() {
|
| + matrix_.setDouble(2, 0, 0.0);
|
| + matrix_.setDouble(2, 1, 0.0);
|
| + matrix_.setDouble(0, 2, 0.0);
|
| + matrix_.setDouble(1, 2, 0.0);
|
| + matrix_.setDouble(2, 2, 1.0);
|
| + matrix_.setDouble(3, 2, 0.0);
|
| + matrix_.setDouble(2, 3, 0.0);
|
| +}
|
| +
|
| void Transform::TransformPoint(Point& point) const {
|
| TransformPointInternal(matrix_, point);
|
| }
|
|
|