Index: src/pathops/SkPathOpsOp.cpp |
diff --git a/src/pathops/SkPathOpsOp.cpp b/src/pathops/SkPathOpsOp.cpp |
index f030765a614d517fa3a33124165288fdae90a3ba..7e1c7728933e04e37cfcdcc56807037beb98b32a 100644 |
--- a/src/pathops/SkPathOpsOp.cpp |
+++ b/src/pathops/SkPathOpsOp.cpp |
@@ -20,7 +20,7 @@ static SkOpSegment* findChaseOp(SkTDArray<SkOpSpan*>& chase, int& nextStart, int |
const SkOpSpan& backPtr = span->fOther->span(span->fOtherIndex); |
SkOpSegment* segment = backPtr.fOther; |
nextStart = backPtr.fOtherIndex; |
- SkTDArray<SkOpAngle> angles; |
+ SkSTArray<SkOpAngle::kStackBasedCount, SkOpAngle, true> angles; |
int done = 0; |
if (segment->activeAngle(nextStart, &done, &angles)) { |
SkOpAngle* last = angles.end() - 1; |
@@ -36,7 +36,7 @@ static SkOpSegment* findChaseOp(SkTDArray<SkOpSpan*>& chase, int& nextStart, int |
if (done == angles.count()) { |
continue; |
} |
- SkTDArray<SkOpAngle*> sorted; |
+ SkSTArray<SkOpAngle::kStackBasedCount, SkOpAngle*, true> sorted; |
bool sortable = SkOpSegment::SortAngles(angles, &sorted, |
SkOpSegment::kMayBeUnordered_SortAngleKind); |
int angleCount = sorted.count(); |
@@ -126,7 +126,7 @@ static bool windingIsActive(int winding, int oppWinding, int spanWinding, int op |
} |
*/ |
-static bool bridgeOp(SkTDArray<SkOpContour*>& contourList, const SkPathOp op, |
+static bool bridgeOp(SkTArray<SkOpContour*, true>& contourList, const SkPathOp op, |
const int xorMask, const int xorOpMask, SkPathWriter* simple) { |
bool firstContour = true; |
bool unsortable = false; |
@@ -263,7 +263,7 @@ bool Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result) { |
result->reset(); |
result->setFillType(fillType); |
const int xorOpMask = builder.xorMask(); |
- SkTDArray<SkOpContour*> contourList; |
+ SkTArray<SkOpContour*, true> contourList; |
MakeContourList(contours, contourList, xorMask == kEvenOdd_PathOpsMask, |
xorOpMask == kEvenOdd_PathOpsMask); |
SkOpContour** currentPtr = contourList.begin(); |