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);