shape ops work in progress
more quadratics work

git-svn-id: http://skia.googlecode.com/svn/trunk@3643 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/Intersection/EdgeWalker_TestUtility.cpp b/experimental/Intersection/EdgeWalker_TestUtility.cpp
index 0b2fd06..0844458 100644
--- a/experimental/Intersection/EdgeWalker_TestUtility.cpp
+++ b/experimental/Intersection/EdgeWalker_TestUtility.cpp
@@ -3,6 +3,7 @@
 #include "SkBitmap.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
+#include <algorithm>
 
 static bool gShowPath = false;
 static bool gComparePaths = true;
@@ -124,7 +125,7 @@
     canvas.drawPath(one, paint);
     canvas.restore();
     canvas.save();
-    canvas.translate(-bounds2.fLeft + 1 + bitWidth, -bounds2.fTop + 1);
+    canvas.translate(-bounds1.fLeft + 1 + bitWidth, -bounds1.fTop + 1);
     canvas.drawPath(two, paint);
     canvas.restore();
     for (int y = 0; y < bitHeight; ++y) {
@@ -184,13 +185,19 @@
         }
     }
     if (!gDrawAllAsciiPaths) {
-        errors = scaledDrawTheSame(one, two, 9, 7, false, bitmap, canvas);
-        if (errors > 4) {
-            scaledDrawTheSame(one, two, 9, 7, true, bitmap, canvas);
+        const SkRect& bounds1 = one.getBounds();
+        const SkRect& bounds2 = two.getBounds();
+        SkRect larger = bounds1;
+        larger.join(bounds2);
+        SkScalar xScale = std::max(80.0f / larger.width(), 1.0f);
+        SkScalar yScale = std::max(60.0f / larger.height(), 1.0f);
+        errors = scaledDrawTheSame(one, two, xScale, yScale, false, bitmap, canvas);
+        if (errors > 8) {
+            scaledDrawTheSame(one, two, xScale, yScale, true, bitmap, canvas);
         }
     }
     if (errors > 0) SkDebugf("\n%s errors=%d\n", __FUNCTION__, errors); 
-    if (errors > 4 && gComparePathsAssert) {
+    if (errors > 31 && gComparePathsAssert) {
         showPath(one);
         showPath(two, "simplified:");
         SkASSERT(0);