summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h')
-rw-r--r--chromium/third_party/skia/experimental/DrawingBoard/SkNetPipeController.h36
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