diff options
| author | Mike Reed <reed@google.com> | 2017-03-14 21:10:42 -0400 |
|---|---|---|
| committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-15 01:38:16 +0000 |
| commit | 96cf2065f356ff93722953aa6a9d665fc377c40b (patch) | |
| tree | 5b9a85088c690facba3f2e8fa05f9a8c337c4f84 /samplecode/SampleApp.cpp | |
| parent | 9a8065d34dd090837c2a05bc60533fcc6268e6bb (diff) | |
option to make 'M' mean picture+serialize
BUG=skia:
Change-Id: Ibb118edd0a4cf52c56635e3d32f1bd6fac338477
Reviewed-on: https://skia-review.googlesource.com/9704
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index 1aac794ddd..9d5ea0bf5e 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -43,6 +43,9 @@ #include "SkCGUtils.h" #endif +#define PICTURE_MEANS_PIPE false +#define SERIALIZE_PICTURE true + #if SK_SUPPORT_GPU # include "gl/GrGLInterface.h" # include "gl/GrGLUtil.h" @@ -1362,10 +1365,13 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { } else if (fSaveToSKP) { canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); } else if (fUsePicture) { - fPipeStream.reset(new SkDynamicMemoryWStream); - canvas = fPipeSerializer.beginWrite(SkRect::MakeWH(this->width(), this->height()), - fPipeStream.get()); -// canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); + if (PICTURE_MEANS_PIPE) { + fPipeStream.reset(new SkDynamicMemoryWStream); + canvas = fPipeSerializer.beginWrite(SkRect::MakeWH(this->width(), this->height()), + fPipeStream.get()); + } else { + canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); + } } else { canvas = this->INHERITED::beforeChildren(canvas); } @@ -1427,13 +1433,17 @@ void SampleWindow::afterChildren(SkCanvas* orig) { } if (fUsePicture) { - if (true) { + if (PICTURE_MEANS_PIPE) { fPipeSerializer.endWrite(); sk_sp<SkData> data(fPipeStream->detachAsData()); fPipeDeserializer.playback(data->data(), data->size(), orig); fPipeStream.reset(); } else { sk_sp<SkPicture> picture(fRecorder.finishRecordingAsPicture()); + if (SERIALIZE_PICTURE) { + auto data = picture->serialize(); + picture = SkPicture::MakeFromData(data.get(), nullptr); + } orig->drawPicture(picture.get()); } } |
