aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-11 22:53:11 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-11 22:53:11 +0000
commitfebc0ec41b4cff6ea69f2b89d72c0d330d198283 (patch)
tree1abf2edbdde7b572077ee45e405ee3526599ea36 /debugger
parent512977aead6e6b7483a4cb4866b3df435ca78214 (diff)
Add misc. optimizations to filter tool
Diffstat (limited to 'debugger')
-rw-r--r--debugger/SkDebugCanvas.cpp4
-rw-r--r--debugger/SkDebugCanvas.h6
-rw-r--r--debugger/SkDrawCommand.cpp4
-rw-r--r--debugger/SkDrawCommand.h17
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 {