Index: ui/gfx/transform_util.cc |
diff --git a/ui/gfx/transform_util.cc b/ui/gfx/transform_util.cc |
index 655ce57f2bb2b799cbf7da1b69164d97e5a42dd0..98e0ab477cffc75bd472f0af7ad4abfcb99310e9 100644 |
--- a/ui/gfx/transform_util.cc |
+++ b/ui/gfx/transform_util.cc |
@@ -24,11 +24,6 @@ SkMScalar Length3(SkMScalar v[3]) { |
std::sqrt(vd[0] * vd[0] + vd[1] * vd[1] + vd[2] * vd[2])); |
} |
-void Scale3(SkMScalar v[3], SkMScalar scale) { |
- for (int i = 0; i < 3; ++i) |
- v[i] *= scale; |
-} |
- |
template <int n> |
SkMScalar Dot(const SkMScalar* a, const SkMScalar* b) { |
double total = 0.0; |
@@ -372,8 +367,11 @@ bool DecomposeTransform(DecomposedTransform* decomp, |
// Compute X scale factor and normalize first row. |
decomp->scale[0] = Length3(row[0]); |
- if (decomp->scale[0] != 0.0) |
- Scale3(row[0], 1.0 / decomp->scale[0]); |
+ if (decomp->scale[0] != 0.0) { |
+ row[0][0] /= decomp->scale[0]; |
+ row[0][1] /= decomp->scale[0]; |
+ row[0][2] /= decomp->scale[0]; |
+ } |
// Compute XY shear factor and make 2nd row orthogonal to 1st. |
decomp->skew[0] = Dot<3>(row[0], row[1]); |
@@ -381,8 +379,11 @@ bool DecomposeTransform(DecomposedTransform* decomp, |
// Now, compute Y scale and normalize 2nd row. |
decomp->scale[1] = Length3(row[1]); |
- if (decomp->scale[1] != 0.0) |
- Scale3(row[1], 1.0 / decomp->scale[1]); |
+ if (decomp->scale[1] != 0.0) { |
+ row[1][0] /= decomp->scale[1]; |
+ row[1][1] /= decomp->scale[1]; |
+ row[1][2] /= decomp->scale[1]; |
+ } |
decomp->skew[0] /= decomp->scale[1]; |
@@ -394,8 +395,11 @@ bool DecomposeTransform(DecomposedTransform* decomp, |
// Next, get Z scale and normalize 3rd row. |
decomp->scale[2] = Length3(row[2]); |
- if (decomp->scale[2] != 0.0) |
- Scale3(row[2], 1.0 / decomp->scale[2]); |
+ if (decomp->scale[2] != 0.0) { |
+ row[2][0] /= decomp->scale[2]; |
+ row[2][1] /= decomp->scale[2]; |
+ row[2][2] /= decomp->scale[2]; |
+ } |
decomp->skew[1] /= decomp->scale[2]; |
decomp->skew[2] /= decomp->scale[2]; |