Make SkPath::RawIter require a non-NULL pts pointer.
Review URL: http://codereview.appspot.com/6301060/ git-svn-id: http://skia.googlecode.com/svn/trunk@4206 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
5867c0f032
commit
f6d3c5aa5f
@ -753,6 +753,7 @@ public:
|
||||
segments have been visited, return kDone_Verb.
|
||||
|
||||
@param pts The points representing the current verb and/or segment
|
||||
This must not be NULL.
|
||||
@return The verb for the current segment
|
||||
*/
|
||||
Verb next(SkPoint pts[4]);
|
||||
|
@ -1632,6 +1632,7 @@ void SkPath::RawIter::setPath(const SkPath& path) {
|
||||
}
|
||||
|
||||
SkPath::Verb SkPath::RawIter::next(SkPoint pts[4]) {
|
||||
SkASSERT(NULL != pts);
|
||||
if (fVerbs == fVerbStop) {
|
||||
return kDone_Verb;
|
||||
}
|
||||
@ -1641,42 +1642,32 @@ SkPath::Verb SkPath::RawIter::next(SkPoint pts[4]) {
|
||||
|
||||
switch (verb) {
|
||||
case kMove_Verb:
|
||||
if (pts) {
|
||||
pts[0] = *srcPts;
|
||||
}
|
||||
pts[0] = *srcPts;
|
||||
fMoveTo = srcPts[0];
|
||||
fLastPt = fMoveTo;
|
||||
srcPts += 1;
|
||||
break;
|
||||
case kLine_Verb:
|
||||
if (pts) {
|
||||
pts[0] = fLastPt;
|
||||
pts[1] = srcPts[0];
|
||||
}
|
||||
pts[0] = fLastPt;
|
||||
pts[1] = srcPts[0];
|
||||
fLastPt = srcPts[0];
|
||||
srcPts += 1;
|
||||
break;
|
||||
case kQuad_Verb:
|
||||
if (pts) {
|
||||
pts[0] = fLastPt;
|
||||
memcpy(&pts[1], srcPts, 2 * sizeof(SkPoint));
|
||||
}
|
||||
pts[0] = fLastPt;
|
||||
memcpy(&pts[1], srcPts, 2 * sizeof(SkPoint));
|
||||
fLastPt = srcPts[1];
|
||||
srcPts += 2;
|
||||
break;
|
||||
case kCubic_Verb:
|
||||
if (pts) {
|
||||
pts[0] = fLastPt;
|
||||
memcpy(&pts[1], srcPts, 3 * sizeof(SkPoint));
|
||||
}
|
||||
pts[0] = fLastPt;
|
||||
memcpy(&pts[1], srcPts, 3 * sizeof(SkPoint));
|
||||
fLastPt = srcPts[2];
|
||||
srcPts += 3;
|
||||
break;
|
||||
case kClose_Verb:
|
||||
fLastPt = fMoveTo;
|
||||
if (pts) {
|
||||
pts[0] = fMoveTo;
|
||||
}
|
||||
pts[0] = fMoveTo;
|
||||
break;
|
||||
}
|
||||
fPts = srcPts;
|
||||
|
Loading…
Reference in New Issue
Block a user