diff options
Diffstat (limited to 'chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h')
-rw-r--r-- | chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h b/chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h new file mode 100644 index 00000000000..84b1714057f --- /dev/null +++ b/chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h @@ -0,0 +1,36 @@ +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#ifndef SkNetPipeController_DEFINED +#define SkNetPipeController_DEFINED +#include "SkTypes.h" +#include "SkCanvas.h" +#include "SkGPipe.h" +#include "SkSockets.h" +class SkNetPipeController : public SkGPipeController { +public: + SkNetPipeController(SkCanvas* target); + ~SkNetPipeController(); + + virtual void* requestBlock(size_t minRequest, size_t* actual); + virtual void notifyWritten(size_t bytes); + + int writeToSocket(SkSocket* sockfd, SkSocket::DataType type); + void enablePlayback() { fPlayback = true; } + void disablePlayback() { fPlayback = false; } + +private: + SkGPipeReader fReader; + bool fPlayback; + void* fBlock; + size_t fBlockSize; + size_t fBytesWritten; + int fAtomsWritten; + size_t fTotalWritten; + + SkGPipeReader::Status fStatus; +}; +#endif |