22 for (
int index = 1; index <=
count; ++index) {
31 for (
int index = 1; index <=
count; ++index) {
42 double minDist = FLT_MAX;
43 for (
int index = 0; index <
i.used(); ++index) {
63 dCurve.
set(curve, curveWeight);
127 if (s1x3 * s3x2 >= 0) {
133 SkASSERT(s1x3 * s2x1 < 0 || s1x3 * s3x2 < 0);
134 if (s3x2 * s2x1 < 0) {
static void(*const CurveDIntersectRay[])(const SkDCurve &, const SkDLine &, SkIntersections *)
bool AlmostEqualUlps_Pin(float a, float b)
bool AlmostBetweenUlps(float a, float b, float c)
bool roughly_zero_when_compared_to(double x, double y)
int SkPathOpsVerbToPoints(SkPath::Verb verb)
#define SkDoubleToScalar(x)
void setCurveHullSweep(SkPath::Verb verb)
static float max(float r, float g, float b)
static float min(float r, float g, float b)
Optional< SkRect > bounds
const SkDConic & set(const SkPoint pts[kPointCount], SkScalar weight SkDEBUGPARAMS(SkOpGlobalState *state=nullptr))
const SkDCubic & set(const SkPoint pts[kPointCount] SkDEBUGPARAMS(SkOpGlobalState *state=nullptr))
SkDPoint fPts[kPointCount]
void setCubicBounds(const SkPoint curve[4], SkScalar, double s, double e, SkPathOpsBounds *)
void setConicBounds(const SkPoint curve[3], SkScalar curveWeight, double s, double e, SkPathOpsBounds *)
double nearPoint(SkPath::Verb verb, const SkDPoint &xy, const SkDPoint &opp) const
void setQuadBounds(const SkPoint curve[3], SkScalar, double s, double e, SkPathOpsBounds *)
double distance(const SkDPoint &a) const
const SkDQuad & set(const SkPoint pts[kPointCount] SkDEBUGPARAMS(SkOpGlobalState *state=nullptr))
void setBounds(const SkDConic &curve)
double crossCheck(const SkDVector &a) const