Index: src/codec/SkStreamBuffer.cpp |
diff --git a/src/codec/SkStreamBuffer.cpp b/src/codec/SkStreamBuffer.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1e6063706e81145029067f9bcd552b80432daa62 |
--- /dev/null |
+++ b/src/codec/SkStreamBuffer.cpp |
@@ -0,0 +1,23 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include "SkStreamBuffer.h" |
+ |
+SkStreamBuffer::SkStreamBuffer(SkStream* stream) |
+ : fStream(stream) |
+ , fBytesBuffered(0) |
+{} |
+ |
+size_t SkStreamBuffer::buffer(size_t bytesToBuffer) { |
+ // FIXME (scroggo): What should we do if the client tries to read too much? |
+ // Should not be a problem in GIF. |
+ SkASSERT(fBytesBuffered + bytesToBuffer <= kMaxSize); |
+ |
+ const size_t bytesBuffered = fStream->read(fBuffer + fBytesBuffered, bytesToBuffer); |
+ fBytesBuffered += bytesBuffered; |
+ return bytesBuffered; |
+} |