shape ops work in progress

Complete rewrite of binary logic makes the result
work and much easier to understand.

git-svn-id: http://skia.googlecode.com/svn/trunk@6597 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/Intersection/ShapeOpRect4x4_Test.cpp b/experimental/Intersection/ShapeOpRect4x4_Test.cpp
index 6eeb441..d228a33 100644
--- a/experimental/Intersection/ShapeOpRect4x4_Test.cpp
+++ b/experimental/Intersection/ShapeOpRect4x4_Test.cpp
@@ -33,21 +33,21 @@
             char* str = pathStr;
             pathA.setFillType((SkPath::FillType) e);
             str += sprintf(str, "    path.setFillType((SkPath::FillType) %d);\n", e);
-            pathA.addRect(state.a, state.a, state.b, state.b, (SkPath::Direction) 0);
+            pathA.addRect(state.a, state.a, state.b, state.b, SkPath::kCW_Direction);
             str += sprintf(str, "    path.addRect(%d, %d, %d, %d,"
-                    " (SkPath::Direction) %d);\n", state.a, state.a, state.b, state.b, 0);
-            pathA.addRect(state.c, state.c, state.d, state.d, (SkPath::Direction) 0);
+                    " SkPath::kCW_Direction);\n", state.a, state.a, state.b, state.b);
+            pathA.addRect(state.c, state.c, state.d, state.d, SkPath::kCW_Direction);
             str += sprintf(str, "    path.addRect(%d, %d, %d, %d,"
-                    " (SkPath::Direction) %d);\n", state.c, state.c, state.d, state.d, 0);
+                    " SkPath::kCW_Direction);\n", state.c, state.c, state.d, state.d);
             pathA.close();
             pathB.setFillType((SkPath::FillType) f);
             str += sprintf(str, "    pathB.setFillType((SkPath::FillType) %d);\n", f);
-            pathB.addRect(a, a, b, b, (SkPath::Direction) 0);
+            pathB.addRect(a, a, b, b, SkPath::kCW_Direction);
             str += sprintf(str, "    pathB.addRect(%d, %d, %d, %d,"
-                    " (SkPath::Direction) %d);\n", a, a, b, b, 0);
-            pathB.addRect(c, c, d, d, (SkPath::Direction) 0);
+                    " SkPath::kCW_Direction);\n", a, a, b, b);
+            pathB.addRect(c, c, d, d, SkPath::kCW_Direction);
             str += sprintf(str, "    pathB.addRect(%d, %d, %d, %d,"
-                    " (SkPath::Direction) %d);\n", c, c, d, d, 0);
+                    " SkPath::kCW_Direction);\n", c, c, d, d);
             pathB.close();
             outputProgress(state, pathStr, kDifference_Op);
             testShapeOp(pathA, pathB, kDifference_Op);