47 return measure->
getPosTan(distance, outPosition, outTangent);
53 bool startWithMoveTo) {
55 if (!measure->
getSegment(startD, stopD, outPath, startWithMoveTo)) {
static float next(float f)
sk_sp< SkContourMeasure > next()
bool getSegment(SkScalar startD, SkScalar stopD, SkPath *dst, bool startWithMoveTo) const
bool getPosTan(SkScalar distance, SkPoint *position, SkVector *tangent) const
SKWASM_EXPORT void contourMeasureIter_dispose(SkContourMeasureIter *iter)
SKWASM_EXPORT SkContourMeasure * contourMeasureIter_next(SkContourMeasureIter *iter)
SKWASM_EXPORT bool contourMeasure_isClosed(SkContourMeasure *measure)
SKWASM_EXPORT SkPath * contourMeasure_getSegment(SkContourMeasure *measure, SkScalar startD, SkScalar stopD, bool startWithMoveTo)
SKWASM_EXPORT SkContourMeasureIter * contourMeasureIter_create(SkPath *path, bool forceClosed, SkScalar resScale)
SKWASM_EXPORT SkScalar contourMeasure_length(SkContourMeasure *measure)
SKWASM_EXPORT void contourMeasure_dispose(SkContourMeasure *measure)
SKWASM_EXPORT bool contourMeasure_getPosTan(SkContourMeasure *measure, SkScalar distance, SkPoint *outPosition, SkVector *outTangent)