 Chromium Code Reviews
 Chromium Code Reviews Issue 1911963008:
  DNC - JSON of flattenables, with field names. 
  Base URL: https://skia.googlesource.com/skia.git@master
    
  
    Issue 1911963008:
  DNC - JSON of flattenables, with field names. 
  Base URL: https://skia.googlesource.com/skia.git@master| Index: include/core/SkWriteBuffer.h | 
| diff --git a/include/core/SkWriteBuffer.h b/include/core/SkWriteBuffer.h | 
| index c931ad3fd294bf784f7c5939e3a8d755b9ba6b50..68d5f6e09673c120bc9ee2c70f48606261db343d 100644 | 
| --- a/include/core/SkWriteBuffer.h | 
| +++ b/include/core/SkWriteBuffer.h | 
| @@ -24,6 +24,8 @@ class SkFactorySet; | 
| class SkFlattenable; | 
| class SkRefCntSet; | 
| +#define SK_STRING_AND_VALUE(x) #x , x | 
| 
mtklein
2016/04/27 13:55:05
Looks like this is used sparsely.
What are your t
 | 
| + | 
| class SkWriteBuffer { | 
| public: | 
| enum Flags { | 
| @@ -47,34 +49,37 @@ public: | 
| size_t bytesWritten() const { return fWriter.bytesWritten(); } | 
| - void writeByteArray(const void* data, size_t size); | 
| - void writeDataAsByteArray(SkData* data) { this->writeByteArray(data->data(), data->size()); } | 
| - void writeBool(bool value); | 
| - void writeScalar(SkScalar value); | 
| - void writeScalarArray(const SkScalar* value, uint32_t count); | 
| - void writeInt(int32_t value); | 
| - void writeIntArray(const int32_t* value, uint32_t count); | 
| - void writeUInt(uint32_t value); | 
| - void write32(int32_t value); | 
| - void writeString(const char* value); | 
| - void writeEncodedString(const void* value, size_t byteLength, SkPaint::TextEncoding encoding); | 
| - void writeFunctionPtr(void* ptr) { fWriter.writePtr(ptr); } | 
| - | 
| - void writeFlattenable(const SkFlattenable* flattenable); | 
| - void writeColor(const SkColor& color); | 
| - void writeColorArray(const SkColor* color, uint32_t count); | 
| - void writePoint(const SkPoint& point); | 
| - void writePointArray(const SkPoint* point, uint32_t count); | 
| - void writeMatrix(const SkMatrix& matrix); | 
| - void writeIRect(const SkIRect& rect); | 
| - void writeRect(const SkRect& rect); | 
| - void writeRegion(const SkRegion& region); | 
| - void writePath(const SkPath& path); | 
| - size_t writeStream(SkStream* stream, size_t length); | 
| - void writeBitmap(const SkBitmap& bitmap); | 
| - void writeImage(const SkImage*); | 
| - void writeTypeface(SkTypeface* typeface); | 
| - void writePaint(const SkPaint& paint) { paint.flatten(*this); } | 
| + virtual void writeByteArray(const char* name, const void* data, size_t size); | 
| + void writeDataAsByteArray(const char* name, SkData* data) { | 
| + this->writeByteArray(name, data->data(), data->size()); | 
| + } | 
| + virtual void writeBool(const char* name, bool value); | 
| + virtual void writeScalar(const char* name, SkScalar value); | 
| + virtual void writeScalarArray(const char* name, const SkScalar* value, uint32_t count); | 
| + virtual void writeInt(const char* name, int32_t value); | 
| + virtual void writeIntArray(const char* name, const int32_t* value, uint32_t count); | 
| + virtual void writeUInt(const char* name, uint32_t value); | 
| + virtual void write32(const char* name, int32_t value); | 
| + virtual void writeString(const char* name, const char* value); | 
| + virtual void writeEncodedString(const char* name, const void* value, size_t byteLength, | 
| + SkPaint::TextEncoding encoding); | 
| + virtual void writeFunctionPtr(const char* name, void* ptr) { fWriter.writePtr(ptr); } | 
| + | 
| + virtual void writeFlattenable(const char* name, const SkFlattenable* flattenable); | 
| + virtual void writeColor(const char* name, const SkColor& color); | 
| + virtual void writeColorArray(const char* name, const SkColor* color, uint32_t count); | 
| + virtual void writePoint(const char* name, const SkPoint& point); | 
| + virtual void writePointArray(const char* name, const SkPoint* point, uint32_t count); | 
| + virtual void writeMatrix(const char* name, const SkMatrix& matrix); | 
| + virtual void writeIRect(const char* name, const SkIRect& rect); | 
| + virtual void writeRect(const char* name, const SkRect& rect); | 
| + virtual void writeRegion(const char* name, const SkRegion& region); | 
| + virtual void writePath(const char* name, const SkPath& path); | 
| + virtual size_t writeStream(const char* name, SkStream* stream, size_t length); | 
| + virtual void writeBitmap(const char* name, const SkBitmap& bitmap); | 
| + virtual void writeImage(const char* name, const SkImage*); | 
| + virtual void writeTypeface(const char* name, SkTypeface* typeface); | 
| + virtual void writePaint(const char* name, const SkPaint& paint) { paint.flatten(*this); } | 
| bool writeToStream(SkWStream*); | 
| void writeToMemory(void* dst) { fWriter.flatten(dst); } |