fJoin = j;
fProc = proc;
fName.printf("draw_stroke_%s_%s", proc(NULL, 0), gJoinName[j]);
-
+
SkRect r = { 20, 20, 40, 40 };
SkScalar rad = 4;
fRec.fRRect.setRectXY(r, rad, rad);
}
Intersections xlocals;
intersectWithOrder(s1a, o1a, s2a, o2a, xlocals);
- }
+ }
#endif
intersectWithOrder(s1a, o1a, s2a, o2a, locals);
for (int tIdx = 0; tIdx < locals.used(); ++tIdx) {
#if 0 && SK_DEBUG
SkDebugf("to1=%1.9g p1=(%1.9g,%1.9g) to2=%1.9g p2=(%1.9g,%1.9g) d=%1.9g\n",
to1, p1.x, p1.y, to2, p2.x, p2.y, p1.distance(p2));
-
+
#endif
if (p1.approximatelyEqual(p2)) {
i.insert(i.swapped() ? to2 : to1, i.swapped() ? to1 : to2);
int o2 = quadPart(cubic2, t2Start, t2, s2);
Intersections locals;
intersectWithOrder(s1, o1, s2, o2, locals);
-
+
for (int tIdx = 0; tIdx < locals.used(); ++tIdx) {
double to1 = t1Start + (t1 - t1Start) * locals.fT[0][tIdx];
double to2 = t2Start + (t2 - t2Start) * locals.fT[1][tIdx];
void CubicIntersection_CoincidentTest() {
Cubic cubic1 = {{0, 1}, {0, 2}, {1, 0}, {1, 0}};
Cubic cubic2 = {{0, 1}, {0, 2}, {1, 0}, {6, 1}};
-
+
}
#endif
return AlmostEqualUlps((float) x, (float) a.x)
&& AlmostEqualUlps((float) y, (float) a.y);
}
-
+
bool approximatelyZero() const {
return approximately_zero(x) && approximately_zero(y);
}