Add performance improvement of _getMonoCurves() by filtering curves that have end points and control points sorted in y direction.

This commit is contained in:
iconexperience 2016-01-16 15:05:49 +01:00
parent b33777274d
commit 5de9558533

View file

@ -924,8 +924,10 @@ Path.inject(/** @lends Path# */{
y1 = v[3],
y2 = v[5],
y3 = v[7];
if (Curve.isStraight(v)) {
// Handling straight curves is easy.
if (Curve.isStraight(v) ||
y0 >= y1 === y1 >= y2 && y1 >= y2 === y2 >= y3) {
// Straight curves and curves with end and control points sorted
// in y direction are guaranteed to be monotone in y direction.
insertCurve(v);
} else {
// Split the curve at y extrema, to get bezier curves with clear