#ifdefined(SK_BUILD_FOR_FUZZER) // Prevent lines with small widths from timing out. if (rec.getStyle() == SkStrokeRec::Style::kStroke_Style && rec.getWidth() < 0.001) { returnfalse;
} #endif
const SkPath* srcPtr = &src;
SkPath tmpPath;
SkPathEffect* pe = paint.getPathEffect(); if (pe && pe->filterPath(&tmpPath, src, &rec, cullRect, ctm)) {
srcPtr = &tmpPath;
}
if (!rec.applyToPath(dst, *srcPtr)) { if (srcPtr == &tmpPath) { // If path's were copy-on-write, this trick would not be needed. // As it is, we want to save making a deep-copy from tmpPath -> dst // since we know we're just going to delete tmpPath when we return, // so the swap saves that copy.
dst->swap(tmpPath);
} else {
*dst = *srcPtr;
}
}
if (!dst->isFinite()) {
dst->reset(); returnfalse;
} return !rec.isHairlineStyle();
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.