本文整理汇总了C++中SkOpSegment::next方法的典型用法代码示例。如果您正苦于以下问题:C++ SkOpSegment::next方法的具体用法?C++ SkOpSegment::next怎么用?C++ SkOpSegment::next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SkOpSegment
的用法示例。
在下文中一共展示了SkOpSegment::next方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: state
DEF_TEST(PathOpsAngleCircle, reporter) {
SkSTArenaAlloc<4096> allocator;
SkOpContourHead contour;
SkOpGlobalState state(&contour, &allocator SkDEBUGPARAMS(false) SkDEBUGPARAMS(nullptr));
contour.init(&state, false, false);
for (int index = 0; index < circleDataSetSize; ++index) {
CircleData& data = circleDataSet[index];
for (int idx2 = 0; idx2 < data.fPtCount; ++idx2) {
data.fShortPts[idx2] = data.fPts.fPts[idx2].asSkPoint();
}
switch (data.fPtCount) {
case 2:
contour.addLine(data.fShortPts);
break;
case 3:
contour.addQuad(data.fShortPts);
break;
case 4:
contour.addCubic(data.fShortPts);
break;
}
}
SkOpSegment* first = contour.first();
first->debugAddAngle(0, 1);
SkOpSegment* next = first->next();
next->debugAddAngle(0, 1);
PathOpsAngleTester::Orderable(*first->debugLastAngle(), *next->debugLastAngle());
}
示例2: undoneSegment
SkOpSegment* SkOpContour::undoneSegment(SkOpSpanBase** startPtr, SkOpSpanBase** endPtr) {
SkOpSegment* segment = &fHead;
do {
if (segment->done()) {
continue;
}
segment->undoneSpan(startPtr, endPtr);
return segment;
} while ((segment = segment->next()));
return nullptr;
}
示例3: undoneSpan
SkOpSpan* SkOpContour::undoneSpan() {
SkOpSegment* testSegment = &fHead;
do {
if (testSegment->done()) {
continue;
}
return testSegment->undoneSpan();
} while ((testSegment = testSegment->next()));
fDone = true;
return nullptr;
}