diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-06-27 11:20:22 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-27 18:27:57 +0000 |
commit | c070939fd1a954b7a492bc30f0cf64a664b90181 (patch) | |
tree | 6b1167726bc9ac4d2073f893c699b40c70f63ba1 /src/sksl/SkSLStringStream.h | |
parent | 26249e0e1d1b18a1e67195a2998b49958426f8ba (diff) |
Re-land sksl fragment processor support
This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9.
Bug: skia:
Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab
Reviewed-on: https://skia-review.googlesource.com/20965
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLStringStream.h')
-rw-r--r-- | src/sksl/SkSLStringStream.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/sksl/SkSLStringStream.h b/src/sksl/SkSLStringStream.h index 9061432018..a8690668d2 100644 --- a/src/sksl/SkSLStringStream.h +++ b/src/sksl/SkSLStringStream.h @@ -28,12 +28,8 @@ public: fBuffer.append((const char*) s, size); } - const char* data() const { - return fBuffer.c_str(); - } - - size_t size() const { - return fBuffer.size(); + const String& str() const { + return fBuffer; } void reset() { @@ -54,42 +50,33 @@ namespace SkSL { class StringStream : public OutputStream { public: void write8(uint8_t b) override { - SkASSERT(!fData); fStream.write8(b); } void writeText(const char* s) override { - SkASSERT(!fData); fStream.writeText(s); } void write(const void* s, size_t size) override { - SkASSERT(!fData); fStream.write(s, size); } - const char* data() const { - if (!fData) { - fData = fStream.detachAsData(); - } - return (const char*) fData->data(); - } - - size_t size() const { - if (!fData) { - fData = fStream.detachAsData(); + const String& str() const { + if (!fString.size()) { + sk_sp<SkData> data = fStream.detachAsData(); + fString = String((const char*) data->data(), data->size()); } - return fData->size(); + return fString; } void reset() { fStream.reset(); - fData = nullptr; + fString = ""; } private: mutable SkDynamicMemoryWStream fStream; - mutable sk_sp<SkData> fData; + mutable String fString; }; #endif // SKSL_STANDALONE |