/src/skia/tools/debugger/JsonWriteBuffer.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright 2016 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 JsonWriteBuffer_DEFINED |
9 | | #define JsonWriteBuffer_DEFINED |
10 | | |
11 | | #include "include/core/SkColor.h" |
12 | | #include "include/core/SkM44.h" |
13 | | #include "include/core/SkScalar.h" |
14 | | #include "include/core/SkTypes.h" |
15 | | #include "src/core/SkWriteBuffer.h" |
16 | | |
17 | | #include <cstddef> |
18 | | #include <cstdint> |
19 | | #include <string_view> |
20 | | |
21 | | class SkFlattenable; |
22 | | class SkImage; |
23 | | class SkJSONWriter; |
24 | | class SkMatrix; |
25 | | class SkPaint; |
26 | | class SkPath; |
27 | | class SkRegion; |
28 | | struct SkSamplingOptions; |
29 | | class SkStream; |
30 | | class SkTypeface; |
31 | | class UrlDataManager; |
32 | | struct SkIRect; |
33 | | struct SkPoint3; |
34 | | struct SkPoint; |
35 | | struct SkRect; |
36 | | |
37 | | class JsonWriteBuffer final : public SkWriteBuffer { |
38 | | public: |
39 | | JsonWriteBuffer(SkJSONWriter* writer, UrlDataManager* urlDataManager) |
40 | 0 | : SkWriteBuffer({}), fUrlDataManager(urlDataManager), fWriter(writer), fCount(0) {} |
41 | | |
42 | | void writePad32(const void* buffer, size_t bytes) override; |
43 | | void writeByteArray(const void* data, size_t size) override; |
44 | | void writeBool(bool value) override; |
45 | | void writeScalar(SkScalar value) override; |
46 | | void writeScalarArray(const SkScalar* value, uint32_t count) override; |
47 | | void writeInt(int32_t value) override; |
48 | | void writeIntArray(const int32_t* value, uint32_t count) override; |
49 | | void writeUInt(uint32_t value) override; |
50 | | void writeString(std::string_view value) override; |
51 | | |
52 | | void writeFlattenable(const SkFlattenable* flattenable) override; |
53 | | void writeColor(SkColor color) override; |
54 | | void writeColorArray(const SkColor* color, uint32_t count) override; |
55 | | void writeColor4f(const SkColor4f& color) override; |
56 | | void writeColor4fArray(const SkColor4f* color, uint32_t count) override; |
57 | | void writePoint(const SkPoint& point) override; |
58 | | void writePointArray(const SkPoint* point, uint32_t count) override; |
59 | | void writePoint3(const SkPoint3& point) override; |
60 | | void write(const SkM44&) override; |
61 | | void writeMatrix(const SkMatrix& matrix) override; |
62 | | void writeIRect(const SkIRect& rect) override; |
63 | | void writeRect(const SkRect& rect) override; |
64 | | void writeRegion(const SkRegion& region) override; |
65 | | void writePath(const SkPath& path) override; |
66 | | void writeSampling(const SkSamplingOptions&) override; |
67 | | size_t writeStream(SkStream* stream, size_t length) override; |
68 | | void writeImage(const SkImage*) override; |
69 | | void writeTypeface(SkTypeface* typeface) override; |
70 | | void writePaint(const SkPaint& paint) override; |
71 | | |
72 | | private: |
73 | | void append(const char* type); |
74 | | |
75 | | UrlDataManager* fUrlDataManager; |
76 | | SkJSONWriter* fWriter; |
77 | | int fCount; |
78 | | }; |
79 | | |
80 | | #endif |