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;
};