/external/skia/tests/ |
PathOpsConicLineIntersectionTest.cpp | 16 SkDConic conic; member in struct:lineConic 31 static int doIntersect(SkIntersections& intersections, const SkDConic& conic, const SkDLine& line, 42 result = intersections.vertical(conic, top, bottom, line[0].fX, flipped); 50 result = intersections.horizontal(conic, left, right, line[0].fY, flipped); 52 intersections.intersect(conic, line); 59 SkDConic conic; member in struct:oneLineConic 71 const SkDConic& conic = oneOffs[index].conic; local 72 SkASSERT(ValidConic(conic)); 76 int result = doIntersect(intersections, conic, line, flipped) 98 const SkDConic& conic = lineConicTests[index].conic; local [all...] |
PathOpsCubicConicIntersectionTest.cpp | 16 SkDConic conic; member in struct:cubicConic 34 const SkDConic& conic = cubicConicTests[index].conic; local 35 SkASSERT(ValidConic(conic)); 39 int order2 = reduce2.reduce(conic.fPts); 45 SkDebugf("[%d] conic order=%d\n", index, order2); 49 int roots = i.intersect(cubic, conic); 54 SkDPoint xy2 = conic.ptAtT(tt2);
|
GeometryTest.cpp | 72 static void test_conic_eval_pos(skiatest::Reporter* reporter, const SkConic& conic, SkScalar t) { 74 conic.evalAt(t, &p0, nullptr); 75 p1 = conic.evalAt(t); 76 check_pairs(reporter, 0, t, "conic-pos", p0.fX, p0.fY, p1.fX, p1.fY); 79 static void test_conic_eval_tan(skiatest::Reporter* reporter, const SkConic& conic, SkScalar t) { 81 conic.evalAt(t, nullptr, &v0); 82 v1 = conic.evalTangentAt(t); 83 check_pairs(reporter, 0, t, "conic-tan", v0.fX, v0.fY, v1.fX, v1.fY); 95 SkConic conic(pts, w); 100 test_conic_eval_pos(reporter, conic, t) [all...] |
PathOpsConicIntersectionTest.cpp | 13 manually compute the intersection of a pair of circles and see if the conic intersection matches 75 SkConic conic, chopped[2]; local 77 conic.fPts[index].fX = c.fPts[index].fX * scale; 78 conic.fPts[index].fY = c.fPts[index].fY * scale; 84 conic.fW = c.fW; 89 conic.computeTightBounds(&bounds); 100 path.moveTo(conic.fPts[0]); 101 path.conicTo(conic.fPts[1], conic.fPts[2], conic.fW) 161 SkConic conic; local [all...] |
PathOpsDebug.cpp | 382 SkDConic conic; local 387 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 388 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 389 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 412 SkDConic conic; local 417 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 418 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 419 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 442 SkDConic conic; local 447 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)) 472 SkDConic conic; local 502 SkDConic conic; local 532 SkDConic conic; local 562 SkDConic conic; local 592 SkDConic conic; local 622 SkDConic conic; local [all...] |
PathOpsTestCommon.cpp | 268 bool ValidConic(const SkDConic& conic) { 270 if (!ValidPoint(conic[index])) { 274 if (SkDoubleIsNaN(conic.fWeight)) {
|
PathTest.cpp | 189 // This test checks that r{Line,Quad,Conic,Cubic}To following a close() 869 REPORTER_ASSERT_MESSAGE(reporter, false, "unexpected conic verb"); [all...] |
/external/skia/src/pathops/ |
SkPathOpsConic.h | 65 bool hullIntersects(const SkDConic& conic, bool* isLinear) const { 66 return fPts.hullIntersects(conic.fPts, isLinear); 100 SkDConic conic; local 101 conic.set(a, weight); 102 return conic.subDivide(t1, t2); 111 SkDConic conic; local 112 conic.set(pts, weight); 113 return conic.subDivide(a, c, t1, t2, newWeight);
|
SkPathOpsTSect.cpp | 17 int SkIntersections::intersect(const SkDConic& conic, const SkDQuad& quad) { 18 SkTSect<SkDConic, SkDQuad> sect1(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); 38 int SkIntersections::intersect(const SkDCubic& cubic, const SkDConic& conic) { 40 SkTSect<SkDConic, SkDCubic> sect2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(2));
|
SkPathOpsCurve.h | 99 SkDConic conic; local 100 conic.set(a, weight); 101 return conic.ptAtT(t); 155 SkDConic conic; local 156 conic.set(a, weight); 157 return conic.dxdyAtT(t); 213 SkDConic conic; local 214 conic.set(a, weight); 215 SkDConic dst = conic.subDivide(startT, endT); 251 SkDConic conic; local 295 SkDConic conic; local 300 SkDConic conic; local [all...] |
SkIntersections.h | 58 SkDConic conic; local 59 conic.set(a, weight); 61 return horizontal(conic, left, right, y, flipped); 66 SkDConic conic; local 67 conic.set(a, weight); 69 return vertical(conic, top, bottom, x, flipped); 73 SkDConic conic; local 74 conic.set(a, weight); 78 return intersect(conic, line); 243 static int HorizontalIntercept(const SkDConic& conic, SkScalar y, double* roots) [all...] |
SkDConicLineIntersection.cpp | 170 // OPTIMIZE: Functions of the form add .. points are indentical to the conic routines. 195 // FIXME: see if line end is nearly on conic 221 // FIXME: see if line end is nearly on conic 247 // FIXME: see if line end is nearly on conic 304 // check if midway on conic is also same point. If so, discard this 326 int SkIntersections::horizontal(const SkDConic& conic, double left, double right, double y, 329 LineConicIntersections c(conic, line, this); 333 int SkIntersections::vertical(const SkDConic& conic, double top, double bottom, double x, 336 LineConicIntersections c(conic, line, this); 340 int SkIntersections::intersect(const SkDConic& conic, const SkDLine& line) [all...] |
SkPathOpsQuad.cpp | 51 bool SkDQuad::hullIntersects(const SkDConic& conic, bool* isLinear) const { 52 return conic.hullIntersects(*this, isLinear);
|
SkPathOpsCubic.cpp | 209 bool SkDCubic::hullIntersects(const SkDConic& conic, bool* isLinear) const { 211 return hullIntersects(conic.fPts, isLinear);
|
/external/skia/src/core/ |
SkGeometry.h | 229 * return the power-of-2 number of quads needed to approximate this conic 235 * Chop this conic into N quads, stored continguously in pts[], where 248 /** Find the parameter value where the conic takes on its maximum curvature. 305 SkConicCoeff(const SkConic& conic) { 306 Sk2s p0 = from_point(conic.fPts[0]); 307 Sk2s p1 = from_point(conic.fPts[1]); 308 Sk2s p2 = from_point(conic.fPts[2]); 309 Sk2s ww(conic.fW); 365 * Help class to allocate storage for approximating a conic with N quads. 372 * Given a conic and a tolerance, return the array of points for th 393 SkConic conic; local [all...] |
SkStroke.cpp | 433 void SkPathStroker::setConicEndNormal(const SkConic& conic, const SkVector& normalAB, 435 setQuadEndNormal(conic.fPts, normalAB, unitNormalAB, normalBC, unitNormalBC); 573 static bool conic_in_line(const SkConic& conic) { 574 return quad_in_line(conic.fPts); 608 SkPathStroker::ReductionType SkPathStroker::CheckConicLinear(const SkConic& conic, 610 bool degenerateAB = degenerate_vector(conic.fPts[1] - conic.fPts[0]); 611 bool degenerateBC = degenerate_vector(conic.fPts[2] - conic.fPts[1]); 618 if (!conic_in_line(conic)) { [all...] |
SkPathMeasure.cpp | 170 SkScalar SkPathMeasure::compute_conic_segs(const SkConic& conic, SkScalar distance, 174 SkPoint halfPt = conic.evalAt(tValue2Scalar(halft)); 176 distance = this->compute_conic_segs(conic, distance, mint, minPt, halft, halfPt, ptIndex); 177 distance = this->compute_conic_segs(conic, distance, halft, halfPt, maxt, maxPt, ptIndex); 284 const SkConic conic(pts, fIter.conicWeight()); 286 distance = this->compute_conic_segs(conic, distance, 0, conic.fPts[0], 287 kMaxTValue, conic.fPts[2], ptIndex); 289 // we store the conic weight in our next point, followed by the last 2 pts 290 // thus to reconstitue a conic, you'd need to sa [all...] |
SkPath.cpp | [all...] |
/external/skia/gm/ |
beziereffects.cpp | 383 // where to chop the conic. If the max curvature is not 385 // dst[0] is the original conic. If it returns 2 the dst[0] 396 SkConic conic; local 397 conic.set(src, weight); 398 conic.chopAt(t, dst); 404 // Calls split_conic on the entire conic and then once more on each subsection. 405 // Most cases will result in either 1 conic (chop point is not within t range)
|
/external/skia/tools/json/ |
SkJSONRenderer.cpp | 594 Json::Value conic = verb[SKJSONCANVAS_VERB_CONIC]; local 595 result->conicTo(conic[0][0].asFloat(), conic[0][1].asFloat(), 596 conic[1][0].asFloat(), conic[1][1].asFloat(), 597 conic[2].asFloat()); [all...] |
SkJSONCanvas.cpp | 116 Json::Value conic(Json::objectValue); 121 conic[SKJSONCANVAS_VERB_CONIC] = coords; 122 verbs.append(conic); [all...] |
/external/skia/bench/ |
PathBench.cpp | 814 ConicBench_Chop() : fName("conic-chop") { 842 fName.printf("conic-eval-pos%d", useV2); 867 fName.printf("conic-eval-tan%d", useV2); 890 static void rand_conic(SkConic* conic, SkRandom& rand) { 892 conic->fPts[i].set(rand.nextUScalar1() * 100, rand.nextUScalar1() * 100); 895 conic->fW = rand.nextUScalar1(); 897 conic->fW = 1 + rand.nextUScalar1() * 4; 930 return "conic-compute-error"; 952 return "conic-asQuadTol"; 973 return "conic-quadPow2" [all...] |
/external/skia/samplecode/ |
SampleQuadStroker.cpp | 148 fPts[4].set(350, 200); // conic 367 SkConic conic(pts, iter.conicWeight()); 368 pos = conic.evalAt(t); 369 tan = conic.evalTangentAt(t);
|
/external/skia/src/gpu/batches/ |
GrAAHairLinePathRenderer.cpp | 134 // where to chop the conic. If the max curvature is not 136 // dst[0] is the original conic. If it returns 2 the dst[0] 147 SkConic conic; local 148 conic.set(src, weight); 149 conic.chopAt(t, dst); 155 // Calls split_conic on the entire conic and then once more on each subsection. 156 // Most cases will result in either 1 conic (chop point is not within t range) 170 // returns 0 if quad/conic is degen or close to it [all...] |
/external/skia/tools/debugger/ |
SkDrawCommand.cpp | 104 #define SKDEBUGCANVAS_VERB_CONIC "conic" 546 Json::Value conic(Json::objectValue); 551 conic[SKDEBUGCANVAS_VERB_CONIC] = coords; 552 verbs.append(conic); 1511 Json::Value conic = verb[SKDEBUGCANVAS_VERB_CONIC]; local [all...] |