| Index: src/pathops/SkReduceOrder.cpp
|
| diff --git a/src/pathops/SkReduceOrder.cpp b/src/pathops/SkReduceOrder.cpp
|
| index ab85f3dd3e36414f5758adae206d2bca5b713989..3dfdc9daeeb88d3e86de78980e6f9bc97a41b33a 100644
|
| --- a/src/pathops/SkReduceOrder.cpp
|
| +++ b/src/pathops/SkReduceOrder.cpp
|
| @@ -425,31 +425,27 @@ int SkReduceOrder::reduce(const SkDCubic& cubic, Quadratics allowQuadratics,
|
| return 4;
|
| }
|
|
|
| -SkPath::Verb SkReduceOrder::Quad(const SkPoint a[3], SkTArray<SkPoint, true>* reducePts) {
|
| +SkPath::Verb SkReduceOrder::Quad(const SkPoint a[3], SkPoint* reducePts) {
|
| SkDQuad quad;
|
| quad.set(a);
|
| SkReduceOrder reducer;
|
| int order = reducer.reduce(quad, kFill_Style);
|
| if (order == 2) { // quad became line
|
| for (int index = 0; index < order; ++index) {
|
| - SkPoint& pt = reducePts->push_back();
|
| - pt.fX = SkDoubleToScalar(reducer.fLine[index].fX);
|
| - pt.fY = SkDoubleToScalar(reducer.fLine[index].fY);
|
| + *reducePts++ = reducer.fLine[index].asSkPoint();
|
| }
|
| }
|
| return SkPathOpsPointsToVerb(order - 1);
|
| }
|
|
|
| -SkPath::Verb SkReduceOrder::Cubic(const SkPoint a[4], SkTArray<SkPoint, true>* reducePts) {
|
| +SkPath::Verb SkReduceOrder::Cubic(const SkPoint a[4], SkPoint* reducePts) {
|
| SkDCubic cubic;
|
| cubic.set(a);
|
| SkReduceOrder reducer;
|
| int order = reducer.reduce(cubic, kAllow_Quadratics, kFill_Style);
|
| if (order == 2 || order == 3) { // cubic became line or quad
|
| for (int index = 0; index < order; ++index) {
|
| - SkPoint& pt = reducePts->push_back();
|
| - pt.fX = SkDoubleToScalar(reducer.fQuad[index].fX);
|
| - pt.fY = SkDoubleToScalar(reducer.fQuad[index].fY);
|
| + *reducePts++ = reducer.fQuad[index].asSkPoint();
|
| }
|
| }
|
| return SkPathOpsPointsToVerb(order - 1);
|
|
|