migrate some samples over to SampleView, for FPS measurements
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 22 Apr 2011 14:10:48 +0000 (14:10 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 22 Apr 2011 14:10:48 +0000 (14:10 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@1166 2bbb7eff-a529-9590-31e7-b0007b416f81

12 files changed:
samplecode/SampleApp.cpp
samplecode/SampleBitmapRect.cpp
samplecode/SampleCode.h
samplecode/SampleGradients.cpp
samplecode/SamplePoints.cpp
samplecode/SampleShaderText.cpp
samplecode/SampleShapes.cpp
samplecode/SampleTextEffects.cpp
samplecode/SampleTextOnPath.cpp
samplecode/SampleTiling.cpp
samplecode/SampleTypeface.cpp
samplecode/SampleVertices.cpp

index 78ec56f..99ceb3e 100644 (file)
@@ -39,7 +39,7 @@ static const char view_inval_msg[] = "view-inval-msg";
 
 static void postInvalDelay(SkEventSinkID sinkID) {
     SkEvent* evt = new SkEvent(view_inval_msg);
-    evt->post(sinkID, 10);
+    evt->post(sinkID, 1);
 }
 
 static bool isInvalEvent(const SkEvent& evt) {
@@ -849,16 +849,20 @@ void SampleWindow::beforeChild(SkView* child, SkCanvas* canvas) {
         canvas->setDrawFilter(new FlagsDrawFilter(fLCDState, fAAState))->unref();
     }
 
-    SampleView::SetRepeatDraw(child, fMeasureFPS ? FPS_REPEAT_COUNT : 1);
     if (fMeasureFPS) {
-        fMeasureFPS_Time = SkTime::GetMSecs();
+        fMeasureFPS_Time = 0;   // 0 means the child is not aware of repeat-draw
+        if (SampleView::SetRepeatDraw(child, FPS_REPEAT_COUNT)) {
+            fMeasureFPS_Time = SkTime::GetMSecs();
+        }
+    } else {
+        (void)SampleView::SetRepeatDraw(child, 1);
     }
 }
 
 void SampleWindow::afterChild(SkView* child, SkCanvas* canvas) {
     canvas->setDrawFilter(NULL);
 
-    if (fMeasureFPS) {
+    if (fMeasureFPS && fMeasureFPS_Time) {
         fMeasureFPS_Time = SkTime::GetMSecs() - fMeasureFPS_Time;
         this->updateTitle();
         postInvalDelay(this->getSinkID());
@@ -1314,10 +1318,10 @@ void SampleWindow::onSizeChange() {
 
 static const char repeat_count_tag[] = "sample-set-repeat-count";
 
-void SampleView::SetRepeatDraw(SkView* view, int count) {
+bool SampleView::SetRepeatDraw(SkView* view, int count) {
     SkEvent evt(repeat_count_tag);
     evt.setFast32(count);
-    (void)view->doEvent(evt);
+    return view->doEvent(evt);
 }
 
 bool SampleView::onEvent(const SkEvent& evt) {
@@ -1341,7 +1345,7 @@ void SampleView::onDraw(SkCanvas* canvas) {
 }
 
 void SampleView::onDrawBackground(SkCanvas* canvas) {
-    canvas->drawColor(SK_ColorWHITE);
+    canvas->drawColor(fBGColor);
 }
 
 ///////////////////////////////////////////////////////////////////////////////
index 0c1cd7a..2d56db9 100644 (file)
@@ -33,12 +33,13 @@ static SkBitmap make_bitmap() {
     return bm;
 }
 
-class BitmapRectView : public SkView {
+class BitmapRectView : public SampleView {
 public:
     SkBitmap fBitmap;
 
        BitmapRectView() {
         fBitmap = make_bitmap();
+        this->setBGColor(SK_ColorGRAY);
     }
     
 protected:
@@ -51,13 +52,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorGRAY);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         const SkIRect src[] = {
             { 0, 0, 32, 32 },
             { 0, 0, 80, 80 },
index 2eb8bef..0c706ee 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef SampleCode_DEFINED
 #define SampleCode_DEFINED
 
+#include "SkColor.h"
 #include "SkEvent.h"
 #include "SkKey.h"
 #include "SkView.h"
@@ -48,9 +49,11 @@ private:
 
 class SampleView : public SkView {
 public:
-    SampleView() : fRepeatCount(1) {}
+    SampleView() : fRepeatCount(1), fBGColor(SK_ColorWHITE) {}
 
-    static void SetRepeatDraw(SkView*, int count);
+    void setBGColor(SkColor color) { fBGColor = color; }
+
+    static bool SetRepeatDraw(SkView*, int count);
 
 protected:
     virtual void onDrawBackground(SkCanvas*);
@@ -63,6 +66,7 @@ protected:
 
 private:
     int fRepeatCount;
+    SkColor fBGColor;
 
     typedef SkView INHERITED;
 };
index 385062d..902b0bd 100644 (file)
@@ -113,9 +113,11 @@ static const GradMaker gGradMakers[] = {
 
 ///////////////////////////////////////////////////////////////////////////////
 
-class GradientsView : public SkView {
+class GradientsView : public SampleView {
 public:
-       GradientsView() {}
+       GradientsView() {
+        this->setBGColor(0xFFDDDDDD);
+    }
     
 protected:
     // overrides from SkEventSink
@@ -127,13 +129,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPoint pts[2] = {
             { 0, 0 },
             { SkIntToScalar(100), SkIntToScalar(100) }
@@ -170,7 +166,7 @@ protected:
     }
     
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
index 416dc8d..a2804b4 100644 (file)
@@ -20,7 +20,7 @@
 #include "SkStream.h"
 #include "SkXMLParser.h"
 
-class PointsView : public SkView {
+class PointsView : public SampleView {
 public:
        PointsView() {}
 
@@ -34,18 +34,12 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorWHITE);
-    }
-
     static void fill_pts(SkPoint pts[], size_t n, SkRandom* rand) {
         for (size_t i = 0; i < n; i++)
             pts[i].set(rand->nextUScalar1() * 640, rand->nextUScalar1() * 480);
     }
 
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         canvas->translate(SK_Scalar1, SK_Scalar1);
 
         SkRandom rand;
@@ -74,7 +68,7 @@ protected:
 
 private:
 
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
index a3cb680..47ee7ee 100644 (file)
@@ -99,9 +99,11 @@ static const GradMaker gGradMakers[] = {
 
 ///////////////////////////////////////////////////////////////////////////////
 
-class ShaderTextView : public SkView {
+class ShaderTextView : public SampleView {
 public:
-       ShaderTextView() {}
+       ShaderTextView() {
+        this->setBGColor(0xFFDDDDDD);
+    }
 
 protected:
     // overrides from SkEventSink
@@ -113,13 +115,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         const char text[] = "Shaded Text";
         const int textLen = SK_ARRAY_COUNT(text) - 1;
         static int pointSize = 48;
@@ -189,7 +185,7 @@ protected:
     }
 
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
index a175af6..dc10f1a 100644 (file)
@@ -46,7 +46,7 @@ static SkShape* make_shape2() {
 
 ///////////////////////////////////////////////////////////////////////////////
 
-class ShapesView : public SkView {
+class ShapesView : public SampleView {
     SkGroupShape fGroup;
     SkMatrixRef*    fMatrixRefs[4];
 public:
@@ -65,6 +65,8 @@ public:
         for (size_t i = 0; i < SK_ARRAY_COUNT(fMatrixRefs); i++) {
             SkSafeRef(fMatrixRefs[i] = fGroup.getShapeMatrixRef(i));
         }
+
+        this->setBGColor(0xFFDDDDDD);
     }
     
     virtual ~ShapesView() {
@@ -83,10 +85,6 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-    
     void drawpicture(SkCanvas* canvas, SkPicture& pict) {
 #if 0
         SkDynamicMemoryWStream ostream;
@@ -101,9 +99,7 @@ protected:
 #endif
     }
     
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkScalar angle = SampleCode::GetAnimScalar(SkIntToScalar(180),
                                                    SkIntToScalar(360));
 
@@ -154,7 +150,7 @@ protected:
 }
     
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
index bd134d0..733dd31 100644 (file)
@@ -11,8 +11,7 @@
 #include "SkTypeface.h"
 #include "SkAvoidXfermode.h"
 
-static inline SkPMColor rgb2gray(SkPMColor c)
-{
+static inline SkPMColor rgb2gray(SkPMColor c) {
     unsigned r = SkGetPackedR32(c);
     unsigned g = SkGetPackedG32(c);
     unsigned b = SkGetPackedB32(c);
@@ -24,25 +23,26 @@ static inline SkPMColor rgb2gray(SkPMColor c)
 
 class SkGrayScaleColorFilter : public SkColorFilter {
 public:
-    virtual void filterSpan(const SkPMColor src[], int count, SkPMColor result[])
-    {
-        for (int i = 0; i < count; i++)
+    virtual void filterSpan(const SkPMColor src[], int count,
+                            SkPMColor result[]) {
+        for (int i = 0; i < count; i++) {
             result[i] = rgb2gray(src[i]);
+        }
     }
 };
 
 class SkChannelMaskColorFilter : public SkColorFilter {
 public:
-    SkChannelMaskColorFilter(U8CPU redMask, U8CPU greenMask, U8CPU blueMask)
-    {
+    SkChannelMaskColorFilter(U8CPU redMask, U8CPU greenMask, U8CPU blueMask) {
         fMask = SkPackARGB32(0xFF, redMask, greenMask, blueMask);
     }
 
-    virtual void filterSpan(const SkPMColor src[], int count, SkPMColor result[])
-    {
+    virtual void filterSpan(const SkPMColor src[], int count,
+                            SkPMColor result[]) {
         SkPMColor mask = fMask;
-        for (int i = 0; i < count; i++)
+        for (int i = 0; i < count; i++) {
             result[i] = src[i] & mask;
+        }
     }
 
 private:
@@ -55,8 +55,7 @@ private:
 #include "SkLayerRasterizer.h"
 #include "SkBlurMaskFilter.h"
 
-static void r0(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r0(SkLayerRasterizer* rast, SkPaint& p) {
     p.setMaskFilter(SkBlurMaskFilter::Create(SkIntToScalar(3),
                                              SkBlurMaskFilter::kNormal_BlurStyle))->unref();
     rast->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
@@ -72,8 +71,7 @@ static void r0(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r1(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r1(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
 
     p.setAlpha(0x40);
@@ -83,8 +81,7 @@ static void r1(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r2(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r2(SkLayerRasterizer* rast, SkPaint& p) {
     p.setStyle(SkPaint::kStrokeAndFill_Style);
     p.setStrokeWidth(SK_Scalar1*4);
     rast->addLayer(p);
@@ -95,8 +92,7 @@ static void r2(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r3(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r3(SkLayerRasterizer* rast, SkPaint& p) {
     p.setStyle(SkPaint::kStroke_Style);
     p.setStrokeWidth(SK_Scalar1*3);
     rast->addLayer(p);
@@ -107,8 +103,7 @@ static void r3(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r4(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r4(SkLayerRasterizer* rast, SkPaint& p) {
     p.setAlpha(0x60);
     rast->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
 
@@ -122,8 +117,7 @@ static void r4(SkLayerRasterizer* rast, SkPaint& p)
 
 #include "SkDiscretePathEffect.h"
 
-static void r5(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r5(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
 
     p.setPathEffect(new SkDiscretePathEffect(SK_Scalar1*4, SK_Scalar1*3))->unref();
@@ -131,8 +125,7 @@ static void r5(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r6(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r6(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
 
     p.setAntiAlias(false);
@@ -150,8 +143,7 @@ public:
     Dot2DPathEffect(SkScalar radius, const SkMatrix& matrix)
         : Sk2DPathEffect(matrix), fRadius(radius) {}
 
-    virtual void flatten(SkFlattenableWriteBuffer& buffer)
-    {
+    virtual void flatten(SkFlattenableWriteBuffer& buffer) {
         this->INHERITED::flatten(buffer);
 
         buffer.writeScalar(fRadius);
@@ -159,28 +151,24 @@ public:
     virtual Factory getFactory() { return CreateProc; }
 
 protected:
-       virtual void next(const SkPoint& loc, int u, int v, SkPath* dst)
-    {
+       virtual void next(const SkPoint& loc, int u, int v, SkPath* dst) {
         dst->addCircle(loc.fX, loc.fY, fRadius);
     }
 
-    Dot2DPathEffect(SkFlattenableReadBuffer& buffer) : Sk2DPathEffect(buffer)
-    {
+    Dot2DPathEffect(SkFlattenableReadBuffer& buffer) : Sk2DPathEffect(buffer) {
         fRadius = buffer.readScalar();
     }
 private:
     SkScalar fRadius;
 
-    static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer)
-    {
+    static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
         return new Dot2DPathEffect(buffer);
     }
 
     typedef Sk2DPathEffect INHERITED;
 };
 
-static void r7(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r7(SkLayerRasterizer* rast, SkPaint& p) {
     SkMatrix    lattice;
     lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0);
     lattice.postSkew(SK_Scalar1/3, 0, 0, 0);
@@ -188,8 +176,7 @@ static void r7(SkLayerRasterizer* rast, SkPaint& p)
     rast->addLayer(p);
 }
 
-static void r8(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r8(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
 
     SkMatrix    lattice;
@@ -211,10 +198,8 @@ public:
     Line2DPathEffect(SkScalar width, const SkMatrix& matrix)
         : Sk2DPathEffect(matrix), fWidth(width) {}
 
-       virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width)
-    {
-        if (this->INHERITED::filterPath(dst, src, width))
-        {
+       virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width) {
+        if (this->INHERITED::filterPath(dst, src, width)) {
             *width = fWidth;
             return true;
         }
@@ -222,16 +207,14 @@ public:
     }
 
     virtual Factory getFactory() { return CreateProc; }
-    virtual void flatten(SkFlattenableWriteBuffer& buffer)
-    {
+    virtual void flatten(SkFlattenableWriteBuffer& buffer) {
         this->INHERITED::flatten(buffer);
         buffer.writeScalar(fWidth);
     }
+
 protected:
-       virtual void nextSpan(int u, int v, int ucount, SkPath* dst)
-    {
-        if (ucount > 1)
-        {
+       virtual void nextSpan(int u, int v, int ucount, SkPath* dst) {
+        if (ucount > 1) {
             SkPoint    src[2], dstP[2];
 
             src[0].set(SkIntToScalar(u) + SK_ScalarHalf,
@@ -245,24 +228,21 @@ protected:
         }
     }
 
-    Line2DPathEffect(SkFlattenableReadBuffer& buffer) : Sk2DPathEffect(buffer)
-    {
+    Line2DPathEffect(SkFlattenableReadBuffer& buffer) : Sk2DPathEffect(buffer) {
         fWidth = buffer.readScalar();
     }
 
 private:
     SkScalar fWidth;
 
-    static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer)
-    {
+    static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
         return new Line2DPathEffect(buffer);
     }
 
     typedef Sk2DPathEffect INHERITED;
 };
 
-static void r9(SkLayerRasterizer* rast, SkPaint& p)
-{
+static void r9(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
 
     SkMatrix    lattice;
@@ -297,8 +277,7 @@ static const struct {
 
 #include "SkXfermode.h"
 
-static unsigned color_dist16(uint16_t a, uint16_t b)
-{
+static unsigned color_dist16(uint16_t a, uint16_t b) {
     unsigned dr = SkAbs32(SkPacked16ToR32(a) - SkPacked16ToR32(b));
     unsigned dg = SkAbs32(SkPacked16ToG32(a) - SkPacked16ToG32(b));
     unsigned db = SkAbs32(SkPacked16ToB32(a) - SkPacked16ToB32(b));
@@ -306,8 +285,7 @@ static unsigned color_dist16(uint16_t a, uint16_t b)
     return SkMax32(dr, SkMax32(dg, db));
 }
 
-static unsigned scale_dist(unsigned dist, unsigned scale)
-{
+static unsigned scale_dist(unsigned dist, unsigned scale) {
     dist >>= 6;
     dist = (dist << 2) | dist;
     dist = (dist << 4) | dist;
@@ -316,8 +294,7 @@ static unsigned scale_dist(unsigned dist, unsigned scale)
 //    return SkAlphaMul(dist, scale);
 }
 
-static void apply_shader(SkPaint* paint, int index)
-{
+static void apply_shader(SkPaint* paint, int index) {
     raster_proc proc = gRastProcs[index];
     if (proc)
     {
@@ -338,41 +315,28 @@ static void apply_shader(SkPaint* paint, int index)
 
 static int gRastIndex;
 
-class TextEffectView : public SkView {
+class TextEffectView : public SampleView {
     SkTypeface* fFace;
 public:
-       TextEffectView()
-    {
+       TextEffectView() {
         fFace = SkTypeface::CreateFromFile("/Users/reed/Downloads/p052024l.pfb");
     }
 
-    virtual ~TextEffectView()
-    {
+    virtual ~TextEffectView() {
         SkSafeUnref(fFace);
     }
 
 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, "Text Effects");
             return true;
         }
         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) {
         canvas->save();
 //        canvas->scale(SK_Scalar1*2, SK_Scalar1*2, 0, 0);
 
@@ -390,14 +354,13 @@ protected:
 
         paint.setTypeface(fFace);
 
-        for (int i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++)
-        {
+        for (int i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) {
             apply_shader(&paint, i);
 
           //  paint.setMaskFilter(NULL);
           //  paint.setColor(SK_ColorBLACK);
 
-#if 0
+#if 1
             int index = i % SK_ARRAY_COUNT(gLightingColors);
             paint.setColorFilter(SkColorFilter::CreateLightingFilter(
                                     gLightingColors[index].fMul,
@@ -406,58 +369,25 @@ protected:
 
             canvas->drawText(str.c_str(), str.size(), x, y, paint);
 
-            if (0)
-            {
-                SkPath path;
-                paint.getTextPath(str.c_str(), str.size(), x + SkIntToScalar(260), y, &path);
-                canvas->drawPath(path, paint);
-            }
-
             y += paint.getFontSpacing();
         }
 
         canvas->restore();
-
-        if (0)
-        {
-            SkPoint pts[] = { 0, 0, 0, SkIntToScalar(150) };
-            SkColor colors[] = { 0xFFE6E6E6, 0xFFFFFFFF };
-            SkShader* s = SkGradientShader::CreateLinear(pts, colors, NULL, 2, SkShader::kClamp_TileMode);
-
-            paint.reset();
-            paint.setShader(s);
-            canvas->drawRectCoords(0, 0, SkIntToScalar(120), SkIntToScalar(150), paint);
-        }
-
-        if (0)
-        {
-            SkAvoidXfermode   mode(SK_ColorWHITE, 0xFF,
-                                    SkAvoidXfermode::kTargetColor_Mode);
-            SkPaint paint;
-            x += SkIntToScalar(20);
-            SkRect  r = { x, 0, x + SkIntToScalar(360), SkIntToScalar(700) };
-            paint.setXfermode(&mode);
-            paint.setColor(SK_ColorGREEN);
-            paint.setAntiAlias(true);
-            canvas->drawOval(r, paint);
-        }
     }
 
-    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
-    {
+    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
         gRastIndex = (gRastIndex + 1) % SK_ARRAY_COUNT(gRastProcs);
         this->inval(NULL);
 
         return this->INHERITED::onFindClickHandler(x, y);
     }
 
-    virtual bool onClick(Click* click)
-    {
+    virtual bool onClick(Click* click) {
         return this->INHERITED::onClick(click);
     }
 
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
index 6657d5e..96e8c9a 100644 (file)
@@ -201,7 +201,7 @@ static void test_textpathmatrix(SkCanvas* canvas) {
     canvas->drawTextOnPath(text, len, path, &matrix, paint);
 }
 
-class TextOnPathView : public SkView {
+class TextOnPathView : public SampleView {
 public:
     SkPath      fPath;
     SkScalar    fHOffset;
@@ -226,36 +226,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorWHITE);
-#if 0        
-        SkRect r;
-        SkPaint p;
-        SkRandom rand;
-        p.setAntiAlias(true);
-        
-        for (int i = 0; i < 100; i++) {
-            SkScalar x = rand.nextUScalar1() * 300 + SkIntToScalar(50);
-            SkScalar y = rand.nextUScalar1() * 200 + SkIntToScalar(50);
-            SkScalar w = rand.nextUScalar1() * 10;
-            SkScalar h = rand.nextUScalar1() * 10;
-            r.set(x, y, x + w, y + h);
-            canvas->drawRect(r, p);
-        }
-        
-        test_textBounds(canvas);
-//        return;
-
-        SkBitmap    bm;
-        if (SkImageDecoder::DecodeFile("/loading_tile.png",
-                                       &bm, SkBitmap::kRGB_565_Config, true))
-            canvas->drawBitmap(bm, 0, 0);
-#endif
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         
         paint.setAntiAlias(true);
@@ -300,7 +271,7 @@ protected:
     
 private:
     int fHints;
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
index 87aeae4..025049e 100644 (file)
@@ -55,7 +55,7 @@ static const SkBitmap::Config gConfigs[] = {
 static const int gWidth = 32;
 static const int gHeight = 32;
 
-class TilingView : public SkView {
+class TilingView : public SampleView {
     SkPicture           fTextPicture;
     SkBlurDrawLooper    fLooper;
 public:
@@ -79,13 +79,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
     
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorWHITE);
-    }
-    
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-        
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkRect r = { 0, 0, SkIntToScalar(gWidth*2), SkIntToScalar(gHeight*2) };
 
         static const char* gConfigNames[] = { "8888", "565", "4444" };
@@ -167,7 +161,7 @@ protected:
     }
     
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
index b9426b0..5442e5f 100644 (file)
@@ -64,7 +64,7 @@ static const struct {
 
 static const int gFaceCount = SK_ARRAY_COUNT(gFaces);
 
-class TypefaceView : public SkView {
+class TypefaceView : public SampleView {
     SkTypeface* fFaces[gFaceCount];
 
 public:
@@ -74,6 +74,8 @@ public:
             fFaces[i] = SkTypeface::CreateFromName(gFaces[i].fName,
                                                    gFaces[i].fStyle);
         }
+
+        this->setBGColor(0xFFDDDDDD);
     }
 
     virtual ~TypefaceView() {
@@ -92,13 +94,7 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(0xFFDDDDDD);
-    }
-
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setTextSize(SkIntToScalar(30));
@@ -162,7 +158,7 @@ protected:
     }
 
 private:
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////
index 7f5aa96..f260e1a 100644 (file)
@@ -35,7 +35,7 @@ static SkShader* make_shader1(const SkIPoint& size) {
                     SK_ARRAY_COUNT(colors), SkShader::kMirror_TileMode, NULL);
 }
 
-class VerticesView : public SkView {
+class VerticesView : public SampleView {
     SkShader*   fShader0;
     SkShader*   fShader1;
 
@@ -51,6 +51,8 @@ public:
         make_tris(&fRecs[2]);
 
         fScale = SK_Scalar1;
+
+        this->setBGColor(SK_ColorGRAY);
     }
 
     virtual ~VerticesView() {
@@ -70,15 +72,9 @@ protected:
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas) {
-        canvas->drawColor(SK_ColorGRAY);
-    }
-
     SkScalar fScale;
 
-    virtual void onDraw(SkCanvas* canvas) {
-        this->drawBG(canvas);
-
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         paint.setDither(true);
         paint.setFilterBitmap(true);
@@ -214,7 +210,7 @@ private:
 
     Rec fRecs[3];
 
-    typedef SkView INHERITED;
+    typedef SampleView INHERITED;
 };
 
 //////////////////////////////////////////////////////////////////////////////