aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLStringStream.h
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@google.com>2017-06-27 22:52:03 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-27 22:52:10 +0000
commit5ce397205528f82084fc650c2ce27d246c01da33 (patch)
tree3e359ae172fed10fce8204163d6d372b0c3f6207 /src/sksl/SkSLStringStream.h
parent3fe44544c93759e7791ee0df3e5d172cb0f268b6 (diff)
Revert "Re-land sksl fragment processor support"
This reverts commit c070939fd1a954b7a492bc30f0cf64a664b90181. Reason for revert: This has some knock-on effects in the generation of Android.bp from our GN files. See gn/gn_to_bp.py? We're seeing things like "tmp/tmpsBVycx/gen/" end up in the include search path in Android.bp, which obviously don't exist there... Original change's description: > 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> TBR=benjaminwagner@google.com,ethannicholas@google.com Change-Id: I502486b5405923b322429219f4cc396a45a14cea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20990 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/sksl/SkSLStringStream.h')
-rw-r--r--src/sksl/SkSLStringStream.h31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/sksl/SkSLStringStream.h b/src/sksl/SkSLStringStream.h
index a8690668d2..9061432018 100644
--- a/src/sksl/SkSLStringStream.h
+++ b/src/sksl/SkSLStringStream.h
@@ -28,8 +28,12 @@ public:
fBuffer.append((const char*) s, size);
}
- const String& str() const {
- return fBuffer;
+ const char* data() const {
+ return fBuffer.c_str();
+ }
+
+ size_t size() const {
+ return fBuffer.size();
}
void reset() {
@@ -50,33 +54,42 @@ 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 String& str() const {
- if (!fString.size()) {
- sk_sp<SkData> data = fStream.detachAsData();
- fString = String((const char*) data->data(), data->size());
+ const char* data() const {
+ if (!fData) {
+ fData = fStream.detachAsData();
+ }
+ return (const char*) fData->data();
+ }
+
+ size_t size() const {
+ if (!fData) {
+ fData = fStream.detachAsData();
}
- return fString;
+ return fData->size();
}
void reset() {
fStream.reset();
- fString = "";
+ fData = nullptr;
}
private:
mutable SkDynamicMemoryWStream fStream;
- mutable String fString;
+ mutable sk_sp<SkData> fData;
};
#endif // SKSL_STANDALONE