Lines Matching refs:cubic

16 static bool controls_inside(const SkDCubic& cubic) {
17 return between(cubic[0].fX, cubic[1].fX, cubic[3].fX)
18 && between(cubic[0].fX, cubic[2].fX, cubic[3].fX)
19 && between(cubic[0].fY, cubic[1].fY, cubic[3].fY)
20 && between(cubic[0].fY, cubic[2].fY, cubic[3].fY);
23 static bool tiny(const SkDCubic& cubic) {
27 if (cubic[minX].fX > cubic[index].fX) {
30 if (cubic[minY].fY > cubic[index].fY) {
33 if (cubic[maxX].fX < cubic[index].fX) {
36 if (cubic[maxY].fY < cubic[index].fY) {
40 return approximately_equal(cubic[maxX].fX, cubic[minX].fX)
41 && approximately_equal(cubic[maxY].fY, cubic[minY].fY);
44 static void find_tight_bounds(const SkDCubic& cubic, SkDRect& bounds) {
45 SkDCubicPair cubicPair = cubic.chopAt(0.5);
108 const SkDCubic& cubic = pointDegenerates[index];
109 SkASSERT(ValidCubic(cubic));
110 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
117 const SkDCubic& cubic = notPointDegenerates[index];
118 SkASSERT(ValidCubic(cubic));
119 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
122 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
127 const SkDCubic& cubic = lines[index];
128 SkASSERT(ValidCubic(cubic));
129 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
136 const SkDCubic& cubic = notLines[index];
137 SkASSERT(ValidCubic(cubic));
138 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
145 const SkDCubic& cubic = modEpsilonLines[index];
146 SkASSERT(ValidCubic(cubic));
147 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
154 const SkDCubic& cubic = lessEpsilonLines[index];
155 SkASSERT(ValidCubic(cubic));
156 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
159 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
164 const SkDCubic& cubic = negEpsilonLines[index];
165 SkASSERT(ValidCubic(cubic));
166 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
175 SkDCubic cubic = quad.toCubic();
176 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
185 SkDCubic cubic = quad.toCubic();
186 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
195 SkDCubic cubic = quad.toCubic();
196 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
206 const SkDCubic& cubic = lines[index];
207 SkASSERT(ValidCubic(cubic));
208 bool controlsInside = controls_inside(cubic);
209 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics,
216 if ( (reducer.fLine[0].fX != cubic[0].fX && reducer.fLine[0].fX != cubic[3].fX)
217 || (reducer.fLine[0].fY != cubic[0].fY && reducer.fLine[0].fY != cubic[3].fY)
218 || (reducer.fLine[1].fX != cubic[0].fX && reducer.fLine[1].fX != cubic[3].fX)
219 || (reducer.fLine[1].fY != cubic[0].fY && reducer.fLine[1].fY != cubic[3].fY)) {
227 find_tight_bounds(cubic, bounds);