Altered arcTo's canonical points to (usually) be convex
https://codereview.appspot.com/6709051/
This will require rebaselining of: degeneratesegments, shadertext & shadertext2
git-svn-id: http://skia.googlecode.com/svn/trunk@5997 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/PathBench.cpp b/bench/PathBench.cpp
index 4a69d5a..3b3c52d 100644
--- a/bench/PathBench.cpp
+++ b/bench/PathBench.cpp
@@ -672,6 +672,8 @@
};
// Chrome creates its own round rects with each corner possibly being different
+// Note: PathTest::test_arb_round_rect_is_convex performs almost exactly
+// the same test (but with no drawing)
class ArbRoundRectBench : public SkBenchmark {
protected:
SkString fName;
@@ -727,8 +729,7 @@
add_corner_arc(path, r, xCorner, yCorner, 90);
add_corner_arc(path, r, xCorner, yCorner, 180);
- // TODO: re-enable once arcTo convexity issue is resolved
- //SkASSERT(path->isConvex());
+ SkASSERT(path->isConvex());
}
virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
@@ -741,6 +742,9 @@
paint.setAntiAlias(true);
SkScalar radius = rand.nextUScalar1() * 30;
+ if (radius < SK_Scalar1) {
+ continue;
+ }
r.fLeft = rand.nextUScalar1() * 300;
r.fTop = rand.nextUScalar1() * 300;
r.fRight = r.fLeft + 2 * radius;