diff options
author | yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-01 18:03:34 +0000 |
---|---|---|
committer | yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-01 18:03:34 +0000 |
commit | 1f3942110a6fcec86eb411b49eab16d2bd91eb5b (patch) | |
tree | cdb73230f9a4813729053fb39172f43cd5d40905 /samplecode/SampleApp.cpp | |
parent | 34e52a0392f146b62f46cfe6714d9bddbb8d9e77 (diff) |
Added code to enable the pipe module to record to a file
http://codereview.appspot.com/4564052/
git-svn-id: http://skia.googlecode.com/svn/trunk@1469 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
-rw-r--r-- | samplecode/SampleApp.cpp | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index bee965cb9c..3efffe6de7 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -14,6 +14,13 @@ #include "SkTouchGesture.h" #include "SkTypeface.h" +#define TEST_GPIPEx + +#ifdef TEST_GPIPE +#define PIPE_FILE +#define FILE_PATH "/path/to/drawing.data" +#endif + #define USE_ARROWS_FOR_ZOOM true //#define DEFAULT_TO_GPU @@ -423,6 +430,12 @@ SampleWindow::CanvasType SampleWindow::cycle_canvastype(CanvasType ct) { } SampleWindow::SampleWindow(void* hwnd) : INHERITED(hwnd) { +#ifdef PIPE_FILE + //Clear existing file or create file if it doesn't exist + FILE* f = fopen(FILE_PATH, "wb"); + fclose(f); +#endif + fPicture = NULL; fGpuCanvas = NULL; @@ -1410,8 +1423,6 @@ bool SampleView::onQuery(SkEvent* evt) { return this->INHERITED::onQuery(evt); } -#define TEST_GPIPEx - #ifdef TEST_GPIPE #include "SkGPipe.h" @@ -1464,7 +1475,15 @@ void* SimplePC::requestBlock(size_t minRequest, size_t* actual) { void SimplePC::notifyWritten(size_t bytes) { SkASSERT(fBytesWritten + bytes <= fBlockSize); - + +#ifdef PIPE_FILE + //File is open in append mode + FILE* f = fopen(FILE_PATH, "ab"); + SkASSERT(f != NULL); + fwrite((const char*)fBlock + fBytesWritten, 1, bytes, f); + fclose(f); +#endif + fStatus = fReader.playback((const char*)fBlock + fBytesWritten, bytes); SkASSERT(SkGPipeReader::kError_Status != fStatus); fBytesWritten += bytes; |