modify gm to avoid creating t-junctions between degernate curves and lines

Bug: skia:8453
Change-Id: Id9d4d2d02eb9db4d9af1832e506b3b39a507fe32
Reviewed-on: https://skia-review.googlesource.com/c/160460
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This commit is contained in:
Mike Reed 2018-10-08 13:20:17 -04:00 committed by Skia Commit-Bot
parent 8ad991da4c
commit 2aa6475887

View File

@ -43,8 +43,6 @@ public:
}
float T = this->chooseChopT(numSubdivisions);
if (0 == T) {
fPath.lineTo(fLastPt);
this->sliceLine(pt, numSubdivisions - 1);
return;
}
SkPoint midpt = fLastPt * (1 - T) + pt * T;
@ -63,8 +61,6 @@ public:
}
float T = this->chooseChopT(numSubdivisions);
if (0 == T) {
fPath.quadTo(fLastPt, fLastPt);
this->sliceQuadratic(p1, p2, numSubdivisions - 1);
return;
}
SkPoint P[3] = {fLastPt, p1, p2}, PP[5];
@ -85,8 +81,6 @@ public:
}
float T = this->chooseChopT(numSubdivisions);
if (0 == T) {
fPath.cubicTo(fLastPt, fLastPt, fLastPt);
this->sliceCubic(p1, p2, p3, numSubdivisions - 1);
return;
}
SkPoint P[4] = {fLastPt, p1, p2, p3}, PP[7];
@ -106,8 +100,6 @@ public:
}
float T = this->chooseChopT(numSubdivisions);
if (0 == T) {
fPath.conicTo(fLastPt, fLastPt, w);
this->sliceConic(p1, p2, w, numSubdivisions - 1);
return;
}
SkConic conic(fLastPt, p1, p2, w), halves[2];