Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: tools/debugger/SkDrawCommand.h

Issue 1686143004: integrated SkDebugCanvas JSON support with UrlDataManager (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: added cast to deal with differing-size ints Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/debugger/SkDebugCanvas.cpp ('k') | tools/debugger/SkDrawCommand.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1
2 /* 1 /*
3 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
4 * 3 *
5 * 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
6 * found in the LICENSE file. 5 * found in the LICENSE file.
7 */ 6 */
8 7
9 #ifndef SKDRAWCOMMAND_H_ 8 #ifndef SKDRAWCOMMAND_H_
10 #define SKDRAWCOMMAND_H_ 9 #define SKDRAWCOMMAND_H_
11 10
12 #include "SkCanvas.h" 11 #include "SkCanvas.h"
13 #include "SkTLazy.h" 12 #include "SkTLazy.h"
14 #include "SkPath.h" 13 #include "SkPath.h"
15 #include "SkRRect.h" 14 #include "SkRRect.h"
16 #include "SkString.h" 15 #include "SkString.h"
17 #include "SkTDArray.h" 16 #include "SkTDArray.h"
18 #include "SkJSONCPP.h" 17 #include "SkJSONCPP.h"
18 #include "UrlDataManager.h"
19 19
20 class SK_API SkDrawCommand { 20 class SK_API SkDrawCommand {
21 public: 21 public:
22 enum OpType { 22 enum OpType {
23 kBeginDrawPicture_OpType, 23 kBeginDrawPicture_OpType,
24 kClipPath_OpType, 24 kClipPath_OpType,
25 kClipRegion_OpType, 25 kClipRegion_OpType,
26 kClipRect_OpType, 26 kClipRect_OpType,
27 kClipRRect_OpType, 27 kClipRRect_OpType,
28 kConcat_OpType, 28 kConcat_OpType,
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 kPushLayer_Action, 93 kPushLayer_Action,
94 }; 94 };
95 virtual Action action() const { return kNone_Action; } 95 virtual Action action() const { return kNone_Action; }
96 virtual void setActive(bool active) {} 96 virtual void setActive(bool active) {}
97 virtual bool active() const { return false; } 97 virtual bool active() const { return false; }
98 98
99 OpType getType() const { return fOpType; } 99 OpType getType() const { return fOpType; }
100 100
101 virtual bool render(SkCanvas* canvas) const { return false; } 101 virtual bool render(SkCanvas* canvas) const { return false; }
102 102
103 virtual Json::Value toJSON() const; 103 virtual Json::Value toJSON(UrlDataManager& urlDataManager) const;
104 104
105 /* Converts a JSON representation of a command into a newly-allocated SkDraw Command object. It 105 /* Converts a JSON representation of a command into a newly-allocated SkDraw Command object. It
106 * is the caller's responsibility to delete this object. This method may ret urn null if an error 106 * is the caller's responsibility to delete this object. This method may ret urn null if an error
107 * occurs. 107 * occurs.
108 */ 108 */
109 static SkDrawCommand* fromJSON(Json::Value& command); 109 static SkDrawCommand* fromJSON(Json::Value& command, UrlDataManager& urlData Manager);
110 110
111 static const char* GetCommandString(OpType type); 111 static const char* GetCommandString(OpType type);
112 112
113 protected: 113 protected:
114 SkTDArray<SkString*> fInfo; 114 SkTDArray<SkString*> fInfo;
115 115
116 private: 116 private:
117 OpType fOpType; 117 OpType fOpType;
118 bool fVisible; 118 bool fVisible;
119 }; 119 };
120 120
121 class SkRestoreCommand : public SkDrawCommand { 121 class SkRestoreCommand : public SkDrawCommand {
122 public: 122 public:
123 SkRestoreCommand(); 123 SkRestoreCommand();
124 void execute(SkCanvas* canvas) const override; 124 void execute(SkCanvas* canvas) const override;
125 Action action() const override { return kPopLayer_Action; } 125 Action action() const override { return kPopLayer_Action; }
126 static SkRestoreCommand* fromJSON(Json::Value& command); 126 static SkRestoreCommand* fromJSON(Json::Value& command, UrlDataManager& urlD ataManager);
127 127
128 private: 128 private:
129 typedef SkDrawCommand INHERITED; 129 typedef SkDrawCommand INHERITED;
130 }; 130 };
131 131
132 class SkClearCommand : public SkDrawCommand { 132 class SkClearCommand : public SkDrawCommand {
133 public: 133 public:
134 SkClearCommand(SkColor color); 134 SkClearCommand(SkColor color);
135 void execute(SkCanvas* canvas) const override; 135 void execute(SkCanvas* canvas) const override;
136 Json::Value toJSON() const override; 136 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
137 static SkClearCommand* fromJSON(Json::Value& command); 137 static SkClearCommand* fromJSON(Json::Value& command, UrlDataManager& urlDat aManager);
138 138
139 private: 139 private:
140 SkColor fColor; 140 SkColor fColor;
141 141
142 typedef SkDrawCommand INHERITED; 142 typedef SkDrawCommand INHERITED;
143 }; 143 };
144 144
145 class SkClipPathCommand : public SkDrawCommand { 145 class SkClipPathCommand : public SkDrawCommand {
146 public: 146 public:
147 SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool doAA); 147 SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool doAA);
148 void execute(SkCanvas* canvas) const override; 148 void execute(SkCanvas* canvas) const override;
149 bool render(SkCanvas* canvas) const override; 149 bool render(SkCanvas* canvas) const override;
150 Json::Value toJSON() const override; 150 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
151 static SkClipPathCommand* fromJSON(Json::Value& command); 151 static SkClipPathCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
152 152
153 private: 153 private:
154 SkPath fPath; 154 SkPath fPath;
155 SkRegion::Op fOp; 155 SkRegion::Op fOp;
156 bool fDoAA; 156 bool fDoAA;
157 157
158 typedef SkDrawCommand INHERITED; 158 typedef SkDrawCommand INHERITED;
159 }; 159 };
160 160
161 class SkClipRegionCommand : public SkDrawCommand { 161 class SkClipRegionCommand : public SkDrawCommand {
162 public: 162 public:
163 SkClipRegionCommand(const SkRegion& region, SkRegion::Op op); 163 SkClipRegionCommand(const SkRegion& region, SkRegion::Op op);
164 void execute(SkCanvas* canvas) const override; 164 void execute(SkCanvas* canvas) const override;
165 Json::Value toJSON() const override; 165 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
166 static SkClipRegionCommand* fromJSON(Json::Value& command); 166 static SkClipRegionCommand* fromJSON(Json::Value& command, UrlDataManager& u rlDataManager);
167 167
168 private: 168 private:
169 SkRegion fRegion; 169 SkRegion fRegion;
170 SkRegion::Op fOp; 170 SkRegion::Op fOp;
171 171
172 typedef SkDrawCommand INHERITED; 172 typedef SkDrawCommand INHERITED;
173 }; 173 };
174 174
175 class SkClipRectCommand : public SkDrawCommand { 175 class SkClipRectCommand : public SkDrawCommand {
176 public: 176 public:
177 SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool doAA); 177 SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool doAA);
178 void execute(SkCanvas* canvas) const override; 178 void execute(SkCanvas* canvas) const override;
179 Json::Value toJSON() const override; 179 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
180 static SkClipRectCommand* fromJSON(Json::Value& command); 180 static SkClipRectCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
181 181
182 const SkRect& rect() const { return fRect; } 182 const SkRect& rect() const { return fRect; }
183 SkRegion::Op op() const { return fOp; } 183 SkRegion::Op op() const { return fOp; }
184 bool doAA() const { return fDoAA; } 184 bool doAA() const { return fDoAA; }
185 185
186 private: 186 private:
187 SkRect fRect; 187 SkRect fRect;
188 SkRegion::Op fOp; 188 SkRegion::Op fOp;
189 bool fDoAA; 189 bool fDoAA;
190 190
191 typedef SkDrawCommand INHERITED; 191 typedef SkDrawCommand INHERITED;
192 }; 192 };
193 193
194 class SkClipRRectCommand : public SkDrawCommand { 194 class SkClipRRectCommand : public SkDrawCommand {
195 public: 195 public:
196 SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bool doAA); 196 SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bool doAA);
197 void execute(SkCanvas* canvas) const override; 197 void execute(SkCanvas* canvas) const override;
198 bool render(SkCanvas* canvas) const override; 198 bool render(SkCanvas* canvas) const override;
199 Json::Value toJSON() const override; 199 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
200 static SkClipRRectCommand* fromJSON(Json::Value& command); 200 static SkClipRRectCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
201 201
202 const SkRRect& rrect() const { return fRRect; } 202 const SkRRect& rrect() const { return fRRect; }
203 SkRegion::Op op() const { return fOp; } 203 SkRegion::Op op() const { return fOp; }
204 bool doAA() const { return fDoAA; } 204 bool doAA() const { return fDoAA; }
205 205
206 private: 206 private:
207 SkRRect fRRect; 207 SkRRect fRRect;
208 SkRegion::Op fOp; 208 SkRegion::Op fOp;
209 bool fDoAA; 209 bool fDoAA;
210 210
211 typedef SkDrawCommand INHERITED; 211 typedef SkDrawCommand INHERITED;
212 }; 212 };
213 213
214 class SkConcatCommand : public SkDrawCommand { 214 class SkConcatCommand : public SkDrawCommand {
215 public: 215 public:
216 SkConcatCommand(const SkMatrix& matrix); 216 SkConcatCommand(const SkMatrix& matrix);
217 void execute(SkCanvas* canvas) const override; 217 void execute(SkCanvas* canvas) const override;
218 Json::Value toJSON() const override; 218 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
219 static SkConcatCommand* fromJSON(Json::Value& command); 219 static SkConcatCommand* fromJSON(Json::Value& command, UrlDataManager& urlDa taManager);
220 220
221 private: 221 private:
222 SkMatrix fMatrix; 222 SkMatrix fMatrix;
223 223
224 typedef SkDrawCommand INHERITED; 224 typedef SkDrawCommand INHERITED;
225 }; 225 };
226 226
227 class SkDrawBitmapCommand : public SkDrawCommand { 227 class SkDrawBitmapCommand : public SkDrawCommand {
228 public: 228 public:
229 SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, SkScalar top, 229 SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, SkScalar top,
230 const SkPaint* paint); 230 const SkPaint* paint);
231 void execute(SkCanvas* canvas) const override; 231 void execute(SkCanvas* canvas) const override;
232 bool render(SkCanvas* canvas) const override; 232 bool render(SkCanvas* canvas) const override;
233 Json::Value toJSON() const override; 233 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
234 static SkDrawBitmapCommand* fromJSON(Json::Value& command); 234 static SkDrawBitmapCommand* fromJSON(Json::Value& command, UrlDataManager& u rlDataManager);
235 235
236 private: 236 private:
237 SkBitmap fBitmap; 237 SkBitmap fBitmap;
238 SkScalar fLeft; 238 SkScalar fLeft;
239 SkScalar fTop; 239 SkScalar fTop;
240 SkPaint fPaint; 240 SkPaint fPaint;
241 SkPaint* fPaintPtr; 241 SkPaint* fPaintPtr;
242 242
243 typedef SkDrawCommand INHERITED; 243 typedef SkDrawCommand INHERITED;
244 }; 244 };
245 245
246 class SkDrawBitmapNineCommand : public SkDrawCommand { 246 class SkDrawBitmapNineCommand : public SkDrawCommand {
247 public: 247 public:
248 SkDrawBitmapNineCommand(const SkBitmap& bitmap, const SkIRect& center, 248 SkDrawBitmapNineCommand(const SkBitmap& bitmap, const SkIRect& center,
249 const SkRect& dst, const SkPaint* paint); 249 const SkRect& dst, const SkPaint* paint);
250 void execute(SkCanvas* canvas) const override; 250 void execute(SkCanvas* canvas) const override;
251 bool render(SkCanvas* canvas) const override; 251 bool render(SkCanvas* canvas) const override;
252 Json::Value toJSON() const override; 252 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
253 static SkDrawBitmapNineCommand* fromJSON(Json::Value& command); 253 static SkDrawBitmapNineCommand* fromJSON(Json::Value& command, UrlDataManage r& urlDataManager);
254 254
255 private: 255 private:
256 SkBitmap fBitmap; 256 SkBitmap fBitmap;
257 SkIRect fCenter; 257 SkIRect fCenter;
258 SkRect fDst; 258 SkRect fDst;
259 SkPaint fPaint; 259 SkPaint fPaint;
260 SkPaint* fPaintPtr; 260 SkPaint* fPaintPtr;
261 261
262 typedef SkDrawCommand INHERITED; 262 typedef SkDrawCommand INHERITED;
263 }; 263 };
264 264
265 class SkDrawBitmapRectCommand : public SkDrawCommand { 265 class SkDrawBitmapRectCommand : public SkDrawCommand {
266 public: 266 public:
267 SkDrawBitmapRectCommand(const SkBitmap& bitmap, const SkRect* src, 267 SkDrawBitmapRectCommand(const SkBitmap& bitmap, const SkRect* src,
268 const SkRect& dst, const SkPaint* paint, 268 const SkRect& dst, const SkPaint* paint,
269 SkCanvas::SrcRectConstraint); 269 SkCanvas::SrcRectConstraint);
270 void execute(SkCanvas* canvas) const override; 270 void execute(SkCanvas* canvas) const override;
271 bool render(SkCanvas* canvas) const override; 271 bool render(SkCanvas* canvas) const override;
272 Json::Value toJSON() const override; 272 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
273 static SkDrawBitmapRectCommand* fromJSON(Json::Value& command); 273 static SkDrawBitmapRectCommand* fromJSON(Json::Value& command, UrlDataManage r& urlDataManager);
274 274
275 const SkBitmap& bitmap() const { return fBitmap; } 275 const SkBitmap& bitmap() const { return fBitmap; }
276 276
277 // The non-const 'paint' method allows modification of this object's 277 // The non-const 'paint' method allows modification of this object's
278 // SkPaint. For this reason the ctor and setPaint method make a local copy. 278 // SkPaint. For this reason the ctor and setPaint method make a local copy.
279 // The 'fPaintPtr' member acts a signal that the local SkPaint is valid 279 // The 'fPaintPtr' member acts a signal that the local SkPaint is valid
280 // (since only an SkPaint* is passed into the ctor). 280 // (since only an SkPaint* is passed into the ctor).
281 const SkPaint* paint() const { return fPaintPtr; } 281 const SkPaint* paint() const { return fPaintPtr; }
282 SkPaint* paint() { return fPaintPtr; } 282 SkPaint* paint() { return fPaintPtr; }
283 283
(...skipping 17 matching lines...) Expand all
301 SkCanvas::SrcRectConstraint fConstraint; 301 SkCanvas::SrcRectConstraint fConstraint;
302 302
303 typedef SkDrawCommand INHERITED; 303 typedef SkDrawCommand INHERITED;
304 }; 304 };
305 305
306 class SkDrawImageCommand : public SkDrawCommand { 306 class SkDrawImageCommand : public SkDrawCommand {
307 public: 307 public:
308 SkDrawImageCommand(const SkImage* image, SkScalar left, SkScalar top, const SkPaint* paint); 308 SkDrawImageCommand(const SkImage* image, SkScalar left, SkScalar top, const SkPaint* paint);
309 void execute(SkCanvas* canvas) const override; 309 void execute(SkCanvas* canvas) const override;
310 bool render(SkCanvas* canvas) const override; 310 bool render(SkCanvas* canvas) const override;
311 Json::Value toJSON() const override; 311 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
312 static SkDrawImageCommand* fromJSON(Json::Value& command); 312 static SkDrawImageCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
313 313
314 private: 314 private:
315 SkAutoTUnref<const SkImage> fImage; 315 SkAutoTUnref<const SkImage> fImage;
316 SkScalar fLeft; 316 SkScalar fLeft;
317 SkScalar fTop; 317 SkScalar fTop;
318 SkTLazy<SkPaint> fPaint; 318 SkTLazy<SkPaint> fPaint;
319 319
320 typedef SkDrawCommand INHERITED; 320 typedef SkDrawCommand INHERITED;
321 }; 321 };
322 322
323 class SkDrawImageRectCommand : public SkDrawCommand { 323 class SkDrawImageRectCommand : public SkDrawCommand {
324 public: 324 public:
325 SkDrawImageRectCommand(const SkImage* image, const SkRect* src, const SkRect & dst, 325 SkDrawImageRectCommand(const SkImage* image, const SkRect* src, const SkRect & dst,
326 const SkPaint* paint, SkCanvas::SrcRectConstraint con straint); 326 const SkPaint* paint, SkCanvas::SrcRectConstraint con straint);
327 void execute(SkCanvas* canvas) const override; 327 void execute(SkCanvas* canvas) const override;
328 bool render(SkCanvas* canvas) const override; 328 bool render(SkCanvas* canvas) const override;
329 Json::Value toJSON() const override; 329 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
330 static SkDrawImageRectCommand* fromJSON(Json::Value& command); 330 static SkDrawImageRectCommand* fromJSON(Json::Value& command, UrlDataManager & urlDataManager);
331 331
332 private: 332 private:
333 SkAutoTUnref<const SkImage> fImage; 333 SkAutoTUnref<const SkImage> fImage;
334 SkTLazy<SkRect> fSrc; 334 SkTLazy<SkRect> fSrc;
335 SkRect fDst; 335 SkRect fDst;
336 SkTLazy<SkPaint> fPaint; 336 SkTLazy<SkPaint> fPaint;
337 SkCanvas::SrcRectConstraint fConstraint; 337 SkCanvas::SrcRectConstraint fConstraint;
338 338
339 typedef SkDrawCommand INHERITED; 339 typedef SkDrawCommand INHERITED;
340 }; 340 };
341 341
342 class SkDrawOvalCommand : public SkDrawCommand { 342 class SkDrawOvalCommand : public SkDrawCommand {
343 public: 343 public:
344 SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint); 344 SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint);
345 void execute(SkCanvas* canvas) const override; 345 void execute(SkCanvas* canvas) const override;
346 bool render(SkCanvas* canvas) const override; 346 bool render(SkCanvas* canvas) const override;
347 Json::Value toJSON() const override; 347 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
348 static SkDrawOvalCommand* fromJSON(Json::Value& command); 348 static SkDrawOvalCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
349 349
350 private: 350 private:
351 SkRect fOval; 351 SkRect fOval;
352 SkPaint fPaint; 352 SkPaint fPaint;
353 353
354 typedef SkDrawCommand INHERITED; 354 typedef SkDrawCommand INHERITED;
355 }; 355 };
356 356
357 class SkDrawPaintCommand : public SkDrawCommand { 357 class SkDrawPaintCommand : public SkDrawCommand {
358 public: 358 public:
359 SkDrawPaintCommand(const SkPaint& paint); 359 SkDrawPaintCommand(const SkPaint& paint);
360 void execute(SkCanvas* canvas) const override; 360 void execute(SkCanvas* canvas) const override;
361 bool render(SkCanvas* canvas) const override; 361 bool render(SkCanvas* canvas) const override;
362 Json::Value toJSON() const override; 362 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
363 static SkDrawPaintCommand* fromJSON(Json::Value& command); 363 static SkDrawPaintCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
364 364
365 private: 365 private:
366 SkPaint fPaint; 366 SkPaint fPaint;
367 367
368 typedef SkDrawCommand INHERITED; 368 typedef SkDrawCommand INHERITED;
369 }; 369 };
370 370
371 class SkDrawPathCommand : public SkDrawCommand { 371 class SkDrawPathCommand : public SkDrawCommand {
372 public: 372 public:
373 SkDrawPathCommand(const SkPath& path, const SkPaint& paint); 373 SkDrawPathCommand(const SkPath& path, const SkPaint& paint);
374 void execute(SkCanvas* canvas) const override; 374 void execute(SkCanvas* canvas) const override;
375 bool render(SkCanvas* canvas) const override; 375 bool render(SkCanvas* canvas) const override;
376 Json::Value toJSON() const override; 376 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
377 static SkDrawPathCommand* fromJSON(Json::Value& command); 377 static SkDrawPathCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
378 378
379 private: 379 private:
380 SkPath fPath; 380 SkPath fPath;
381 SkPaint fPaint; 381 SkPaint fPaint;
382 382
383 typedef SkDrawCommand INHERITED; 383 typedef SkDrawCommand INHERITED;
384 }; 384 };
385 385
386 class SkBeginDrawPictureCommand : public SkDrawCommand { 386 class SkBeginDrawPictureCommand : public SkDrawCommand {
387 public: 387 public:
(...skipping 24 matching lines...) Expand all
412 typedef SkDrawCommand INHERITED; 412 typedef SkDrawCommand INHERITED;
413 }; 413 };
414 414
415 class SkDrawPointsCommand : public SkDrawCommand { 415 class SkDrawPointsCommand : public SkDrawCommand {
416 public: 416 public:
417 SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, const SkPoint pt s[], 417 SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, const SkPoint pt s[],
418 const SkPaint& paint); 418 const SkPaint& paint);
419 virtual ~SkDrawPointsCommand() { delete [] fPts; } 419 virtual ~SkDrawPointsCommand() { delete [] fPts; }
420 void execute(SkCanvas* canvas) const override; 420 void execute(SkCanvas* canvas) const override;
421 bool render(SkCanvas* canvas) const override; 421 bool render(SkCanvas* canvas) const override;
422 Json::Value toJSON() const override; 422 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
423 static SkDrawPointsCommand* fromJSON(Json::Value& command); 423 static SkDrawPointsCommand* fromJSON(Json::Value& command, UrlDataManager& u rlDataManager);
424 424
425 private: 425 private:
426 SkCanvas::PointMode fMode; 426 SkCanvas::PointMode fMode;
427 size_t fCount; 427 size_t fCount;
428 SkPoint* fPts; 428 SkPoint* fPts;
429 SkPaint fPaint; 429 SkPaint fPaint;
430 430
431 typedef SkDrawCommand INHERITED; 431 typedef SkDrawCommand INHERITED;
432 }; 432 };
433 433
434 class SkDrawTextCommand : public SkDrawCommand { 434 class SkDrawTextCommand : public SkDrawCommand {
435 public: 435 public:
436 SkDrawTextCommand(const void* text, size_t byteLength, SkScalar x, SkScalar y, 436 SkDrawTextCommand(const void* text, size_t byteLength, SkScalar x, SkScalar y,
437 const SkPaint& paint); 437 const SkPaint& paint);
438 virtual ~SkDrawTextCommand() { delete [] fText; } 438 virtual ~SkDrawTextCommand() { delete [] fText; }
439 void execute(SkCanvas* canvas) const override; 439 void execute(SkCanvas* canvas) const override;
440 Json::Value toJSON() const override; 440 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
441 static SkDrawTextCommand* fromJSON(Json::Value& command); 441 static SkDrawTextCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
442 442
443 private: 443 private:
444 char* fText; 444 char* fText;
445 size_t fByteLength; 445 size_t fByteLength;
446 SkScalar fX; 446 SkScalar fX;
447 SkScalar fY; 447 SkScalar fY;
448 SkPaint fPaint; 448 SkPaint fPaint;
449 449
450 typedef SkDrawCommand INHERITED; 450 typedef SkDrawCommand INHERITED;
451 }; 451 };
452 452
453 class SkDrawPosTextCommand : public SkDrawCommand { 453 class SkDrawPosTextCommand : public SkDrawCommand {
454 public: 454 public:
455 SkDrawPosTextCommand(const void* text, size_t byteLength, const SkPoint pos[ ], 455 SkDrawPosTextCommand(const void* text, size_t byteLength, const SkPoint pos[ ],
456 const SkPaint& paint); 456 const SkPaint& paint);
457 virtual ~SkDrawPosTextCommand() { delete [] fPos; delete [] fText; } 457 virtual ~SkDrawPosTextCommand() { delete [] fPos; delete [] fText; }
458 void execute(SkCanvas* canvas) const override; 458 void execute(SkCanvas* canvas) const override;
459 Json::Value toJSON() const override; 459 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
460 static SkDrawPosTextCommand* fromJSON(Json::Value& command); 460 static SkDrawPosTextCommand* fromJSON(Json::Value& command, UrlDataManager& urlDataManager);
461 461
462 private: 462 private:
463 char* fText; 463 char* fText;
464 size_t fByteLength; 464 size_t fByteLength;
465 SkPoint* fPos; 465 SkPoint* fPos;
466 SkPaint fPaint; 466 SkPaint fPaint;
467 467
468 typedef SkDrawCommand INHERITED; 468 typedef SkDrawCommand INHERITED;
469 }; 469 };
470 470
471 class SkDrawTextOnPathCommand : public SkDrawCommand { 471 class SkDrawTextOnPathCommand : public SkDrawCommand {
472 public: 472 public:
473 SkDrawTextOnPathCommand(const void* text, size_t byteLength, const SkPath& p ath, 473 SkDrawTextOnPathCommand(const void* text, size_t byteLength, const SkPath& p ath,
474 const SkMatrix* matrix, const SkPaint& paint); 474 const SkMatrix* matrix, const SkPaint& paint);
475 virtual ~SkDrawTextOnPathCommand() { delete [] fText; } 475 virtual ~SkDrawTextOnPathCommand() { delete [] fText; }
476 void execute(SkCanvas* canvas) const override; 476 void execute(SkCanvas* canvas) const override;
477 Json::Value toJSON() const override; 477 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
478 static SkDrawTextOnPathCommand* fromJSON(Json::Value& command); 478 static SkDrawTextOnPathCommand* fromJSON(Json::Value& command, UrlDataManage r& urlDataManager);
479 479
480 private: 480 private:
481 char* fText; 481 char* fText;
482 size_t fByteLength; 482 size_t fByteLength;
483 SkPath fPath; 483 SkPath fPath;
484 SkMatrix fMatrix; 484 SkMatrix fMatrix;
485 SkPaint fPaint; 485 SkPaint fPaint;
486 486
487 typedef SkDrawCommand INHERITED; 487 typedef SkDrawCommand INHERITED;
488 }; 488 };
(...skipping 14 matching lines...) Expand all
503 503
504 typedef SkDrawCommand INHERITED; 504 typedef SkDrawCommand INHERITED;
505 }; 505 };
506 506
507 class SkDrawTextBlobCommand : public SkDrawCommand { 507 class SkDrawTextBlobCommand : public SkDrawCommand {
508 public: 508 public:
509 SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint); 509 SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint);
510 510
511 void execute(SkCanvas* canvas) const override; 511 void execute(SkCanvas* canvas) const override;
512 bool render(SkCanvas* canvas) const override; 512 bool render(SkCanvas* canvas) const override;
513 Json::Value toJSON() const override; 513 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
514 static SkDrawTextBlobCommand* fromJSON(Json::Value& command); 514 static SkDrawTextBlobCommand* fromJSON(Json::Value& command, UrlDataManager& urlDataManager);
515 515
516 private: 516 private:
517 SkAutoTUnref<const SkTextBlob> fBlob; 517 SkAutoTUnref<const SkTextBlob> fBlob;
518 SkScalar fXPos; 518 SkScalar fXPos;
519 SkScalar fYPos; 519 SkScalar fYPos;
520 SkPaint fPaint; 520 SkPaint fPaint;
521 521
522 typedef SkDrawCommand INHERITED; 522 typedef SkDrawCommand INHERITED;
523 }; 523 };
524 524
525 class SkDrawPatchCommand : public SkDrawCommand { 525 class SkDrawPatchCommand : public SkDrawCommand {
526 public: 526 public:
527 SkDrawPatchCommand(const SkPoint cubics[12], const SkColor colors[4], 527 SkDrawPatchCommand(const SkPoint cubics[12], const SkColor colors[4],
528 const SkPoint texCoords[4], SkXfermode* xmode, 528 const SkPoint texCoords[4], SkXfermode* xmode,
529 const SkPaint& paint); 529 const SkPaint& paint);
530 void execute(SkCanvas* canvas) const override; 530 void execute(SkCanvas* canvas) const override;
531 Json::Value toJSON() const override; 531 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
532 static SkDrawPatchCommand* fromJSON(Json::Value& command); 532 static SkDrawPatchCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
533 533
534 private: 534 private:
535 SkPoint fCubics[12]; 535 SkPoint fCubics[12];
536 SkColor* fColorsPtr; 536 SkColor* fColorsPtr;
537 SkColor fColors[4]; 537 SkColor fColors[4];
538 SkPoint* fTexCoordsPtr; 538 SkPoint* fTexCoordsPtr;
539 SkPoint fTexCoords[4]; 539 SkPoint fTexCoords[4];
540 SkAutoTUnref<SkXfermode> fXfermode; 540 SkAutoTUnref<SkXfermode> fXfermode;
541 SkPaint fPaint; 541 SkPaint fPaint;
542 542
543 typedef SkDrawCommand INHERITED; 543 typedef SkDrawCommand INHERITED;
544 }; 544 };
545 545
546 546
547 class SkDrawRectCommand : public SkDrawCommand { 547 class SkDrawRectCommand : public SkDrawCommand {
548 public: 548 public:
549 SkDrawRectCommand(const SkRect& rect, const SkPaint& paint); 549 SkDrawRectCommand(const SkRect& rect, const SkPaint& paint);
550 void execute(SkCanvas* canvas) const override; 550 void execute(SkCanvas* canvas) const override;
551 Json::Value toJSON() const override; 551 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
552 static SkDrawRectCommand* fromJSON(Json::Value& command); 552 static SkDrawRectCommand* fromJSON(Json::Value& command, UrlDataManager& url DataManager);
553 553
554 const SkRect& rect() const { return fRect; } 554 const SkRect& rect() const { return fRect; }
555 const SkPaint& paint() const { return fPaint; } 555 const SkPaint& paint() const { return fPaint; }
556 private: 556 private:
557 SkRect fRect; 557 SkRect fRect;
558 SkPaint fPaint; 558 SkPaint fPaint;
559 559
560 typedef SkDrawCommand INHERITED; 560 typedef SkDrawCommand INHERITED;
561 }; 561 };
562 562
563 class SkDrawRRectCommand : public SkDrawCommand { 563 class SkDrawRRectCommand : public SkDrawCommand {
564 public: 564 public:
565 SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& paint); 565 SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& paint);
566 void execute(SkCanvas* canvas) const override; 566 void execute(SkCanvas* canvas) const override;
567 bool render(SkCanvas* canvas) const override; 567 bool render(SkCanvas* canvas) const override;
568 Json::Value toJSON() const override; 568 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
569 static SkDrawRRectCommand* fromJSON(Json::Value& command); 569 static SkDrawRRectCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
570 570
571 private: 571 private:
572 SkRRect fRRect; 572 SkRRect fRRect;
573 SkPaint fPaint; 573 SkPaint fPaint;
574 574
575 typedef SkDrawCommand INHERITED; 575 typedef SkDrawCommand INHERITED;
576 }; 576 };
577 577
578 class SkDrawDRRectCommand : public SkDrawCommand { 578 class SkDrawDRRectCommand : public SkDrawCommand {
579 public: 579 public:
580 SkDrawDRRectCommand(const SkRRect& outer, const SkRRect& inner, 580 SkDrawDRRectCommand(const SkRRect& outer, const SkRRect& inner,
581 const SkPaint& paint); 581 const SkPaint& paint);
582 void execute(SkCanvas* canvas) const override; 582 void execute(SkCanvas* canvas) const override;
583 bool render(SkCanvas* canvas) const override; 583 bool render(SkCanvas* canvas) const override;
584 Json::Value toJSON() const override; 584 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
585 static SkDrawDRRectCommand* fromJSON(Json::Value& command); 585 static SkDrawDRRectCommand* fromJSON(Json::Value& command, UrlDataManager& u rlDataManager);
586 586
587 private: 587 private:
588 SkRRect fOuter; 588 SkRRect fOuter;
589 SkRRect fInner; 589 SkRRect fInner;
590 SkPaint fPaint; 590 SkPaint fPaint;
591 591
592 typedef SkDrawCommand INHERITED; 592 typedef SkDrawCommand INHERITED;
593 }; 593 };
594 594
595 class SkDrawVerticesCommand : public SkDrawCommand { 595 class SkDrawVerticesCommand : public SkDrawCommand {
(...skipping 18 matching lines...) Expand all
614 SkPaint fPaint; 614 SkPaint fPaint;
615 615
616 typedef SkDrawCommand INHERITED; 616 typedef SkDrawCommand INHERITED;
617 }; 617 };
618 618
619 class SkSaveCommand : public SkDrawCommand { 619 class SkSaveCommand : public SkDrawCommand {
620 public: 620 public:
621 SkSaveCommand(); 621 SkSaveCommand();
622 void execute(SkCanvas* canvas) const override; 622 void execute(SkCanvas* canvas) const override;
623 Action action() const override { return kPushLayer_Action; } 623 Action action() const override { return kPushLayer_Action; }
624 static SkSaveCommand* fromJSON(Json::Value& command); 624 static SkSaveCommand* fromJSON(Json::Value& command, UrlDataManager& urlData Manager);
625 625
626 private: 626 private:
627 typedef SkDrawCommand INHERITED; 627 typedef SkDrawCommand INHERITED;
628 }; 628 };
629 629
630 class SkSaveLayerCommand : public SkDrawCommand { 630 class SkSaveLayerCommand : public SkDrawCommand {
631 public: 631 public:
632 SkSaveLayerCommand(const SkCanvas::SaveLayerRec&); 632 SkSaveLayerCommand(const SkCanvas::SaveLayerRec&);
633 virtual ~SkSaveLayerCommand(); 633 virtual ~SkSaveLayerCommand();
634 void execute(SkCanvas* canvas) const override; 634 void execute(SkCanvas* canvas) const override;
635 Json::Value toJSON() const override; 635 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
636 static SkSaveLayerCommand* fromJSON(Json::Value& command); 636 static SkSaveLayerCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
637 void vizExecute(SkCanvas* canvas) const override; 637 void vizExecute(SkCanvas* canvas) const override;
638 Action action() const override{ return kPushLayer_Action; } 638 Action action() const override{ return kPushLayer_Action; }
639 void setActive(bool active) override { fActive = active; } 639 void setActive(bool active) override { fActive = active; }
640 bool active() const override { return fActive; } 640 bool active() const override { return fActive; }
641 641
642 const SkPaint* paint() const { return fPaintPtr; } 642 const SkPaint* paint() const { return fPaintPtr; }
643 643
644 private: 644 private:
645 SkRect fBounds; 645 SkRect fBounds;
646 SkPaint fPaint; 646 SkPaint fPaint;
647 SkPaint* fPaintPtr; 647 SkPaint* fPaintPtr;
648 const SkImageFilter* fBackdrop; 648 const SkImageFilter* fBackdrop;
649 uint32_t fSaveLayerFlags; 649 uint32_t fSaveLayerFlags;
650 650
651 bool fActive; 651 bool fActive;
652 652
653 typedef SkDrawCommand INHERITED; 653 typedef SkDrawCommand INHERITED;
654 }; 654 };
655 655
656 class SkSetMatrixCommand : public SkDrawCommand { 656 class SkSetMatrixCommand : public SkDrawCommand {
657 public: 657 public:
658 SkSetMatrixCommand(const SkMatrix& matrix); 658 SkSetMatrixCommand(const SkMatrix& matrix);
659 void setUserMatrix(const SkMatrix&) override; 659 void setUserMatrix(const SkMatrix&) override;
660 void execute(SkCanvas* canvas) const override; 660 void execute(SkCanvas* canvas) const override;
661 Json::Value toJSON() const override; 661 Json::Value toJSON(UrlDataManager& urlDataManager) const override;
662 static SkSetMatrixCommand* fromJSON(Json::Value& command); 662 static SkSetMatrixCommand* fromJSON(Json::Value& command, UrlDataManager& ur lDataManager);
663 663
664 private: 664 private:
665 SkMatrix fUserMatrix; 665 SkMatrix fUserMatrix;
666 SkMatrix fMatrix; 666 SkMatrix fMatrix;
667 667
668 typedef SkDrawCommand INHERITED; 668 typedef SkDrawCommand INHERITED;
669 }; 669 };
670 670
671 #endif 671 #endif
OLDNEW
« no previous file with comments | « tools/debugger/SkDebugCanvas.cpp ('k') | tools/debugger/SkDrawCommand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698