remove some dead code in pipes
inherit from SampleView for more samples
add L key to toggle using SkGPipe



git-svn-id: http://skia.googlecode.com/svn/trunk@1296 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pipe/SkGPipeRead.cpp b/src/pipe/SkGPipeRead.cpp
index d33258c..ee20d80 100644
--- a/src/pipe/SkGPipeRead.cpp
+++ b/src/pipe/SkGPipeRead.cpp
@@ -37,6 +37,9 @@
         case kColorFilter_PaintFlat:
             paint->setColorFilter((SkColorFilter*)obj);
             break;
+        case kDrawLooper_PaintFlat:
+            paint->setLooper((SkDrawLooper*)obj);
+            break;
         case kMaskFilter_PaintFlat:
             paint->setMaskFilter((SkMaskFilter*)obj);
             break;
@@ -94,53 +97,10 @@
         const void* data = fReader->skip(SkAlign4(size));
         SkMemoryStream stream(data, size, false);
         *fTypefaces.append() = SkTypeface::Deserialize(&stream);
-    }
-    void addColorFilter() {
-        *fColorFilters.append() = (SkColorFilter*)fReader->readFlattenable();
-    }
-    void addDrawLooper() {
-        *fDrawLoopers.append() = (SkDrawLooper*)fReader->readFlattenable();
-    }
-    void addMaskFilter() {
-        *fMaskFilters.append() = (SkMaskFilter*)fReader->readFlattenable();
-    }
-    void addPathEffect() {
-        *fPathEffects.append() = (SkPathEffect*)fReader->readFlattenable();
-    }
-    void addRasterizer() {
-        *fRasterizers.append() = (SkRasterizer*)fReader->readFlattenable();
-    }
-    void addShader() {
-        *fShaders.append() = (SkShader*)fReader->readFlattenable();
-    }
-    void addXfermode() {
-        *fXfermodes.append() = (SkXfermode*)fReader->readFlattenable();
-    }
-    
-    void setColorFilter(SkPaint* paint, unsigned id) {
-        paint->setColorFilter(id ? fColorFilters[id - 1] : NULL);
-    }
-    void setLooper(SkPaint* paint, unsigned id) {
-        paint->setLooper(id ? fDrawLoopers[id - 1] : NULL);
-    }
-    void setMaskFilter(SkPaint* paint, unsigned id) {
-        paint->setMaskFilter(id ? fMaskFilters[id - 1] : NULL);
-    }
-    void setPathEffect(SkPaint* paint, unsigned id) {
-        paint->setPathEffect(id ? fPathEffects[id - 1] : NULL);
-    }
-    void setRasterizer(SkPaint* paint, unsigned id) {
-        paint->setRasterizer(id ? fRasterizers[id - 1] : NULL);
-    }
-    void setShader(SkPaint* paint, unsigned id) {
-        paint->setShader(id ? fShaders[id - 1] : NULL);
-    }
+    }    
     void setTypeface(SkPaint* paint, unsigned id) {
         paint->setTypeface(id ? fTypefaces[id - 1] : NULL);
     }
-    void setXfermode(SkPaint* paint, unsigned id) {
-        paint->setXfermode(id ? fXfermodes[id - 1] : NULL);
-    }
     
     SkFlattenableReadBuffer* fReader;
     SkTDArray<SkFlattenable*> fFlatArray;
@@ -489,13 +449,6 @@
             }
 
             case kTypeface_PaintOp: state->setTypeface(p, data); break;
-            case kPathEffect_PaintOp: state->setPathEffect(p, data); break;
-            case kShader_PaintOp: state->setShader(p, data); break;
-            case kXfermode_PaintOp: state->setXfermode(p, data); break;
-            case kMaskFilter_PaintOp: state->setMaskFilter(p, data); break;
-            case kColorFilter_PaintOp: state->setColorFilter(p, data); break;
-            case kRasterizer_PaintOp: state->setRasterizer(p, data); break;
-            case kDrawLooper_PaintOp: state->setLooper(p, data); break;
             default: SkASSERT(!"bad paintop"); return;
         }
         SkASSERT(reader->offset() <= stop);
@@ -505,6 +458,10 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
+static void def_Typeface_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
+    state->addTypeface();
+}
+
 static void def_PaintFlat_rp(SkCanvas*, SkReader32*, uint32_t op32,
                              SkGPipeState* state) {
     PaintFlats pf = (PaintFlats)DrawOp_unpackFlags(op32);
@@ -512,38 +469,6 @@
     state->defFlattenable(pf, index);
 }
 
-static void def_ColorFilter_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addColorFilter();
-}
-
-static void def_DrawLooper_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addDrawLooper();
-}
-
-static void def_MaskFilter_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addMaskFilter();
-}
-
-static void def_PathEffect_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addPathEffect();
-}
-
-static void def_Rasterizer_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addRasterizer();
-}
-
-static void def_Shader_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addShader();
-}
-
-static void def_Typeface_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addTypeface();
-}
-
-static void def_Xfermode_rp(SkCanvas*, SkReader32*, uint32_t, SkGPipeState* state) {
-    state->addXfermode();
-}
-
 ///////////////////////////////////////////////////////////////////////////////
 
 static void skip_rp(SkCanvas*, SkReader32* reader, uint32_t op32, SkGPipeState*) {
@@ -586,16 +511,11 @@
     setMatrix_rp,
     skew_rp,
     translate_rp,
+
     paintOp_rp,
-    def_PaintFlat_rp,
-    def_ColorFilter_rp,
-    def_DrawLooper_rp,
-    def_MaskFilter_rp,
-    def_PathEffect_rp,
-    def_Rasterizer_rp,
-    def_Shader_rp,
     def_Typeface_rp,
-    def_Xfermode_rp,
+    def_PaintFlat_rp,
+
     done_rp
 };
 
@@ -635,6 +555,8 @@
         fState = new SkGPipeState;
     }
 
+    SkASSERT(SK_ARRAY_COUNT(gReadTable) == (kDone_DrawOp + 1));
+
     const ReadProc* table = gReadTable;
     SkFlattenableReadBuffer reader(data, length);
     SkCanvas* canvas = fCanvas;