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

Side by Side Diff: src/utils/debugger/SkDrawCommand.h

Issue 1048383002: [SkDebugger] Flatten drawPicture ops (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 5 years, 8 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 | « src/utils/debugger/SkDebugCanvas.cpp ('k') | src/utils/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 1
2 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #ifndef SKDRAWCOMMAND_H_ 9 #ifndef SKDRAWCOMMAND_H_
10 #define SKDRAWCOMMAND_H_ 10 #define SKDRAWCOMMAND_H_
11 11
12 #include "SkCanvas.h" 12 #include "SkCanvas.h"
13 #include "SkString.h" 13 #include "SkString.h"
14 14
15 class SK_API SkDrawCommand { 15 class SK_API SkDrawCommand {
16 public: 16 public:
17 enum OpType { 17 enum OpType {
18 kBeginCommentGroup_OpType, 18 kBeginCommentGroup_OpType,
19 kBeginDrawPicture_OpType,
19 kClipPath_OpType, 20 kClipPath_OpType,
20 kClipRegion_OpType, 21 kClipRegion_OpType,
21 kClipRect_OpType, 22 kClipRect_OpType,
22 kClipRRect_OpType, 23 kClipRRect_OpType,
23 kComment_OpType, 24 kComment_OpType,
24 kConcat_OpType, 25 kConcat_OpType,
25 kDrawBitmap_OpType, 26 kDrawBitmap_OpType,
26 kDrawBitmapNine_OpType, 27 kDrawBitmapNine_OpType,
27 kDrawBitmapRect_OpType, 28 kDrawBitmapRect_OpType,
28 kDrawClear_OpType, 29 kDrawClear_OpType,
29 kDrawDRRect_OpType, 30 kDrawDRRect_OpType,
30 kDrawOval_OpType, 31 kDrawOval_OpType,
31 kDrawPaint_OpType, 32 kDrawPaint_OpType,
32 kDrawPatch_OpType, 33 kDrawPatch_OpType,
33 kDrawPath_OpType, 34 kDrawPath_OpType,
34 kDrawPicture_OpType,
35 kDrawPoints_OpType, 35 kDrawPoints_OpType,
36 kDrawPosText_OpType, 36 kDrawPosText_OpType,
37 kDrawPosTextH_OpType, 37 kDrawPosTextH_OpType,
38 kDrawRect_OpType, 38 kDrawRect_OpType,
39 kDrawRRect_OpType, 39 kDrawRRect_OpType,
40 kDrawSprite_OpType, 40 kDrawSprite_OpType,
41 kDrawText_OpType, 41 kDrawText_OpType,
42 kDrawTextBlob_OpType, 42 kDrawTextBlob_OpType,
43 kDrawTextOnPath_OpType, 43 kDrawTextOnPath_OpType,
44 kDrawVertices_OpType, 44 kDrawVertices_OpType,
45 kEndCommentGroup_OpType, 45 kEndCommentGroup_OpType,
46 kEndDrawPicture_OpType,
46 kRestore_OpType, 47 kRestore_OpType,
47 kSave_OpType, 48 kSave_OpType,
48 kSaveLayer_OpType, 49 kSaveLayer_OpType,
49 kSetMatrix_OpType, 50 kSetMatrix_OpType,
50 51
51 kLast_OpType = kSetMatrix_OpType 52 kLast_OpType = kSetMatrix_OpType
52 }; 53 };
53 54
54 static const int kOpTypeCount = kLast_OpType + 1; 55 static const int kOpTypeCount = kLast_OpType + 1;
55 56
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 void execute(SkCanvas* canvas) const override; 331 void execute(SkCanvas* canvas) const override;
331 bool render(SkCanvas* canvas) const override; 332 bool render(SkCanvas* canvas) const override;
332 333
333 private: 334 private:
334 SkPath fPath; 335 SkPath fPath;
335 SkPaint fPaint; 336 SkPaint fPaint;
336 337
337 typedef SkDrawCommand INHERITED; 338 typedef SkDrawCommand INHERITED;
338 }; 339 };
339 340
340 class SkDrawPictureCommand : public SkDrawCommand { 341 class SkBeginDrawPictureCommand : public SkDrawCommand {
341 public: 342 public:
342 SkDrawPictureCommand(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint); 343 SkBeginDrawPictureCommand(const SkPicture* picture,
344 const SkMatrix* matrix,
345 const SkPaint* paint);
346
343 void execute(SkCanvas* canvas) const override; 347 void execute(SkCanvas* canvas) const override;
344 bool render(SkCanvas* canvas) const override; 348 bool render(SkCanvas* canvas) const override;
345 349
346 private: 350 private:
347 SkAutoTUnref<const SkPicture> fPicture; 351 SkAutoTUnref<const SkPicture> fPicture;
348 SkMatrix fMatrix; 352 SkTLazy<SkMatrix> fMatrix;
349 SkMatrix* fMatrixPtr; 353 SkTLazy<SkPaint> fPaint;
350 SkPaint fPaint;
351 SkPaint* fPaintPtr;
352 354
353 typedef SkDrawCommand INHERITED; 355 typedef SkDrawCommand INHERITED;
354 }; 356 };
357
358 class SkEndDrawPictureCommand : public SkDrawCommand {
359 public:
360 SkEndDrawPictureCommand(bool restore);
361
362 void execute(SkCanvas* canvas) const override;
363
364 private:
365 bool fRestore;
366
367 typedef SkDrawCommand INHERITED;
368 };
355 369
356 class SkDrawPointsCommand : public SkDrawCommand { 370 class SkDrawPointsCommand : public SkDrawCommand {
357 public: 371 public:
358 SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, const SkPoint pt s[], 372 SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, const SkPoint pt s[],
359 const SkPaint& paint); 373 const SkPaint& paint);
360 virtual ~SkDrawPointsCommand() { delete [] fPts; } 374 virtual ~SkDrawPointsCommand() { delete [] fPts; }
361 void execute(SkCanvas* canvas) const override; 375 void execute(SkCanvas* canvas) const override;
362 bool render(SkCanvas* canvas) const override; 376 bool render(SkCanvas* canvas) const override;
363 private: 377 private:
364 SkCanvas::PointMode fMode; 378 SkCanvas::PointMode fMode;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 void setUserMatrix(const SkMatrix&) override; 596 void setUserMatrix(const SkMatrix&) override;
583 void execute(SkCanvas* canvas) const override; 597 void execute(SkCanvas* canvas) const override;
584 private: 598 private:
585 SkMatrix fUserMatrix; 599 SkMatrix fUserMatrix;
586 SkMatrix fMatrix; 600 SkMatrix fMatrix;
587 601
588 typedef SkDrawCommand INHERITED; 602 typedef SkDrawCommand INHERITED;
589 }; 603 };
590 604
591 #endif 605 #endif
OLDNEW
« no previous file with comments | « src/utils/debugger/SkDebugCanvas.cpp ('k') | src/utils/debugger/SkDrawCommand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698