Iter::next takes a bool (defaults to true for now) if we want to consume degenerates.
path-filling and stroking pass false, as they already are written to handle
small segments (and it makes next() run 2x faster if you pass false).
Review URL: https://codereview.appspot.com/6214049
git-svn-id: http://skia.googlecode.com/svn/trunk@3974 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index 1a48830..ee6a171 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -1265,7 +1265,7 @@
SkPoint pts[4];
SkPath::Verb verb;
- while ((verb = iter.next(pts)) != kDone_Verb) {
+ while ((verb = iter.next(pts, false)) != kDone_Verb) {
switch (verb) {
case kMove_Verb:
tmp.moveTo(pts[0]);
@@ -1498,9 +1498,8 @@
}
}
-SkPath::Verb SkPath::Iter::next(SkPoint ptsParam[4]) {
+SkPath::Verb SkPath::Iter::doNext(SkPoint ptsParam[4]) {
SkASSERT(ptsParam);
- this->consumeDegenerateSegments();
if (fVerbs == fVerbStop) {
// Close the curve if requested and if there is some curve to close
@@ -1689,7 +1688,7 @@
SkDebugf("path: forceClose=%s %s\n", forceClose ? "true" : "false",
title ? title : "");
- while ((verb = iter.next(pts)) != kDone_Verb) {
+ while ((verb = iter.next(pts, false)) != kDone_Verb) {
switch (verb) {
case kMove_Verb:
#ifdef SK_CAN_USE_FLOAT