/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkIntersections.h" #include "SkPathOpsConic.h" #include "SkPathOpsLine.h" class LineConicIntersections { public: LineConicIntersections(const SkDConic& c, const SkDLine& l, SkIntersections* i) : fConic(c) , fLine(l) , fIntersections(i) , fAllowNear(true) { i->setMax(3); // allow short partial coincidence plus discrete intersection } void allowNear(bool allow) { fAllowNear = allow; } int intersectRay(double roots[2]) { return 0; } }; int SkIntersections::intersectRay(const SkDConic& conic, const SkDLine& line) { LineConicIntersections c(conic, line, this); fUsed = c.intersectRay(fT[0]); for (int index = 0; index < fUsed; ++index) { fPt[index] = conic.ptAtT(fT[0][index]); } return fUsed; }