Lines Matching defs:conic
491 void SkPathStroker::setConicEndNormal(const SkConic& conic, const SkVector& normalAB,
493 setQuadEndNormal(conic.fPts, normalAB, unitNormalAB, normalBC, unitNormalBC);
633 static bool conic_in_line(const SkConic& conic) {
634 return quad_in_line(conic.fPts);
676 SkPathStroker::ReductionType SkPathStroker::CheckConicLinear(const SkConic& conic,
678 bool degenerateAB = degenerate_vector(conic.fPts[1] - conic.fPts[0]);
679 bool degenerateBC = degenerate_vector(conic.fPts[2] - conic.fPts[1]);
686 if (!conic_in_line(conic)) {
691 SkScalar t = SkFindQuadMaxCurvature(conic.fPts);
695 conic.evalAt(t, reduction, nullptr);
721 const SkConic conic(fPrevPt, pt1, pt2, weight);
723 ReductionType reductionType = CheckConicLinear(conic, &reduction);
751 (void) this->conicStroke(conic, &quadPts);
753 (void) this->conicStroke(conic, &quadPts);
754 this->setConicEndNormal(conic, normalAB, unitAB, &normalBC, &unitBC);
813 // Given a conic and t, return the point on curve, its perpendicular, and the perpendicular tangent.
815 void SkPathStroker::conicPerpRay(const SkConic& conic, SkScalar t, SkPoint* tPt, SkPoint* onPt,
818 conic.evalAt(t, tPt, &dxy);
820 dxy = conic.fPts[2] - conic.fPts[0];
825 // Given a conic and a t range, find the start and end if they haven't been found already.
826 void SkPathStroker::conicQuadEnds(const SkConic& conic, SkQuadConstruct* quadPts) const {
829 this->conicPerpRay(conic, quadPts->fStartT, &conicStartPt, &quadPts->fQuad[0],
835 this->conicPerpRay(conic, quadPts->fEndT, &conicEndPt, &quadPts->fQuad[2],
1090 SkPathStroker::ResultType SkPathStroker::compareQuadConic(const SkConic& conic,
1093 this->conicQuadEnds(conic, quadPts);
1100 SkPoint ray[2]; // points near midpoint on quad, midpoint on conic
1101 this->conicPerpRay(conic, quadPts->fMidT, &ray[1], &ray[0], nullptr);
1213 bool SkPathStroker::conicStroke(const SkConic& conic, SkQuadConstruct* quadPts) {
1214 ResultType resultType = this->compareQuadConic(conic, quadPts);
1234 if (!this->conicStroke(conic, &half)) {
1238 if (!this->conicStroke(conic, &half)) {