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/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 7ab6609..bbde414 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -284,6 +284,7 @@
     bool fRotate;
     bool fScale;
     bool fRequestGrabImage;
+    bool fUsePipe;
     bool fMeasureFPS;
     SkMSec fMeasureFPS_Time;
 
@@ -423,6 +424,7 @@
     fRotate = false;
     fScale = false;
     fRequestGrabImage = false;
+    fUsePipe = false;
     fMeasureFPS = false;
     fLCDState = kUnknown_SkTriState;
     fAAState = kUnknown_SkTriState;
@@ -861,6 +863,7 @@
     } else {
         (void)SampleView::SetRepeatDraw(child, 1);
     }
+    (void)SampleView::SetUsePipe(child, fUsePipe);
 }
 
 void SampleWindow::afterChild(SkView* child, SkCanvas* canvas) {
@@ -1034,6 +1037,10 @@
         case 'o':
             this->zoomOut();
             break;
+        case 'p':
+            fUsePipe = !fUsePipe;
+            this->inval(NULL);
+            break;
         case 'r':
             fRotate = !fRotate;
             this->inval(NULL);
@@ -1315,6 +1322,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 static const char repeat_count_tag[] = "sample-set-repeat-count";
+static const char set_use_pipe_tag[] = "sample-set-use-pipe";
 
 bool SampleView::SetRepeatDraw(SkView* view, int count) {
     SkEvent evt(repeat_count_tag);
@@ -1322,11 +1330,21 @@
     return view->doEvent(evt);
 }
 
+bool SampleView::SetUsePipe(SkView* view, bool pred) {
+    SkEvent evt(set_use_pipe_tag);
+    evt.setFast32(pred);
+    return view->doEvent(evt);
+}
+
 bool SampleView::onEvent(const SkEvent& evt) {
     if (evt.isType(repeat_count_tag)) {
         fRepeatCount = evt.getFast32();
         return true;
     }
+    if (evt.isType(set_use_pipe_tag)) {
+        fUsePipe = !!evt.getFast32();
+        return true;
+    }
     return this->INHERITED::onEvent(evt);
 }
 
@@ -1370,8 +1388,10 @@
 //    SkASSERT(SkGPipeReader::kDone_Status == fStatus);
     sk_free(fBlock);
 
-    SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten,
-             fAtomsWritten, fStatus);
+    if (fTotalWritten) {
+        SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten,
+                 fAtomsWritten, fStatus);
+    }
 }
 
 void* SimplePC::requestBlock(size_t minRequest, size_t* actual) {
@@ -1404,7 +1424,9 @@
 #ifdef TEST_GPIPE
     SimplePC controller(canvas);
     SkGPipeWriter writer;
-    canvas = writer.startRecording(&controller);
+    if (fUsePipe) {
+        canvas = writer.startRecording(&controller);
+    }
 #endif
 
     for (int i = 0; i < fRepeatCount; i++) {
diff --git a/samplecode/SampleBigGradient.cpp b/samplecode/SampleBigGradient.cpp
index 5d6d247..5ebb516 100644
--- a/samplecode/SampleBigGradient.cpp
+++ b/samplecode/SampleBigGradient.cpp
@@ -10,7 +10,7 @@
                                           SkShader::kClamp_TileMode);
 }
 
-class BigGradientView : public SkView {
+class BigGradientView : public SampleView {
 public:
 	BigGradientView() {}
 
@@ -24,10 +24,7 @@
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-    }
-
-    virtual void onDraw(SkCanvas* canvas) {
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkRect r;
         r.set(0, 0, this->width(), this->height());
         SkPaint p;
@@ -36,7 +33,7 @@
     }
 
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleCode.h b/samplecode/SampleCode.h
index 0c706ee..de40d1e 100644
--- a/samplecode/SampleCode.h
+++ b/samplecode/SampleCode.h
@@ -49,11 +49,14 @@
 
 class SampleView : public SkView {
 public:
-    SampleView() : fRepeatCount(1), fBGColor(SK_ColorWHITE) {}
+    SampleView() : fRepeatCount(1), fBGColor(SK_ColorWHITE) {
+        fUsePipe = false;
+    }
 
     void setBGColor(SkColor color) { fBGColor = color; }
 
     static bool SetRepeatDraw(SkView*, int count);
+    static bool SetUsePipe(SkView*, bool);
 
 protected:
     virtual void onDrawBackground(SkCanvas*);
@@ -68,6 +71,8 @@
     int fRepeatCount;
     SkColor fBGColor;
 
+    bool fUsePipe;
+
     typedef SkView INHERITED;
 };
 
diff --git a/samplecode/SampleComplexClip.cpp b/samplecode/SampleComplexClip.cpp
index 29bc805..8ee078b 100644
--- a/samplecode/SampleComplexClip.cpp
+++ b/samplecode/SampleComplexClip.cpp
@@ -136,10 +136,6 @@
         canvas->restore();
     }
 
-    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
-        this->inval(NULL);
-        return this->INHERITED::onFindClickHandler(x, y);
-    }
 private:
     typedef SampleView INHERITED;
 };
diff --git a/samplecode/SampleDitherBitmap.cpp b/samplecode/SampleDitherBitmap.cpp
index 1000fdf..91199c2 100644
--- a/samplecode/SampleDitherBitmap.cpp
+++ b/samplecode/SampleDitherBitmap.cpp
@@ -70,7 +70,7 @@
     return bm;
 }
 
-class DitherBitmapView : public SkView {
+class DitherBitmapView : public SampleView {
     SkBitmap    fBM8;
     SkBitmap    fBM32;
 public:
@@ -78,6 +78,8 @@
         test_pathregion();
         fBM8 = make_bitmap();
         fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config);
+        
+        this->setBGColor(0xFFDDDDDD);
     }
     
 protected:
@@ -90,10 +92,6 @@
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-    
     static void setBitmapOpaque(SkBitmap* bm, bool isOpaque) {
         SkAutoLockPixels alp(*bm);  // needed for ctable
         bm->setIsOpaque(isOpaque);
@@ -121,9 +119,7 @@
         canvas->drawBitmap(bitmap, x, SkIntToScalar(bm.height() + 10), &paint);
     }
     
-    virtual void onDraw(SkCanvas* canvas) {
-        drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
 
         draw2(canvas, fBM8);
@@ -135,7 +131,7 @@
     }
     
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleEncode.cpp b/samplecode/SampleEncode.cpp
index b09b2eb..f4ea195 100644
--- a/samplecode/SampleEncode.cpp
+++ b/samplecode/SampleEncode.cpp
@@ -106,7 +106,7 @@
 
 #include <sys/stat.h>
 
-class EncodeView : public SkView {
+class EncodeView : public SampleView {
 public:
     SkBitmap*   fBitmaps;
     size_t      fBitmapCount;
@@ -140,6 +140,7 @@
         fBitmaps = NULL;
         fBitmapCount = 0;
     #endif
+        this->setBGColor(0xFFDDDDDD);
     }
     
     virtual ~EncodeView() {
@@ -156,38 +157,12 @@
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-//        canvas->drawColor(SK_ColorWHITE);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         if (fBitmapCount == 0) {
             return;
         }
         
         SkPaint paint;
-        if (false) {
-//            SkColor colors[] = { 0xFE000000, SK_ColorWHITE };
-            SkColor colors[] = { SK_ColorRED, SK_ColorBLUE };
-            SkShader* shader = SkGradientShader::CreateSweep(SkIntToScalar(50), SkIntToScalar(50),
-                                                             colors, NULL, 2);
-            paint.setShader(shader)->unref();
-
-            SkRect r;
-            r.set(0, 0, SkIntToScalar(100), SkIntToScalar(100));
-            canvas->drawRect(r, paint);
-            
-            canvas->translate(SkIntToScalar(200), SkIntToScalar(200));
-            paint.setAntiAlias(true);
-            paint.setStyle(SkPaint::kStroke_Style);
-            paint.setStrokeWidth(SkIntToScalar(10));
-            canvas->drawOval(r, paint);
-            return;
-        }
-        
         paint.setAntiAlias(true);
         paint.setTextAlign(SkPaint::kCenter_Align);
         
@@ -238,12 +213,8 @@
         return this->INHERITED::onFindClickHandler(x, y);
     }
     
-    virtual bool onClick(Click* click) {
-        return this->INHERITED::onClick(click);
-    }
-    
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleExtractAlpha.cpp b/samplecode/SampleExtractAlpha.cpp
index 928f2ca..860272d 100644
--- a/samplecode/SampleExtractAlpha.cpp
+++ b/samplecode/SampleExtractAlpha.cpp
@@ -40,7 +40,7 @@
     return bm;
 }
 
-class ExtractAlphaView : public SkView {
+class ExtractAlphaView : public SampleView {
     SkBitmap    fBM8;
     SkBitmap    fBM32;
     SkBitmap    fBM4;
@@ -49,6 +49,8 @@
         fBM8 = make_bitmap();
         fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config);
         fBM8.copyTo(&fBM4, SkBitmap::kARGB_4444_Config);
+        
+        this->setBGColor(0xFFDDDDDD);
     }
     
 protected:
@@ -61,13 +63,7 @@
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStyle(SkPaint::kStroke_Style);
@@ -84,7 +80,7 @@
     }
     
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleGM.cpp b/samplecode/SampleGM.cpp
index 5c9ea76..2f9f046 100644
--- a/samplecode/SampleGM.cpp
+++ b/samplecode/SampleGM.cpp
@@ -44,13 +44,15 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-class GMView : public SkView {
+class GMView : public SampleView {
     Iter fIter;
     GM*  fGM;
 public:
 	GMView() {
         fGM = fIter.next();
         this->postNextGM();
+        
+        this->setBGColor(0xFFDDDDDD);
     }
     
 protected:
@@ -77,11 +79,7 @@
         return this->INHERITED::onEvent(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
+    virtual void onDrawContent(SkCanvas* canvas) {
         fGM->draw(canvas);
     }
     
@@ -90,7 +88,7 @@
         (new SkEvent("next-gm"))->post(this->getSinkID(), 1500);
     }
 
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SamplePath.cpp b/samplecode/SamplePath.cpp
index 187de22..4fef377 100644
--- a/samplecode/SamplePath.cpp
+++ b/samplecode/SamplePath.cpp
@@ -74,7 +74,7 @@
     canvas.drawPath(path, paint);
 }
 
-class PathView : public SkView {
+class PathView : public SampleView {
 public:
     int fDStroke, fStroke, fMinStroke, fMaxStroke;
     SkPath fPath[6];
@@ -116,14 +116,11 @@
         fPath[5].moveTo(SkIntToScalar(52), SkIntToScalar(50));
         fPath[5].lineTo(SkIntToScalar(50), SkIntToScalar(V));
         fPath[5].lineTo(SkIntToScalar(50), SkIntToScalar(50));
+        
+        this->setBGColor(0xFFDDDDDD);
     }
     
-    virtual ~PathView()
-    {
-    }
-    
-    void nextStroke()
-    {
+    void nextStroke() {
         fStroke += fDStroke;
         if (fStroke > fMaxStroke || fStroke < fMinStroke)
             fDStroke = -fDStroke;
@@ -131,24 +128,15 @@
     
 protected:
     // overrides from SkEventSink
-    virtual bool onQuery(SkEvent* evt)
-    {
-        if (SampleCode::TitleQ(*evt))
-        {
+    virtual bool onQuery(SkEvent* evt) {
+        if (SampleCode::TitleQ(*evt)) {
             SampleCode::TitleR(evt, "Paths");
             return true;
         }
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas)
-    {
-        canvas->drawColor(0xFFDDDDDD);
-//        canvas->drawColor(SK_ColorWHITE);
-    }
-    
-    void drawPath(SkCanvas* canvas, const SkPath& path, SkPaint::Join j)
-    {
+    void drawPath(SkCanvas* canvas, const SkPath& path, SkPaint::Join j) {
         SkPaint paint;
         
         paint.setAntiAlias(true);
@@ -156,26 +144,22 @@
         paint.setStrokeJoin(j);
         paint.setStrokeWidth(SkIntToScalar(fStroke));
 
-        if (fShowHairline)
-        {
+        if (fShowHairline) {
             SkPath  fill;
             
             paint.getFillPath(path, &fill);            
             paint.setStrokeWidth(0);
             canvas->drawPath(fill, paint);
-        }
-        else
+        } else {
             canvas->drawPath(path, paint);
+        }
         
         paint.setColor(SK_ColorRED);
         paint.setStrokeWidth(0);
         canvas->drawPath(path, paint);
     }
     
-    virtual void onDraw(SkCanvas* canvas)
-    {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {        
         canvas->translate(SkIntToScalar(50), SkIntToScalar(50));
 
         static const SkPaint::Join gJoins[] = {
@@ -184,11 +168,9 @@
             SkPaint::kRound_Join
         };
 
-        for (int i = 0; i < SK_ARRAY_COUNT(gJoins); i++)
-        {
+        for (int i = 0; i < SK_ARRAY_COUNT(gJoins); i++) {
             canvas->save();
-            for (int j = 0; j < SK_ARRAY_COUNT(fPath); j++)
-            {
+            for (int j = 0; j < SK_ARRAY_COUNT(fPath); j++) {
                 this->drawPath(canvas, fPath[j], gJoins[i]);
                 canvas->translate(SkIntToScalar(200), 0);
             }
@@ -201,20 +183,14 @@
         this->inval(NULL);
     }
     
-    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) 
-    {
+    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
         fShowHairline = !fShowHairline;
         this->inval(NULL);
         return this->INHERITED::onFindClickHandler(x, y);
     }
     
-    virtual bool onClick(Click* click) 
-    {
-        return this->INHERITED::onClick(click);
-    }
-    
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SamplePolyToPoly.cpp b/samplecode/SamplePolyToPoly.cpp
index ccfe430..29a47f7 100644
--- a/samplecode/SamplePolyToPoly.cpp
+++ b/samplecode/SamplePolyToPoly.cpp
@@ -8,7 +8,7 @@
 
 extern bool SkSetPoly3To3(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]);
 
-class PolyToPolyView : public SkView {
+class PolyToPolyView : public SampleView {
 public:
 	PolyToPolyView() {
         // tests
@@ -72,10 +72,6 @@
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorWHITE);
-    }
-
     static void doDraw(SkCanvas* canvas, SkPaint* paint, const int isrc[],
                        const int idst[], int count) {
         SkMatrix matrix;
@@ -110,9 +106,7 @@
         canvas->restore();
     }
 
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStrokeWidth(SkIntToScalar(4));
@@ -153,7 +147,7 @@
     }
 
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleTiling.cpp b/samplecode/SampleTiling.cpp
index 025049e..b3c73d7 100644
--- a/samplecode/SampleTiling.cpp
+++ b/samplecode/SampleTiling.cpp
@@ -151,15 +151,6 @@
         canvas->drawPicture(fTextPicture);
     }
     
-    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
-        this->inval(NULL);
-        return this->INHERITED::onFindClickHandler(x, y);
-    }
-    
-    virtual bool onClick(Click* click) {
-        return this->INHERITED::onClick(click);
-    }
-    
 private:
     typedef SampleView INHERITED;
 };