| Index: include/core/SkStream.h
|
| diff --git a/include/core/SkStream.h b/include/core/SkStream.h
|
| index c227765b363624afbf7a3f98f39d480c7f05726d..4c9c461e6480c27da8fa76a3c7a37d4d309d9853 100644
|
| --- a/include/core/SkStream.h
|
| +++ b/include/core/SkStream.h
|
| @@ -63,6 +63,20 @@ public:
|
| return this->read(NULL, size);
|
| }
|
|
|
| + /**
|
| + * Attempt to peek at size bytes.
|
| + * If this stream supports peeking, and it can peek size bytes, copy size
|
| + * bytes into buffer, and return true.
|
| + * If the stream does not support peeking, or cannot peek size bytes,
|
| + * return false and leave buffer unchanged.
|
| + * The stream is guaranteed to be in the same visible state after this
|
| + * call, regardless of success or failure.
|
| + * @param buffer Must not be NULL. Destination to copy bytes.
|
| + * @param size Number of bytes to copy.
|
| + * @return Whether the peek was performed.
|
| + */
|
| + virtual bool peek(void* /* buffer */, size_t /* size */) const { return false; }
|
| +
|
| /** Returns true when all the bytes in the stream have been read.
|
| * This may return true early (when there are no more bytes to be read)
|
| * or late (after the first unsuccessful read).
|
| @@ -319,6 +333,8 @@ public:
|
| size_t read(void* buffer, size_t size) override;
|
| bool isAtEnd() const override;
|
|
|
| + bool peek(void* buffer, size_t size) const override;
|
| +
|
| bool rewind() override;
|
| SkMemoryStream* duplicate() const override;
|
|
|
|
|