static void addTs(const SkDCubic& cubic, double precision, double start, double end, SkTDArray<double>* ts) { double tDiv = calc_t_div(cubic, precision, 0); double parts = ceil(1.0 / tDiv); for (double index = 0; index < parts; ++index) { double newT = start + (index / parts) * (end - start); if (newT > 0 && newT < 1) { *ts->append() = newT; } } }
static bool add_simple_ts(const SkDCubic& cubic, double precision, SkTDArray<double>* ts) { double tDiv = calc_t_div(cubic, precision, 0); if (tDiv >= 1) { return true; } if (tDiv >= 0.5) { *ts->append() = 0.5; return true; } return false; }
static bool add_simple_ts(const SkDCubic& cubic, double precision, SkTArray<double, true>* ts) { double tDiv = calc_t_div(cubic, precision, 0); if (tDiv >= 1) { return true; } if (tDiv >= 0.5) { ts->push_back(0.5); return true; } return false; }