Index: src/core/SkPathRef.cpp |
=================================================================== |
--- src/core/SkPathRef.cpp (revision 13420) |
+++ src/core/SkPathRef.cpp (working copy) |
@@ -154,7 +154,6 @@ |
void SkPathRef::Rewind(SkAutoTUnref<SkPathRef>* pathRef) { |
if ((*pathRef)->unique()) { |
SkDEBUGCODE((*pathRef)->validate();) |
- (*pathRef)->fLastMoveToIndex = kINITIAL_LASTMOVETOINDEX_VALUE; |
(*pathRef)->fBoundsIsDirty = true; // this also invalidates fIsFinite |
(*pathRef)->fVerbCnt = 0; |
(*pathRef)->fPointCnt = 0; |
@@ -277,20 +276,6 @@ |
SkDEBUGCODE(this->validate();) |
} |
-void SkPathRef::injectMoveToIfNeeded() { |
- if (fLastMoveToIndex < 0) { |
- SkScalar x, y; |
- if (this->countVerbs() == 0) { |
- x = y = 0; |
- } else { |
- const SkPoint& pt = this->atPoint(~fLastMoveToIndex); |
- x = pt.fX; |
- y = pt.fY; |
- } |
- this->growForVerb(SkPath::kMove_Verb, 0)->set(x, y); |
- } |
-} |
- |
SkPoint* SkPathRef::growForRepeatedVerb(int /*SkPath::Verb*/ verb, |
int numVbs, |
SkScalar** weights) { |
@@ -299,16 +284,11 @@ |
// future this will appear to have been a fluke... |
static const unsigned int kMIN_COUNT_FOR_MEMSET_TO_BE_FAST = 16; |
- if (numVbs <= 0) { |
- return NULL; |
- } |
- |
SkDEBUGCODE(this->validate();) |
int pCnt; |
bool dirtyAfterEdit = true; |
switch (verb) { |
case SkPath::kMove_Verb: |
- fLastMoveToIndex = fPointCnt + numVbs - 1; |
pCnt = numVbs; |
dirtyAfterEdit = false; |
break; |
@@ -330,8 +310,6 @@ |
break; |
case SkPath::kClose_Verb: |
SkDEBUGFAIL("growForRepeatedVerb called for kClose_Verb"); |
- // signal that we need a moveTo to follow us (unless we're done) |
- fLastMoveToIndex ^= ~fLastMoveToIndex >> (8 * sizeof(fLastMoveToIndex) - 1); |
pCnt = 0; |
dirtyAfterEdit = false; |
break; |
@@ -383,8 +361,6 @@ |
bool dirtyAfterEdit = true; |
switch (verb) { |
case SkPath::kMove_Verb: |
- // remember our index |
- fLastMoveToIndex = fPointCnt; |
pCnt = 1; |
dirtyAfterEdit = false; |
break; |
@@ -405,8 +381,6 @@ |
pCnt = 3; |
break; |
case SkPath::kClose_Verb: |
- // signal that we need a moveTo to follow us (unless we're done) |
- fLastMoveToIndex ^= ~fLastMoveToIndex >> (8 * sizeof(fLastMoveToIndex) - 1); |
pCnt = 0; |
dirtyAfterEdit = false; |
break; |
@@ -486,34 +460,23 @@ |
#ifdef SK_DEBUG_PATH |
uint32_t mask = 0; |
- int lastMoveToIndex = kINITIAL_LASTMOVETOINDEX_VALUE; |
- int pointCnt = 0; |
for (int i = 0; i < fVerbCnt; ++i) { |
switch (fVerbs[~i]) { |
case SkPath::kMove_Verb: |
- lastMoveToIndex = pointCnt; |
- ++pointCnt; |
break; |
case SkPath::kLine_Verb: |
mask |= SkPath::kLine_SegmentMask; |
- ++pointCnt; |
break; |
case SkPath::kQuad_Verb: |
mask |= SkPath::kQuad_SegmentMask; |
- pointCnt += 2; |
break; |
case SkPath::kConic_Verb: |
mask |= SkPath::kConic_SegmentMask; |
- pointCnt += 2; |
break; |
case SkPath::kCubic_Verb: |
mask |= SkPath::kCubic_SegmentMask; |
- pointCnt += 3; |
break; |
case SkPath::kClose_Verb: |
- if (lastMoveToIndex >= 0) { |
- lastMoveToIndex = ~lastMoveToIndex; |
- } |
break; |
case SkPath::kDone_Verb: |
SkDEBUGFAIL("Done verb shouldn't be recorded."); |
@@ -524,8 +487,6 @@ |
} |
} |
SkASSERT(mask == fSegmentMask); |
- SkASSERT(lastMoveToIndex == fLastMoveToIndex); |
- SkASSERT(pointCnt == fPointCnt); |
#endif // SK_DEBUG_PATH |
} |
#endif |