diff options
author | 2013-03-11 22:53:11 +0000 | |
---|---|---|
committer | 2013-03-11 22:53:11 +0000 | |
commit | febc0ec41b4cff6ea69f2b89d72c0d330d198283 (patch) | |
tree | 1abf2edbdde7b572077ee45e405ee3526599ea36 /debugger | |
parent | 512977aead6e6b7483a4cb4866b3df435ca78214 (diff) |
Add misc. optimizations to filter tool
https://codereview.appspot.com/7705043/
git-svn-id: http://skia.googlecode.com/svn/trunk@8087 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'debugger')
-rw-r--r-- | debugger/SkDebugCanvas.cpp | 4 | ||||
-rw-r--r-- | debugger/SkDebugCanvas.h | 6 | ||||
-rw-r--r-- | debugger/SkDrawCommand.cpp | 4 | ||||
-rw-r--r-- | debugger/SkDrawCommand.h | 17 |
4 files changed, 28 insertions, 3 deletions
diff --git a/debugger/SkDebugCanvas.cpp b/debugger/SkDebugCanvas.cpp index 4e71bc340f..e8589f3b54 100644 --- a/debugger/SkDebugCanvas.cpp +++ b/debugger/SkDebugCanvas.cpp @@ -226,6 +226,10 @@ const SkTDArray <SkDrawCommand*>& SkDebugCanvas::getDrawCommands() const { return fCommandVector; } +SkTDArray <SkDrawCommand*>& SkDebugCanvas::getDrawCommands() { + return fCommandVector; +} + // TODO(chudy): Free command string memory. SkTArray<SkString>* SkDebugCanvas::getDrawCommandsAsStrings() const { SkTArray<SkString>* commandString = new SkTArray<SkString>(fCommandVector.count()); diff --git a/debugger/SkDebugCanvas.h b/debugger/SkDebugCanvas.h index a29fe6a8a4..5afc7fca2f 100644 --- a/debugger/SkDebugCanvas.h +++ b/debugger/SkDebugCanvas.h @@ -91,6 +91,12 @@ public: Returns the vector of draw commands */ const SkTDArray<SkDrawCommand*>& getDrawCommands() const; + + /** + Returns the vector of draw commands. Do not use this entry + point - it is going away! + */ + SkTDArray<SkDrawCommand*>& getDrawCommands(); /** * Returns the string vector of draw commands diff --git a/debugger/SkDrawCommand.cpp b/debugger/SkDrawCommand.cpp index 8ffcb4b5b7..c85d8c98a1 100644 --- a/debugger/SkDrawCommand.cpp +++ b/debugger/SkDrawCommand.cpp @@ -394,7 +394,7 @@ void DrawRectC::execute(SkCanvas* canvas) { DrawRRect::DrawRRect(const SkRRect& rrect, const SkPaint& paint) { this->fRRect = rrect; - this->fPaint = &paint; + this->fPaint = paint; this->fDrawType = DRAW_RRECT; this->fInfo.push(SkObjectParser::RRectToString(rrect)); @@ -402,7 +402,7 @@ DrawRRect::DrawRRect(const SkRRect& rrect, const SkPaint& paint) { } void DrawRRect::execute(SkCanvas* canvas) { - canvas->drawRRect(this->fRRect, *this->fPaint); + canvas->drawRRect(fRRect, fPaint); } DrawSprite::DrawSprite(const SkBitmap& bitmap, int left, int top, diff --git a/debugger/SkDrawCommand.h b/debugger/SkDrawCommand.h index c0c59e6d91..d06e7fe2b8 100644 --- a/debugger/SkDrawCommand.h +++ b/debugger/SkDrawCommand.h @@ -92,6 +92,11 @@ class ClipRect : public SkDrawCommand { public: ClipRect(const SkRect& rect, SkRegion::Op op, bool doAA); virtual void execute(SkCanvas* canvas) SK_OVERRIDE; + + const SkRect& rect() const { return *fRect; } + SkRegion::Op op() const { return fOp; } + bool doAA() const { return fDoAA; } + private: const SkRect* fRect; SkRegion::Op fOp; @@ -102,6 +107,11 @@ class ClipRRect : public SkDrawCommand { public: ClipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA); virtual void execute(SkCanvas* canvas) SK_OVERRIDE; + + const SkRRect& rrect() const { return fRRect; } + SkRegion::Op op() const { return fOp; } + bool doAA() const { return fDoAA; } + private: SkRRect fRRect; SkRegion::Op fOp; @@ -173,6 +183,8 @@ public: void setPaint(const SkPaint& paint) { fPaint = paint; fPaintPtr = &fPaint; } + const SkRect& dstRect() { return *fDst; } + private: const SkRect* fSrc; SkPaint fPaint; @@ -298,6 +310,9 @@ class DrawRectC : public SkDrawCommand { public: DrawRectC(const SkRect& rect, const SkPaint& paint); virtual void execute(SkCanvas* canvas) SK_OVERRIDE; + + const SkRect& rect() const { return *fRect; } + const SkPaint* paint() const { return fPaint; } private: const SkRect* fRect; const SkPaint* fPaint; @@ -309,7 +324,7 @@ public: virtual void execute(SkCanvas* canvas) SK_OVERRIDE; private: SkRRect fRRect; - const SkPaint* fPaint; + SkPaint fPaint; }; class DrawSprite : public SkDrawCommand { |