Added the following 3 features to sample app.
1) Imported SKP files can now be run using the bbox playback ('b' key)
2) Imported SKP files are displayed using their basename
3) FPS counter has been updated to print time to draw all tiles
Review URL: https://codereview.appspot.com/6904057
git-svn-id: http://skia.googlecode.com/svn/trunk@6718 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index cc06e04..716998f 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -1051,6 +1051,10 @@
this->updateMatrix();
}
+ if (fMeasureFPS) {
+ fMeasureFPS_Time = 0;
+ }
+
if (fNClip) {
this->INHERITED::draw(canvas);
SkBitmap orig = capture_bitmap(canvas);
@@ -1111,6 +1115,11 @@
magnify(canvas);
}
+ if (fMeasureFPS && fMeasureFPS_Time) {
+ this->updateTitle();
+ this->postInvalDelay();
+ }
+
// do this last
fDevManager->publishCanvas(fDeviceType, canvas, this);
}
@@ -1396,10 +1405,8 @@
}
// Do this after presentGL and other finishing, rather than in afterChild
- if (fMeasureFPS && fMeasureFPS_Time) {
- fMeasureFPS_Time = SkTime::GetMSecs() - fMeasureFPS_Time;
- this->updateTitle();
- this->postInvalDelay();
+ if (fMeasureFPS && fMeasureFPS_StartTime) {
+ fMeasureFPS_Time += SkTime::GetMSecs() - fMeasureFPS_StartTime;
}
// if ((fScrollTestX | fScrollTestY) != 0)
@@ -1471,9 +1478,8 @@
this->installDrawFilter(canvas);
if (fMeasureFPS) {
- fMeasureFPS_Time = 0; // 0 means the child is not aware of repeat-draw
if (SampleView::SetRepeatDraw(child, FPS_REPEAT_COUNT)) {
- fMeasureFPS_Time = SkTime::GetMSecs();
+ fMeasureFPS_StartTime = SkTime::GetMSecs();
}
} else {
(void)SampleView::SetRepeatDraw(child, 1);
@@ -1778,6 +1784,13 @@
}
switch (uni) {
+ case 'b':
+ {
+ postEventToSink(SkNEW_ARGS(SkEvent, ("PictFileView::toggleBBox")), curr_view(this));
+ this->updateTitle();
+ this->inval(NULL);
+ break;
+ }
case 'B':
// gIgnoreFastBlurRect = !gIgnoreFastBlurRect;
this->inval(NULL);