58 if (srcPts[0].fY > srcPts[2].fY) {
64 memcpy(dst, srcPts, 3 *
sizeof(
SkPoint));
71 if (dst[2].fY <= ctop || dst[0].fY >= cbot) {
79 if (dst[0].fY < ctop) {
88 for (
int i = 0; i < 3; i++) {
89 if (dst[i].fY < ctop) {
97 if (dst[2].fY > cbot) {
105 for (
int i = 0; i < 3; i++) {
106 if (dst[i].fY > cbot) {
115 swap(dst[0], dst[2]);
static bool chopMonoQuadAtY(SkPoint pts[3], SkScalar y, SkScalar *t)
void SkChopQuadAt(const SkPoint src[3], SkPoint dst[5], SkScalar t)
int SkFindUnitQuadRoots(SkScalar A, SkScalar B, SkScalar C, SkScalar roots[2])
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
static bool chopMonoQuadAtY(SkPoint pts[3], SkScalar y, SkScalar *t)
static bool chopMonoQuadAt(SkScalar c0, SkScalar c1, SkScalar c2, SkScalar target, SkScalar *t)
void swap(sk_sp< T > &a, sk_sp< T > &b)
void setClip(const SkIRect &clip)
bool clipQuad(const SkPoint src[3], SkPoint dst[3])
SkScalar fBottom
larger y-axis bounds
void set(const SkIRect &src)
SkScalar fTop
smaller y-axis bounds