| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkJSONCanvas_DEFINED | 8 #ifndef SkJSONCanvas_DEFINED |
| 9 #define SkJSONCanvas_DEFINED | 9 #define SkJSONCanvas_DEFINED |
| 10 | 10 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 * SkJSONRenderer. Be sure to call finish() when you are done drawing. | 142 * SkJSONRenderer. Be sure to call finish() when you are done drawing. |
| 143 */ | 143 */ |
| 144 class SkJSONCanvas : public SkCanvas { | 144 class SkJSONCanvas : public SkCanvas { |
| 145 public: | 145 public: |
| 146 /* Create a canvas which writes to the specified output stream. */ | 146 /* Create a canvas which writes to the specified output stream. */ |
| 147 SkJSONCanvas(int width, int height, SkWStream& out, bool sendBinaries = fals
e); | 147 SkJSONCanvas(int width, int height, SkWStream& out, bool sendBinaries = fals
e); |
| 148 | 148 |
| 149 /* Complete the JSON document. */ | 149 /* Complete the JSON document. */ |
| 150 void finish(); | 150 void finish(); |
| 151 | 151 |
| 152 static Json::Value MakeMatrix(const SkMatrix& matrix); |
| 153 |
| 154 static Json::Value MakeIRect(const SkIRect& irect); |
| 155 |
| 152 // overridden SkCanvas API | 156 // overridden SkCanvas API |
| 153 | 157 |
| 154 void onDrawPaint(const SkPaint&) override; | 158 void onDrawPaint(const SkPaint&) override; |
| 155 | 159 |
| 156 void onDrawRect(const SkRect&, const SkPaint&) override; | 160 void onDrawRect(const SkRect&, const SkPaint&) override; |
| 157 | 161 |
| 158 void onDrawOval(const SkRect&, const SkPaint&) override; | 162 void onDrawOval(const SkRect&, const SkPaint&) override; |
| 159 | 163 |
| 160 void onDrawRRect(const SkRRect&, const SkPaint&) override; | 164 void onDrawRRect(const SkRRect&, const SkPaint&) override; |
| 161 | 165 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 | 223 |
| 220 void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) override; | 224 void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) override; |
| 221 | 225 |
| 222 void willSave() override; | 226 void willSave() override; |
| 223 | 227 |
| 224 void willRestore() override; | 228 void willRestore() override; |
| 225 | 229 |
| 226 SkCanvas::SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) ov
erride; | 230 SkCanvas::SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) ov
erride; |
| 227 | 231 |
| 228 private: | 232 private: |
| 233 // Helpers to turn values into JSON, these could probably be static |
| 229 Json::Value makePoint(const SkPoint& point); | 234 Json::Value makePoint(const SkPoint& point); |
| 230 | 235 |
| 231 Json::Value makePoint(SkScalar x, SkScalar y); | 236 Json::Value makePoint(SkScalar x, SkScalar y); |
| 232 | 237 |
| 233 Json::Value makeRect(const SkRect& rect); | 238 Json::Value makeRect(const SkRect& rect); |
| 234 | 239 |
| 235 Json::Value makeRRect(const SkRRect& rrect); | 240 Json::Value makeRRect(const SkRRect& rrect); |
| 236 | 241 |
| 237 Json::Value makePath(const SkPath& path); | 242 Json::Value makePath(const SkPath& path); |
| 238 | 243 |
| 239 Json::Value makeRegion(const SkRegion& region); | 244 Json::Value makeRegion(const SkRegion& region); |
| 240 | 245 |
| 241 Json::Value makePaint(const SkPaint& paint); | 246 Json::Value makePaint(const SkPaint& paint); |
| 242 | 247 |
| 243 Json::Value makeRegionOp(SkRegion::Op op); | 248 Json::Value makeRegionOp(SkRegion::Op op); |
| 244 | 249 |
| 245 Json::Value makeEdgeStyle(SkCanvas::ClipEdgeStyle edgeStyle); | 250 Json::Value makeEdgeStyle(SkCanvas::ClipEdgeStyle edgeStyle); |
| 246 | 251 |
| 247 Json::Value makePointMode(SkCanvas::PointMode mode); | 252 Json::Value makePointMode(SkCanvas::PointMode mode); |
| 248 | 253 |
| 249 Json::Value makeMatrix(const SkMatrix& matrix); | |
| 250 | |
| 251 void updateMatrix(); | 254 void updateMatrix(); |
| 252 | 255 |
| 253 SkWStream& fOut; | 256 SkWStream& fOut; |
| 254 SkMatrix fLastMatrix; | 257 SkMatrix fLastMatrix; |
| 255 Json::Value fRoot; | 258 Json::Value fRoot; |
| 256 Json::Value fCommands; | 259 Json::Value fCommands; |
| 257 bool fSendBinaries; | 260 bool fSendBinaries; |
| 258 | 261 |
| 259 typedef SkCanvas INHERITED; | 262 typedef SkCanvas INHERITED; |
| 260 }; | 263 }; |
| 261 | 264 |
| 262 #endif | 265 #endif |
| OLD | NEW |