Lines Matching defs:cubic
18 static bool controls_inside(const SkDCubic& cubic) {
19 return between(cubic[0].fX, cubic[1].fX, cubic[3].fX)
20 && between(cubic[0].fX, cubic[2].fX, cubic[3].fX)
21 && between(cubic[0].fY, cubic[1].fY, cubic[3].fY)
22 && between(cubic[0].fY, cubic[2].fY, cubic[3].fY);
25 static bool tiny(const SkDCubic& cubic) {
29 if (cubic[minX].fX > cubic[index].fX) {
32 if (cubic[minY].fY > cubic[index].fY) {
35 if (cubic[maxX].fX < cubic[index].fX) {
38 if (cubic[maxY].fY < cubic[index].fY) {
42 return approximately_equal(cubic[maxX].fX, cubic[minX].fX)
43 && approximately_equal(cubic[maxY].fY, cubic[minY].fY);
46 static void find_tight_bounds(const SkDCubic& cubic, SkDRect& bounds) {
47 SkDCubicPair cubicPair = cubic.chopAt(0.5);
111 SkDCubic cubic;
112 cubic.debugSet(c.fPts);
113 SkASSERT(ValidCubic(cubic));
114 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
122 SkDCubic cubic;
123 cubic.debugSet(c.fPts);
124 SkASSERT(ValidCubic(cubic));
125 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
128 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
134 SkDCubic cubic;
135 cubic.debugSet(c.fPts);
136 SkASSERT(ValidCubic(cubic));
137 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
145 SkDCubic cubic;
146 cubic.debugSet(c.fPts);
147 SkASSERT(ValidCubic(cubic));
148 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
156 SkDCubic cubic;
157 cubic.debugSet(c.fPts);
158 SkASSERT(ValidCubic(cubic));
159 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
167 SkDCubic cubic;
168 cubic.debugSet(c.fPts);
169 SkASSERT(ValidCubic(cubic));
170 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
173 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
179 SkDCubic cubic;
180 cubic.debugSet(c.fPts);
181 SkASSERT(ValidCubic(cubic));
182 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
193 SkDCubic cubic = quad.debugToCubic();
194 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
205 SkDCubic cubic = quad.debugToCubic();
206 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
217 SkDCubic cubic = quad.debugToCubic();
218 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics);
228 const SkDCubic& cubic = lines[index];
229 SkASSERT(ValidCubic(cubic));
230 bool controlsInside = controls_inside(cubic);
231 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics,
238 if ( (reducer.fLine[0].fX != cubic[0].fX && reducer.fLine[0].fX != cubic[3].fX)
239 || (reducer.fLine[0].fY != cubic[0].fY && reducer.fLine[0].fY != cubic[3].fY)
240 || (reducer.fLine[1].fX != cubic[0].fX && reducer.fLine[1].fX != cubic[3].fX)
241 || (reducer.fLine[1].fY != cubic[0].fY && reducer.fLine[1].fY != cubic[3].fY)) {
249 find_tight_bounds(cubic, bounds);