| Index: src/core/SkMatrix.cpp
|
| diff --git a/src/core/SkMatrix.cpp b/src/core/SkMatrix.cpp
|
| index 49cffa45f577d7ead8d88316312400c0bddc51df..4f94013d3cec9b8dc80209255b53f5a125a26b00 100644
|
| --- a/src/core/SkMatrix.cpp
|
| +++ b/src/core/SkMatrix.cpp
|
| @@ -1844,11 +1844,26 @@ bool SkDecomposeUpper2x2(const SkMatrix& matrix,
|
| //////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
| void SkRSXform::toQuad(SkScalar width, SkScalar height, SkPoint quad[4]) const {
|
| +#if 0
|
| + // This is the slow way, but it documents what we're doing
|
| quad[0].set(0, 0);
|
| quad[1].set(width, 0);
|
| quad[2].set(width, height);
|
| quad[3].set(0, height);
|
| SkMatrix m;
|
| m.setRSXform(*this).mapPoints(quad, quad, 4);
|
| +#else
|
| + const SkScalar m00 = fSCos;
|
| + const SkScalar m01 = -fSSin;
|
| + const SkScalar m02 = fTx;
|
| + const SkScalar m10 = -m01;
|
| + const SkScalar m11 = m00;
|
| + const SkScalar m12 = fTy;
|
| +
|
| + quad[0].set(m02, m12);
|
| + quad[1].set(m00 * width + m02, m10 * width + m12);
|
| + quad[2].set(m00 * width + m01 * height + m02, m10 * width + m11 * height + m12);
|
| + quad[3].set(m01 * height + m02, m11 * height + m12);
|
| +#endif
|
| }
|
|
|
|
|