new scanconversion technique

This technique geometrically clips all segments against the clip bounds,
ensuring that we never send a value to the edgelist that might overflow in
fixedpoint.

Current disabled in SkScan_Path.cpp by a #define. There are a few minor pixel
differences between this and the old technique, as found by the gm tool, so
at the moment this new code is off by default.



git-svn-id: http://skia.googlecode.com/svn/trunk@432 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleLineClipper.cpp b/samplecode/SampleLineClipper.cpp
index 8ebe951..bb3e340 100644
--- a/samplecode/SampleLineClipper.cpp
+++ b/samplecode/SampleLineClipper.cpp
@@ -15,7 +15,7 @@
 #include "SkRandom.h"
 
 #include "SkLineClipper.h"
-#include "SkQuadClipper.h"
+#include "SkEdgeClipper.h"
 
 static void drawQuad(SkCanvas* canvas, const SkPoint pts[3], const SkPaint& p) {
     SkPath path;
@@ -63,7 +63,7 @@
                          SkCanvas* canvas, const SkPaint& p0, const SkPaint& p1) {
     drawQuad(canvas, src, p1);
     
-    SkQuadClipper2 clipper;
+    SkEdgeClipper clipper;
     if (clipper.clipQuad(src, clip)) {
         SkPoint pts[3];
         SkPath::Verb verb;
@@ -88,7 +88,7 @@
                        SkCanvas* canvas, const SkPaint& p0, const SkPaint& p1) {
     drawCubic(canvas, src, p1);
     
-    SkQuadClipper2 clipper;
+    SkEdgeClipper clipper;
     if (clipper.clipCubic(src, clip)) {
         SkPoint pts[4];
         SkPath::Verb verb;