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]; in DEF_TEST() local
109 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
110 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
117 const SkDCubic& cubic = notPointDegenerates[index]; in DEF_TEST() local
118 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
119 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
122 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
127 const SkDCubic& cubic = lines[index]; in DEF_TEST() local
128 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
129 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
136 const SkDCubic& cubic = notLines[index]; in DEF_TEST() local
137 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
138 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
145 const SkDCubic& cubic = modEpsilonLines[index]; in DEF_TEST() local
146 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
147 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
154 const SkDCubic& cubic = lessEpsilonLines[index]; in DEF_TEST() local
155 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
156 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
159 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
164 const SkDCubic& cubic = negEpsilonLines[index]; in DEF_TEST() local
165 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
166 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
175 SkDCubic cubic = quad.debugToCubic(); in DEF_TEST() local
176 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
185 SkDCubic cubic = quad.debugToCubic(); in DEF_TEST() local
186 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
195 SkDCubic cubic = quad.debugToCubic(); in DEF_TEST() local
196 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics); in DEF_TEST()
206 const SkDCubic& cubic = lines[index]; in DEF_TEST()
207 SkASSERT(ValidCubic(cubic)); in DEF_TEST()
208 bool controlsInside = controls_inside(cubic); in DEF_TEST()
209 order = reducer.reduce(cubic, SkReduceOrder::kAllow_Quadratics, in DEF_TEST()
216 if ( (reducer.fLine[0].fX != cubic[0].fX && reducer.fLine[0].fX != cubic[3].fX) in DEF_TEST()
217 || (reducer.fLine[0].fY != cubic[0].fY && reducer.fLine[0].fY != cubic[3].fY) in DEF_TEST()
218 || (reducer.fLine[1].fX != cubic[0].fX && reducer.fLine[1].fX != cubic[3].fX) in DEF_TEST()
219 || (reducer.fLine[1].fY != cubic[0].fY && reducer.fLine[1].fY != cubic[3].fY)) { in DEF_TEST()
227 find_tight_bounds(cubic, bounds); in DEF_TEST()