More SkDrawCommand cleanup
https://codereview.chromium.org/12979004/
git-svn-id: http://skia.googlecode.com/svn/trunk@8328 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/debugger/SkDrawCommand.h b/debugger/SkDrawCommand.h
index df81686..0948af0 100644
--- a/debugger/SkDrawCommand.h
+++ b/debugger/SkDrawCommand.h
@@ -95,14 +95,16 @@
ClipRect(const SkRect& rect, SkRegion::Op op, bool doAA);
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
- const SkRect& rect() const { return *fRect; }
+ const SkRect& rect() const { return fRect; }
SkRegion::Op op() const { return fOp; }
bool doAA() const { return fDoAA; }
private:
- const SkRect* fRect;
+ SkRect fRect;
SkRegion::Op fOp;
- bool fDoAA;
+ bool fDoAA;
+
+ typedef SkDrawCommand INHERITED;
};
class ClipRRect : public SkDrawCommand {
@@ -115,9 +117,11 @@
bool doAA() const { return fDoAA; }
private:
- SkRRect fRRect;
+ SkRRect fRRect;
SkRegion::Op fOp;
- bool fDoAA;
+ bool fDoAA;
+
+ typedef SkDrawCommand INHERITED;
};
class Concat : public SkDrawCommand {
@@ -214,8 +218,10 @@
DrawOval(const SkRect& oval, const SkPaint& paint);
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
private:
- const SkRect* fOval;
- const SkPaint* fPaint;
+ SkRect fOval;
+ SkPaint fPaint;
+
+ typedef SkDrawCommand INHERITED;
};
class DrawPaint : public SkDrawCommand {
@@ -223,7 +229,9 @@
DrawPaint(const SkPaint& paint);
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
private:
- const SkPaint* fPaint;
+ SkPaint fPaint;
+
+ typedef SkDrawCommand INHERITED;
};
class DrawPath : public SkDrawCommand {
@@ -251,13 +259,17 @@
class DrawPoints : public SkDrawCommand {
public:
DrawPoints(SkCanvas::PointMode mode, size_t count, const SkPoint pts[],
- const SkPaint& paint);
+ const SkPaint& paint);
+ virtual ~DrawPoints() { delete [] fPts; }
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
+
private:
- const SkPoint* fPts;
SkCanvas::PointMode fMode;
- size_t fCount;
- const SkPaint* fPaint;
+ size_t fCount;
+ SkPoint* fPts;
+ SkPaint fPaint;
+
+ typedef SkDrawCommand INHERITED;
};
/* TODO(chudy): DrawText is a predefined macro and was breaking something
@@ -279,19 +291,20 @@
class DrawPosText : public SkDrawCommand {
public:
DrawPosText(const void* text, size_t byteLength, const SkPoint pos[],
- const SkPaint& paint);
+ const SkPaint& paint);
+ virtual ~DrawPosText() { delete [] fPos; delete [] fText; }
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
private:
- const SkPoint* fPos;
- const void* fText;
+ SkPoint* fPos;
+ char* fText;
size_t fByteLength;
- const SkPaint* fPaint;
+ SkPaint fPaint;
};
class DrawTextOnPath : public SkDrawCommand {
public:
DrawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
- const SkMatrix* matrix, const SkPaint& paint);
+ const SkMatrix* matrix, const SkPaint& paint);
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
private:
const SkMatrix* fMatrix;
@@ -305,10 +318,11 @@
public:
DrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[],
SkScalar constY, const SkPaint& paint);
+ virtual ~DrawPosTextH() { delete [] fXpos; delete [] fText; }
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
private:
- const SkScalar* fXpos;
- const void* fText;
+ SkScalar* fXpos;
+ char* fText;
size_t fByteLength;
SkScalar fConstY;
SkPaint fPaint;