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

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

Issue 844493003: Remove incremental draw optimization from SkDebugCanvas (Closed) Base URL: https://skia.googlesource.com/skia.git@debugcanvas-stateless-draw-02-debugger-rasterwidget-update-on-need
Patch Set: rebase Created 5 years, 11 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_
(...skipping 24 matching lines...) Expand all
35 void setVisible(bool toggle) { 35 void setVisible(bool toggle) {
36 fVisible = toggle; 36 fVisible = toggle;
37 } 37 }
38 38
39 const SkTDArray<SkString*>* Info() const { return &fInfo; } 39 const SkTDArray<SkString*>* Info() const { return &fInfo; }
40 virtual void execute(SkCanvas*) const = 0; 40 virtual void execute(SkCanvas*) const = 0;
41 virtual void vizExecute(SkCanvas*) const {} 41 virtual void vizExecute(SkCanvas*) const {}
42 42
43 virtual void setUserMatrix(const SkMatrix&) {} 43 virtual void setUserMatrix(const SkMatrix&) {}
44 44
45 /** Does nothing by default, but used by save() and restore()-type
46 subclasses to track unresolved save() calls. */
47 virtual void trackSaveState(int* state) {}
48
49 // The next "active" system is only used by save, saveLayer, and restore. 45 // The next "active" system is only used by save, saveLayer, and restore.
50 // It is used to determine which saveLayers are currently active (at a 46 // It is used to determine which saveLayers are currently active (at a
51 // given point in the rendering). 47 // given point in the rendering).
52 // saves just return a kPushLayer action but don't track active state 48 // saves just return a kPushLayer action but don't track active state
53 // restores just return a kPopLayer action 49 // restores just return a kPopLayer action
54 // saveLayers return kPushLayer but also track the active state 50 // saveLayers return kPushLayer but also track the active state
55 enum Action { 51 enum Action {
56 kNone_Action, 52 kNone_Action,
57 kPopLayer_Action, 53 kPopLayer_Action,
58 kPushLayer_Action, 54 kPushLayer_Action,
(...skipping 14 matching lines...) Expand all
73 private: 69 private:
74 DrawType fDrawType; 70 DrawType fDrawType;
75 size_t fOffset; 71 size_t fOffset;
76 bool fVisible; 72 bool fVisible;
77 }; 73 };
78 74
79 class SkRestoreCommand : public SkDrawCommand { 75 class SkRestoreCommand : public SkDrawCommand {
80 public: 76 public:
81 SkRestoreCommand(); 77 SkRestoreCommand();
82 void execute(SkCanvas* canvas) const SK_OVERRIDE; 78 void execute(SkCanvas* canvas) const SK_OVERRIDE;
83 void trackSaveState(int* state) SK_OVERRIDE;
84 Action action() const SK_OVERRIDE { return kPopLayer_Action; } 79 Action action() const SK_OVERRIDE { return kPopLayer_Action; }
85 80
86 private: 81 private:
87 typedef SkDrawCommand INHERITED; 82 typedef SkDrawCommand INHERITED;
88 }; 83 };
89 84
90 class SkClearCommand : public SkDrawCommand { 85 class SkClearCommand : public SkDrawCommand {
91 public: 86 public:
92 SkClearCommand(SkColor color); 87 SkClearCommand(SkColor color);
93 void execute(SkCanvas* canvas) const SK_OVERRIDE; 88 void execute(SkCanvas* canvas) const SK_OVERRIDE;
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 private: 499 private:
505 SkScalar fDegrees; 500 SkScalar fDegrees;
506 501
507 typedef SkDrawCommand INHERITED; 502 typedef SkDrawCommand INHERITED;
508 }; 503 };
509 504
510 class SkSaveCommand : public SkDrawCommand { 505 class SkSaveCommand : public SkDrawCommand {
511 public: 506 public:
512 SkSaveCommand(); 507 SkSaveCommand();
513 void execute(SkCanvas* canvas) const SK_OVERRIDE; 508 void execute(SkCanvas* canvas) const SK_OVERRIDE;
514 void trackSaveState(int* state) SK_OVERRIDE;
515 Action action() const SK_OVERRIDE { return kPushLayer_Action; } 509 Action action() const SK_OVERRIDE { return kPushLayer_Action; }
516 private: 510 private:
517 typedef SkDrawCommand INHERITED; 511 typedef SkDrawCommand INHERITED;
518 }; 512 };
519 513
520 class SkSaveLayerCommand : public SkDrawCommand { 514 class SkSaveLayerCommand : public SkDrawCommand {
521 public: 515 public:
522 SkSaveLayerCommand(const SkRect* bounds, const SkPaint* paint, 516 SkSaveLayerCommand(const SkRect* bounds, const SkPaint* paint,
523 SkCanvas::SaveFlags flags); 517 SkCanvas::SaveFlags flags);
524 void execute(SkCanvas* canvas) const SK_OVERRIDE; 518 void execute(SkCanvas* canvas) const SK_OVERRIDE;
525 void vizExecute(SkCanvas* canvas) const SK_OVERRIDE; 519 void vizExecute(SkCanvas* canvas) const SK_OVERRIDE;
526 void trackSaveState(int* state) SK_OVERRIDE;
527 Action action() const SK_OVERRIDE{ return kPushLayer_Action; } 520 Action action() const SK_OVERRIDE{ return kPushLayer_Action; }
528 void setActive(bool active) SK_OVERRIDE { fActive = active; } 521 void setActive(bool active) SK_OVERRIDE { fActive = active; }
529 bool active() const SK_OVERRIDE { return fActive; } 522 bool active() const SK_OVERRIDE { return fActive; }
530 523
531 const SkPaint* paint() const { return fPaintPtr; } 524 const SkPaint* paint() const { return fPaintPtr; }
532 525
533 private: 526 private:
534 SkRect fBounds; 527 SkRect fBounds;
535 SkPaint fPaint; 528 SkPaint fPaint;
536 SkPaint* fPaintPtr; 529 SkPaint* fPaintPtr;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 SkScalar y() const { return fDy; } 581 SkScalar y() const { return fDy; }
589 582
590 private: 583 private:
591 SkScalar fDx; 584 SkScalar fDx;
592 SkScalar fDy; 585 SkScalar fDy;
593 586
594 typedef SkDrawCommand INHERITED; 587 typedef SkDrawCommand INHERITED;
595 }; 588 };
596 589
597 #endif 590 #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