Chromium Code Reviews| Index: cc/math_util.h |
| diff --git a/cc/math_util.h b/cc/math_util.h |
| index fe1780042800f53800b9e8b1a19f2b2daf782644..0f892a4e86416e6cc758246b02de8209f01eada7 100644 |
| --- a/cc/math_util.h |
| +++ b/cc/math_util.h |
| @@ -9,6 +9,7 @@ |
| #include "cc/cc_export.h" |
| #include "ui/gfx/point_f.h" |
| #include "ui/gfx/point3_f.h" |
| +#include "ui/gfx/transform.h" |
| namespace WebKit { |
| class WebTransformationMatrix; |
| @@ -115,8 +116,37 @@ public: |
| // Projects the |source| vector onto |destination|. Neither vector is assumed to be normalized. |
| static gfx::Vector2dF projectVector(gfx::Vector2dF source, gfx::Vector2dF destination); |
| + |
| + // Temporary API to ease migration from WebKit::WebTransformationMatrix |
| + // to gfx::Transform. |
| + // |
| + // TODO(shawnsingh, vollick) we should phase out as much as possible of |
| + // these temporary functions, putting functionality into gfx::Transform. |
| + static bool isInvertible(const gfx::Transform&); |
| + static bool isBackFaceVisible(const gfx::Transform&); |
| + static bool isIdentity(const gfx::Transform&); |
| + static bool isIdentityOrTranslation(const gfx::Transform&); |
| + static bool hasPerspective(const gfx::Transform&); |
| + static void makeIdentity(gfx::Transform*); |
|
Ian Vollick
2012/11/16 13:44:46
Would transform = gfx::Transform() suffice?
danakj
2012/11/16 16:25:15
I've seen a pattern in the existing classes to pro
|
| + static void rotateEulerAngles(gfx::Transform*, float eulerX, float eulerY, float eulerZ); // TODO: verify old webcore API was euler angles? |
|
Ian Vollick
2012/11/16 13:44:46
These should be doubles now that gfx::Transform is
|
| + static void rotateAxisAngle(gfx::Transform*, float i, float j, float k, float degrees); |
| + static gfx::Transform inverse(const gfx::Transform&); |
|
Ian Vollick
2012/11/16 13:44:46
I think this should be pulled from the API. gfx::T
shawnsingh
2012/11/17 00:38:31
As mentioned above, I agree with this, but I would
|
| + static gfx::Transform to2dTransform(const gfx::Transform&); |
| + static gfx::Transform toGfxTransform(const WebKit::WebTransformationMatrix&); |
| + // Note carefully: the args here are labeled as per Webcore indexing conventions. |
| + static gfx::Transform createGfxTransform(float m11, float m12, float m13, float m14, |
| + float m21, float m22, float m23, float m24, |
| + float m31, float m32, float m33, float m34, |
| + float m41, float m42, float m43, float m44); |
|
Ian Vollick
2012/11/16 13:44:46
This is a bit of a matter of preference, but I pre
shawnsingh
2012/11/17 00:38:31
Same goes for this comment - this wrapper simply e
|
| + |
| + static gfx::Transform createGfxTransform(float a, float b, float c, |
| + float d, float e, float f); |
| }; |
| +// TODO(shawnsingh, vollick) this is a temporary home, should eventually |
| +// be phased out in favor of gfx::Transform API. |
| +gfx::Transform operator*(const gfx::Transform&, const gfx::Transform&); |
| + |
| } // namespace cc |
| #endif // CC_MATH_UTIL_H_ |