shape ops work in progress
milestone: about 1.6M tests pass

git-svn-id: http://skia.googlecode.com/svn/trunk@5035 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/Intersection/EdgeWalker_Test.h b/experimental/Intersection/EdgeWalker_Test.h
index 492ba70..229a94d 100644
--- a/experimental/Intersection/EdgeWalker_Test.h
+++ b/experimental/Intersection/EdgeWalker_Test.h
@@ -5,6 +5,7 @@
 #include <pthread.h>
 
 class SkCanvas;
+struct State4;
 
 //extern int comparePaths(const SkPath& one, const SkPath& two);
 extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap,
@@ -16,7 +17,7 @@
 extern bool testSimplify(const SkPath& path, bool fill, SkPath& out,
         SkBitmap& bitmap, SkCanvas* canvas = 0);
 extern bool testSimplifyx(const SkPath& path, SkPath& out,
-        SkBitmap& bitmap, SkCanvas* canvas = 0);
+        State4& state, const char* pathStr);
 extern bool testSimplifyx(const SkPath& path);
 
 struct State4 {
@@ -25,7 +26,6 @@
     static pthread_cond_t checkQueue;
     pthread_cond_t initialized;
     static State4* queue;
-    State4* next;
     pthread_t threadID;
     int index;
     bool done;
@@ -33,14 +33,18 @@
     int a;
     int b;
     int c;
-    int d;
+    int d; // sometimes 1 if abc_is_a_triangle
     int testsRun;
     char filename[256];
     
     SkCanvas* canvas;
     SkBitmap bitmap;
-    bool abcIsATriangle;
 };
 
 void createThread(State4* statePtr, void* (*test)(void* ));
-void waitForCompletion(State4 threadState[], int& threadIndex);
+int dispatchTest4(void* (*testFun)(void* ), int a, int b, int c, int d);
+void initializeTests(const char* testName, size_t testNameSize);
+void outputProgress(const State4& state, const char* pathStr);
+void outputToStream(const State4& state, const char* pathStr, SkWStream& outFile);
+bool runNextTestSet(State4& state);
+int waitForCompletion();