diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-06-29 10:03:38 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-29 14:57:47 +0000 |
commit | 762466e9fe0478bcf11fba532998e81e33b3069e (patch) | |
tree | 8934a152b11007d7d530db05f7ba731bb05aa5c0 /src/sksl/SkSLStringStream.h | |
parent | e78c8ed9cba31ebb970d3002270ddb03f4d6baae (diff) |
Re-re-land sksl fragment processor support
This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33.
Bug: skia:
Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6
Reviewed-on: https://skia-review.googlesource.com/21108
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 |