• Home
  • Raw
  • Download

Lines Matching refs:cubic

19 static double calc_t_div(const SkDCubic& cubic, double precision, double start) {  in calc_t_div()  argument
24 cPtr = &cubic; in calc_t_div()
27 sub = cubic.subDivide(start, 1); in calc_t_div()
42 static bool add_simple_ts(const SkDCubic& cubic, double precision, SkTArray<double, true>* ts) { in add_simple_ts() argument
43 double tDiv = calc_t_div(cubic, precision, 0); in add_simple_ts()
54 static void addTs(const SkDCubic& cubic, double precision, double start, double end, in addTs() argument
56 double tDiv = calc_t_div(cubic, precision, 0); in addTs()
66 static void toQuadraticTs(const SkDCubic* cubic, double precision, SkTArray<double, true>* ts) { in toQuadraticTs() argument
68 int order = reducer.reduce(*cubic, SkReduceOrder::kAllow_Quadratics); in toQuadraticTs()
73 int inflections = cubic->findInflections(inflectT); in toQuadraticTs()
75 if (!cubic->endsAreExtremaInXOrY()) { in toQuadraticTs()
76 inflections += cubic->findMaxCurvature(&inflectT[inflections]); in toQuadraticTs()
101 pair = cubic->chopAt(inflectT[0]); in toQuadraticTs()
112 if (inflections == 0 && add_simple_ts(*cubic, precision, ts)) { in toQuadraticTs()
116 pair = cubic->chopAt(inflectT[0]); in toQuadraticTs()
122 SkDCubic part = cubic->subDivide(0, inflectT[0]); in toQuadraticTs()
126 part = cubic->subDivide(inflectT[idx], inflectT[idx + 1]); in toQuadraticTs()
129 part = cubic->subDivide(inflectT[last], 1); in toQuadraticTs()
133 addTs(*cubic, precision, 0, 1, ts); in toQuadraticTs()
136 void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads) { in CubicToQuads() argument
138 toQuadraticTs(&cubic, precision, &ts); in CubicToQuads()
140 SkDQuad quad = cubic.toQuad(); in CubicToQuads()
148 bounds.setBounds(cubic); in CubicToQuads()
149 SkDCubic part = cubic.subDivide(tStart, tEnd); in CubicToQuads()
168 SkDCubic cubic; in CubicPathToQuads() local
186 cubic.set(pts); in CubicPathToQuads()
187 CubicToQuads(cubic, cubic.calcPrecision(), quads); in CubicPathToQuads()
208 SkDCubic cubic; in CubicPathToSimple() local
224 cubic.set(pts); in CubicPathToSimple()
226 int inflections = cubic.findInflections(tInflects); in CubicPathToSimple()
234 SkDCubic part = cubic.subDivide(lo, hi); in CubicPathToSimple()
280 bool ValidCubic(const SkDCubic& cubic) { in ValidCubic() argument
282 if (!ValidPoint(cubic[index])) { in ValidCubic()