Lines Matching refs:conic
433 void SkPathStroker::setConicEndNormal(const SkConic& conic, const SkVector& normalAB, in setConicEndNormal() argument
435 setQuadEndNormal(conic.fPts, normalAB, unitNormalAB, normalBC, unitNormalBC); in setConicEndNormal()
573 static bool conic_in_line(const SkConic& conic) { in conic_in_line() argument
574 return quad_in_line(conic.fPts); in conic_in_line()
608 SkPathStroker::ReductionType SkPathStroker::CheckConicLinear(const SkConic& conic, in CheckConicLinear() argument
610 bool degenerateAB = degenerate_vector(conic.fPts[1] - conic.fPts[0]); in CheckConicLinear()
611 bool degenerateBC = degenerate_vector(conic.fPts[2] - conic.fPts[1]); in CheckConicLinear()
618 if (!conic_in_line(conic)) { in CheckConicLinear()
623 if (!conic.findMaxCurvature(&t) || 0 == t) { in CheckConicLinear()
628 (void) conic.findXExtrema(&xT); in CheckConicLinear()
629 (void) conic.findYExtrema(&yT); in CheckConicLinear()
635 conic.evalAt(t, reduction, nullptr); in CheckConicLinear()
661 const SkConic conic(fPrevPt, pt1, pt2, weight); in conicTo() local
663 ReductionType reductionType = CheckConicLinear(conic, &reduction); in conicTo()
691 (void) this->conicStroke(conic, &quadPts); in conicTo()
693 (void) this->conicStroke(conic, &quadPts); in conicTo()
694 this->setConicEndNormal(conic, normalAB, unitAB, &normalBC, &unitBC); in conicTo()
760 void SkPathStroker::conicPerpRay(const SkConic& conic, SkScalar t, SkPoint* tPt, SkPoint* onPt, in conicPerpRay() argument
763 conic.evalAt(t, tPt, &dxy); in conicPerpRay()
765 dxy = conic.fPts[2] - conic.fPts[0]; in conicPerpRay()
771 void SkPathStroker::conicQuadEnds(const SkConic& conic, SkQuadConstruct* quadPts) const { in conicQuadEnds() argument
774 this->conicPerpRay(conic, quadPts->fStartT, &conicStartPt, &quadPts->fQuad[0], in conicQuadEnds()
780 this->conicPerpRay(conic, quadPts->fEndT, &conicEndPt, &quadPts->fQuad[2], in conicQuadEnds()
1035 SkPathStroker::ResultType SkPathStroker::compareQuadConic(const SkConic& conic, in compareQuadConic() argument
1038 this->conicQuadEnds(conic, quadPts); in compareQuadConic()
1046 this->conicPerpRay(conic, quadPts->fMidT, &ray[1], &ray[0], nullptr); in compareQuadConic()
1153 bool SkPathStroker::conicStroke(const SkConic& conic, SkQuadConstruct* quadPts) { in conicStroke() argument
1154 ResultType resultType = this->compareQuadConic(conic, quadPts); in conicStroke()
1172 if (!this->conicStroke(conic, &half)) { in conicStroke()
1176 if (!this->conicStroke(conic, &half)) { in conicStroke()