shape ops work in progress

git-svn-id: http://skia.googlecode.com/svn/trunk@8137 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/Intersection/op.htm b/experimental/Intersection/op.htm
index 17ae20a..9059e1f 100644
--- a/experimental/Intersection/op.htm
+++ b/experimental/Intersection/op.htm
@@ -3776,11 +3776,311 @@
     pathB.close();
 </div>
 
+<div id="cubicOp37d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(2,6, 6,1, 4,3);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,6);
+    pathB.cubicTo(3,4, 1,0, 6,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp38d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(0,6, 3,2, 4,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,3);
+    pathB.cubicTo(1,4, 1,0, 6,0);
+    pathB.close();
+</div>
+
+<div id="cubicOp39d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(2,3, 5,1, 4,3);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,5);
+    pathB.cubicTo(3,4, 1,0, 3,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp40d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,5, 3,2, 4,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,3);
+    pathB.cubicTo(2,4, 1,0, 5,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp41i">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(2,6, 4,3, 6,4);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(3,4);
+    pathB.cubicTo(4,6, 1,0, 6,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp42d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,2, 6,5, 5,4);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(5,6);
+    pathB.cubicTo(4,5, 1,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp43d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(1,2, 4,0, 3,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,4);
+    pathB.cubicTo(1,3, 2,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp44d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(3,6, 4,0, 3,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,4);
+    pathB.cubicTo(2,3, 2,0, 6,3);
+    pathB.close();
+</div>
+
+<div id="cubicOp45d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(2,4, 4,0, 3,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,4);
+    pathB.cubicTo(2,3, 2,0, 4,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp46d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(3,5, 5,0, 4,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,5);
+    pathB.cubicTo(2,4, 2,0, 5,3);
+    pathB.close();
+</div>
+
+<div id="cubicOp47d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(1,6, 6,2, 5,4);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,6);
+    pathB.cubicTo(4,5, 1,0, 6,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp48d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(2,3, 5,1, 3,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,5);
+    pathB.cubicTo(2,3, 2,0, 3,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp49d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(1,5, 3,2, 4,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,3);
+    pathB.cubicTo(1,4, 2,0, 5,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp50d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,3);
+    path.cubicTo(1,6, 5,0, 5,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,5);
+    pathB.cubicTo(1,5, 3,0, 6,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp51d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,3);
+    path.cubicTo(1,2, 4,1, 6,0);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(1,4);
+    pathB.cubicTo(0,6, 3,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp52d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(1,2, 5,4, 4,3);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(4,5);
+    pathB.cubicTo(3,4, 2,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp53d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,3);
+    path.cubicTo(1,2, 5,3, 2,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(3,5);
+    pathB.cubicTo(1,2, 3,0, 2,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp54d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,4);
+    path.cubicTo(1,3, 5,4, 4,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(4,5);
+    pathB.cubicTo(2,4, 4,0, 3,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp55d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,5);
+    path.cubicTo(1,3, 3,2, 5,0);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,3);
+    pathB.cubicTo(0,5, 5,0, 3,1);
+    pathB.close();
+</div>
+
+<div id="cubicOp56d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(2,6, 5,0, 2,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,5);
+    pathB.cubicTo(1,2, 1,0, 6,2);
+    pathB.close();
+</div>
+
+<div id="cubicOp57d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,5);
+    path.cubicTo(0,5, 5,4, 6,4);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(4,5);
+    pathB.cubicTo(4,6, 5,0, 5,0);
+    pathB.close();
+</div>
+
+<div id="cubicOp58d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,5);
+    path.cubicTo(3,4, 6,5, 5,3);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(5,6);
+    pathB.cubicTo(3,5, 5,0, 4,3);
+    pathB.close();
+</div>
+
+<div id="cubicOp59d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,1);
+    path.cubicTo(5,6, 4,0, 4,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,4);
+    pathB.cubicTo(1,4, 1,0, 6,5);
+    pathB.close();
+</div>
+
+<div id="cubicOp60d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(0,2);
+    path.cubicTo(4,6, 6,0, 5,2);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(0,6);
+    pathB.cubicTo(2,5, 2,0, 6,4);
+    pathB.close();
+</div>
+
+<div id="cubicOp61d">
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(1,2);
+    path.cubicTo(0,5, 3,2, 6,1);
+    path.close();
+    pathB.setFillType(SkPath::kWinding_FillType);
+    pathB.moveTo(2,3);
+    pathB.cubicTo(1,6, 2,1, 5,0);
+    pathB.close();
+</div>
+
 </div>
 
 <script type="text/javascript">
 
 var testDivs = [
+    cubicOp61d,
+    cubicOp60d,
+    cubicOp59d,
+    cubicOp58d,
+    cubicOp57d,
+    cubicOp56d,
+    cubicOp55d,
+    cubicOp54d,
+    cubicOp53d,
+    cubicOp52d,
+    cubicOp51d,
+    cubicOp50d,
+    cubicOp49d,
+    cubicOp48d,
+    cubicOp47d,
+    cubicOp46d,
+    cubicOp45d,
+    cubicOp44d,
+    cubicOp43d,
+    cubicOp42d,
+    cubicOp41i,
+    cubicOp40d,
+    cubicOp39d,
+    cubicOp38d,
+    cubicOp37d,
     cubicOp36u,
     cubicOp35d,
     cubicOp34d,