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++) {