OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * Copyright 2012 Google Inc. |
| 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. |
| 6 */ |
| 7 |
| 8 #ifndef SkJsonWriteBuffer_DEFINED |
| 9 #define SkJsonWriteBuffer_DEFINED |
| 10 |
| 11 #include "SkWriteBuffer.h" |
| 12 |
| 13 #include "SkCanvas.h" |
| 14 #include "SkTLazy.h" |
| 15 #include "SkPath.h" |
| 16 #include "SkRRect.h" |
| 17 #include "SkString.h" |
| 18 #include "SkTDArray.h" |
| 19 #include "SkJSONCPP.h" |
| 20 #include "UrlDataManager.h" |
| 21 |
| 22 class SkJsonWriteBuffer : public SkWriteBuffer { |
| 23 public: |
| 24 SkJsonWriteBuffer() : fFieldCount(0) {} |
| 25 |
| 26 void writeByteArray(const char* name, const void* data, size_t size) overrid
e; |
| 27 void writeBool(const char* name, bool value) override; |
| 28 void writeScalar(const char* name, SkScalar value) override; |
| 29 void writeScalarArray(const char* name, const SkScalar* value, uint32_t coun
t) override; |
| 30 void writeInt(const char* name, int32_t value) override; |
| 31 void writeIntArray(const char* name, const int32_t* value, uint32_t count) o
verride; |
| 32 void writeUInt(const char* name, uint32_t value) override; |
| 33 void write32(const char* name, int32_t value) override; |
| 34 void writeString(const char* name, const char* value) override; |
| 35 void writeEncodedString(const char* name, const void* value, size_t byteLeng
th, |
| 36 SkPaint::TextEncoding encoding) override; |
| 37 void writeFunctionPtr(const char* name, void* ptr) override; |
| 38 |
| 39 void writeFlattenable(const char* name, const SkFlattenable* flattenable) ov
erride; |
| 40 void writeColor(const char* name, const SkColor& color) override; |
| 41 void writeColorArray(const char* name, const SkColor* color, uint32_t count)
override; |
| 42 void writePoint(const char* name, const SkPoint& point) override; |
| 43 void writePointArray(const char* name, const SkPoint* point, uint32_t count)
override; |
| 44 void writeMatrix(const char* name, const SkMatrix& matrix) override; |
| 45 void writeIRect(const char* name, const SkIRect& rect) override; |
| 46 void writeRect(const char* name, const SkRect& rect) override; |
| 47 void writeRegion(const char* name, const SkRegion& region) override; |
| 48 void writePath(const char* name, const SkPath& path) override; |
| 49 size_t writeStream(const char* name, SkStream* stream, size_t length) overri
de; |
| 50 void writeBitmap(const char* name, const SkBitmap& bitmap) override; |
| 51 void writeImage(const char* name, const SkImage*) override; |
| 52 void writeTypeface(const char* name, SkTypeface* typeface) override; |
| 53 void writePaint(const char* name, const SkPaint& paint) override; |
| 54 |
| 55 const Json::Value& getValue() const { return fJson; } |
| 56 |
| 57 private: |
| 58 void append(const char* name, const Json::Value& value); |
| 59 |
| 60 Json::Value fJson; |
| 61 uint32_t fFieldCount; |
| 62 }; |
| 63 |
| 64 #endif |
OLD | NEW |