diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-25 23:31:33 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-25 23:31:33 +0000 |
commit | 57f74e0aa931e7784d47cba3ecc83020aa8e72b2 (patch) | |
tree | 31eb6733b4011c2014efdf824c6f2c5240be8d37 /src/utils/debugger/SkDrawCommand.cpp | |
parent | 2b290cec9825da11d8e09074727cfaac5eca6453 (diff) |
Debugger improvements
This CL:
improves the 'SaveAs' functionality
allows switching between # and offset indexing in the command list
minor nit cleanup
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/211383003
git-svn-id: http://skia.googlecode.com/svn/trunk@13950 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/utils/debugger/SkDrawCommand.cpp')
-rw-r--r-- | src/utils/debugger/SkDrawCommand.cpp | 147 |
1 files changed, 73 insertions, 74 deletions
diff --git a/src/utils/debugger/SkDrawCommand.cpp b/src/utils/debugger/SkDrawCommand.cpp index 7e6b22b7c7..f10f1e8bc1 100644 --- a/src/utils/debugger/SkDrawCommand.cpp +++ b/src/utils/debugger/SkDrawCommand.cpp @@ -14,10 +14,12 @@ SkDrawCommand::SkDrawCommand(DrawType type) : fDrawType(type) + , fOffset(0) , fVisible(true) { } SkDrawCommand::SkDrawCommand() { + fOffset = 0; fVisible = true; } @@ -80,9 +82,8 @@ SkString SkDrawCommand::toString() { return SkString(GetCommandString(fDrawType)); } -SkClearCommand::SkClearCommand(SkColor color) { +SkClearCommand::SkClearCommand(SkColor color) : INHERITED(DRAW_CLEAR) { fColor = color; - fDrawType = DRAW_CLEAR; fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); } @@ -192,11 +193,11 @@ void render_drrect(SkCanvas* canvas, const SkRRect& outer, const SkRRect& inner) }; -SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool doAA) { +SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool doAA) + : INHERITED(CLIP_PATH) { fPath = path; fOp = op; fDoAA = doAA; - fDrawType = CLIP_PATH; fInfo.push(SkObjectParser::PathToString(path)); fInfo.push(SkObjectParser::RegionOpToString(op)); @@ -212,10 +213,10 @@ bool SkClipPathCommand::render(SkCanvas* canvas) const { return true; } -SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkRegion::Op op) { +SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkRegion::Op op) + : INHERITED(CLIP_REGION) { fRegion = region; fOp = op; - fDrawType = CLIP_REGION; fInfo.push(SkObjectParser::RegionToString(region)); fInfo.push(SkObjectParser::RegionOpToString(op)); @@ -225,11 +226,11 @@ void SkClipRegionCommand::execute(SkCanvas* canvas) { canvas->clipRegion(fRegion, fOp); } -SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool doAA) { +SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool doAA) + : INHERITED(CLIP_RECT) { fRect = rect; fOp = op; fDoAA = doAA; - fDrawType = CLIP_RECT; fInfo.push(SkObjectParser::RectToString(rect)); fInfo.push(SkObjectParser::RegionOpToString(op)); @@ -240,11 +241,11 @@ void SkClipRectCommand::execute(SkCanvas* canvas) { canvas->clipRect(fRect, fOp, fDoAA); } -SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bool doAA) { +SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bool doAA) + : INHERITED(CLIP_RRECT) { fRRect = rrect; fOp = op; fDoAA = doAA; - fDrawType = CLIP_RRECT; fInfo.push(SkObjectParser::RRectToString(rrect)); fInfo.push(SkObjectParser::RegionOpToString(op)); @@ -260,9 +261,9 @@ bool SkClipRRectCommand::render(SkCanvas* canvas) const { return true; } -SkConcatCommand::SkConcatCommand(const SkMatrix& matrix) { +SkConcatCommand::SkConcatCommand(const SkMatrix& matrix) + : INHERITED(CONCAT) { fMatrix = matrix; - fDrawType = CONCAT; fInfo.push(SkObjectParser::MatrixToString(matrix)); } @@ -272,7 +273,8 @@ void SkConcatCommand::execute(SkCanvas* canvas) { } SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, SkScalar top, - const SkPaint* paint) { + const SkPaint* paint) + : INHERITED(DRAW_BITMAP) { fBitmap = bitmap; fLeft = left; fTop = top; @@ -282,7 +284,6 @@ SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left, } else { fPaintPtr = NULL; } - fDrawType = DRAW_BITMAP; fInfo.push(SkObjectParser::BitmapToString(bitmap)); fInfo.push(SkObjectParser::ScalarToString(left, "SkScalar left: ")); @@ -303,7 +304,8 @@ bool SkDrawBitmapCommand::render(SkCanvas* canvas) const { SkDrawBitmapMatrixCommand::SkDrawBitmapMatrixCommand(const SkBitmap& bitmap, const SkMatrix& matrix, - const SkPaint* paint) { + const SkPaint* paint) + : INHERITED(DRAW_BITMAP_MATRIX) { fBitmap = bitmap; fMatrix = matrix; if (NULL != paint) { @@ -312,7 +314,6 @@ SkDrawBitmapMatrixCommand::SkDrawBitmapMatrixCommand(const SkBitmap& bitmap, } else { fPaintPtr = NULL; } - fDrawType = DRAW_BITMAP_MATRIX; fInfo.push(SkObjectParser::BitmapToString(bitmap)); fInfo.push(SkObjectParser::MatrixToString(matrix)); @@ -331,7 +332,8 @@ bool SkDrawBitmapMatrixCommand::render(SkCanvas* canvas) const { } SkDrawBitmapNineCommand::SkDrawBitmapNineCommand(const SkBitmap& bitmap, const SkIRect& center, - const SkRect& dst, const SkPaint* paint) { + const SkRect& dst, const SkPaint* paint) + : INHERITED(DRAW_BITMAP_NINE) { fBitmap = bitmap; fCenter = center; fDst = dst; @@ -341,7 +343,6 @@ SkDrawBitmapNineCommand::SkDrawBitmapNineCommand(const SkBitmap& bitmap, const S } else { fPaintPtr = NULL; } - fDrawType = DRAW_BITMAP_NINE; fInfo.push(SkObjectParser::BitmapToString(bitmap)); fInfo.push(SkObjectParser::IRectToString(center)); @@ -362,7 +363,8 @@ bool SkDrawBitmapNineCommand::render(SkCanvas* canvas) const { SkDrawBitmapRectCommand::SkDrawBitmapRectCommand(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, const SkPaint* paint, - SkCanvas::DrawBitmapRectFlags flags) { + SkCanvas::DrawBitmapRectFlags flags) + : INHERITED(DRAW_BITMAP_RECT_TO_RECT) { fBitmap = bitmap; if (NULL != src) { fSrc = *src; @@ -379,8 +381,6 @@ SkDrawBitmapRectCommand::SkDrawBitmapRectCommand(const SkBitmap& bitmap, const S } fFlags = flags; - fDrawType = DRAW_BITMAP_RECT_TO_RECT; - fInfo.push(SkObjectParser::BitmapToString(bitmap)); if (NULL != src) { fInfo.push(SkObjectParser::RectToString(*src, "Src: ")); @@ -401,11 +401,11 @@ bool SkDrawBitmapRectCommand::render(SkCanvas* canvas) const { return true; } -SkDrawDataCommand::SkDrawDataCommand(const void* data, size_t length) { +SkDrawDataCommand::SkDrawDataCommand(const void* data, size_t length) + : INHERITED(DRAW_DATA) { fData = new char[length]; memcpy(fData, data, length); fLength = length; - fDrawType = DRAW_DATA; // TODO: add display of actual data? SkString* str = new SkString; @@ -434,13 +434,14 @@ SkCommentCommand::SkCommentCommand(const char* kywd, const char* value) fInfo.push(temp); } -SkEndCommentGroupCommand::SkEndCommentGroupCommand() : INHERITED(END_COMMENT_GROUP) { +SkEndCommentGroupCommand::SkEndCommentGroupCommand() + : INHERITED(END_COMMENT_GROUP) { } -SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint) { +SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint) + : INHERITED(DRAW_OVAL) { fOval = oval; fPaint = paint; - fDrawType = DRAW_OVAL; fInfo.push(SkObjectParser::RectToString(oval)); fInfo.push(SkObjectParser::PaintToString(paint)); @@ -466,9 +467,9 @@ bool SkDrawOvalCommand::render(SkCanvas* canvas) const { return true; } -SkDrawPaintCommand::SkDrawPaintCommand(const SkPaint& paint) { +SkDrawPaintCommand::SkDrawPaintCommand(const SkPaint& paint) + : INHERITED(DRAW_PAINT) { fPaint = paint; - fDrawType = DRAW_PAINT; fInfo.push(SkObjectParser::PaintToString(paint)); } @@ -483,10 +484,10 @@ bool SkDrawPaintCommand::render(SkCanvas* canvas) const { return true; } -SkDrawPathCommand::SkDrawPathCommand(const SkPath& path, const SkPaint& paint) { +SkDrawPathCommand::SkDrawPathCommand(const SkPath& path, const SkPaint& paint) + : INHERITED(DRAW_PATH) { fPath = path; fPaint = paint; - fDrawType = DRAW_PATH; fInfo.push(SkObjectParser::PathToString(path)); fInfo.push(SkObjectParser::PaintToString(paint)); @@ -501,9 +502,9 @@ bool SkDrawPathCommand::render(SkCanvas* canvas) const { return true; } -SkDrawPictureCommand::SkDrawPictureCommand(SkPicture& picture) : - fPicture(picture) { - fDrawType = DRAW_PICTURE; +SkDrawPictureCommand::SkDrawPictureCommand(SkPicture& picture) + : INHERITED(DRAW_PICTURE) + , fPicture(picture) { SkString* temp = new SkString; temp->appendf("SkPicture: W: %d H: %d", picture.width(), picture.height()); fInfo.push(temp); @@ -529,13 +530,13 @@ bool SkDrawPictureCommand::render(SkCanvas* canvas) const { } SkDrawPointsCommand::SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, - const SkPoint pts[], const SkPaint& paint) { + const SkPoint pts[], const SkPaint& paint) + : INHERITED(DRAW_POINTS) { fMode = mode; fCount = count; fPts = new SkPoint[count]; memcpy(fPts, pts, count * sizeof(SkPoint)); fPaint = paint; - fDrawType = DRAW_POINTS; fInfo.push(SkObjectParser::PointsToString(pts, count)); fInfo.push(SkObjectParser::ScalarToString(SkIntToScalar((unsigned int)count), @@ -572,7 +573,8 @@ bool SkDrawPointsCommand::render(SkCanvas* canvas) const { } SkDrawPosTextCommand::SkDrawPosTextCommand(const void* text, size_t byteLength, - const SkPoint pos[], const SkPaint& paint) { + const SkPoint pos[], const SkPaint& paint) + : INHERITED(DRAW_POS_TEXT) { size_t numPts = paint.countText(text, byteLength); fText = new char[byteLength]; @@ -583,7 +585,6 @@ SkDrawPosTextCommand::SkDrawPosTextCommand(const void* text, size_t byteLength, memcpy(fPos, pos, numPts * sizeof(SkPoint)); fPaint = paint; - fDrawType = DRAW_POS_TEXT; fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncoding())); // TODO(chudy): Test that this works. @@ -598,7 +599,8 @@ void SkDrawPosTextCommand::execute(SkCanvas* canvas) { SkDrawPosTextHCommand::SkDrawPosTextHCommand(const void* text, size_t byteLength, const SkScalar xpos[], SkScalar constY, - const SkPaint& paint) { + const SkPaint& paint) + : INHERITED(DRAW_POS_TEXT_H) { size_t numPts = paint.countText(text, byteLength); fText = new char[byteLength]; @@ -610,7 +612,6 @@ SkDrawPosTextHCommand::SkDrawPosTextHCommand(const void* text, size_t byteLength fConstY = constY; fPaint = paint; - fDrawType = DRAW_POS_TEXT_H; fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncoding())); fInfo.push(SkObjectParser::ScalarToString(xpos[0], "XPOS: ")); @@ -622,10 +623,10 @@ void SkDrawPosTextHCommand::execute(SkCanvas* canvas) { canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint); } -SkDrawRectCommand::SkDrawRectCommand(const SkRect& rect, const SkPaint& paint) { +SkDrawRectCommand::SkDrawRectCommand(const SkRect& rect, const SkPaint& paint) + : INHERITED(DRAW_RECT) { fRect = rect; fPaint = paint; - fDrawType = DRAW_RECT; fInfo.push(SkObjectParser::RectToString(rect)); fInfo.push(SkObjectParser::PaintToString(paint)); @@ -635,10 +636,10 @@ void SkDrawRectCommand::execute(SkCanvas* canvas) { canvas->drawRect(fRect, fPaint); } -SkDrawRRectCommand::SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& paint) { +SkDrawRRectCommand::SkDrawRRectCommand(const SkRRect& rrect, const SkPaint& paint) + : INHERITED(DRAW_RRECT) { fRRect = rrect; fPaint = paint; - fDrawType = DRAW_RRECT; fInfo.push(SkObjectParser::RRectToString(rrect)); fInfo.push(SkObjectParser::PaintToString(paint)); @@ -655,11 +656,11 @@ bool SkDrawRRectCommand::render(SkCanvas* canvas) const { SkDrawDRRectCommand::SkDrawDRRectCommand(const SkRRect& outer, const SkRRect& inner, - const SkPaint& paint) { + const SkPaint& paint) + : INHERITED(DRAW_DRRECT) { fOuter = outer; fInner = inner; fPaint = paint; - fDrawType = DRAW_DRRECT; fInfo.push(SkObjectParser::RRectToString(outer)); fInfo.push(SkObjectParser::RRectToString(inner)); @@ -676,7 +677,8 @@ bool SkDrawDRRectCommand::render(SkCanvas* canvas) const { } SkDrawSpriteCommand::SkDrawSpriteCommand(const SkBitmap& bitmap, int left, int top, - const SkPaint* paint) { + const SkPaint* paint) + : INHERITED(DRAW_SPRITE) { fBitmap = bitmap; fLeft = left; fTop = top; @@ -686,7 +688,6 @@ SkDrawSpriteCommand::SkDrawSpriteCommand(const SkBitmap& bitmap, int left, int t } else { fPaintPtr = NULL; } - fDrawType = DRAW_SPRITE; fInfo.push(SkObjectParser::BitmapToString(bitmap)); fInfo.push(SkObjectParser::IntToString(left, "Left: ")); @@ -706,14 +707,14 @@ bool SkDrawSpriteCommand::render(SkCanvas* canvas) const { } SkDrawTextCommand::SkDrawTextCommand(const void* text, size_t byteLength, SkScalar x, SkScalar y, - const SkPaint& paint) { + const SkPaint& paint) + : INHERITED(DRAW_TEXT) { fText = new char[byteLength]; memcpy(fText, text, byteLength); fByteLength = byteLength; fX = x; fY = y; fPaint = paint; - fDrawType = DRAW_TEXT; fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncoding())); fInfo.push(SkObjectParser::ScalarToString(x, "SkScalar x: ")); @@ -727,7 +728,8 @@ void SkDrawTextCommand::execute(SkCanvas* canvas) { SkDrawTextOnPathCommand::SkDrawTextOnPathCommand(const void* text, size_t byteLength, const SkPath& path, const SkMatrix* matrix, - const SkPaint& paint) { + const SkPaint& paint) + : INHERITED(DRAW_TEXT_ON_PATH) { fText = new char[byteLength]; memcpy(fText, text, byteLength); fByteLength = byteLength; @@ -738,7 +740,6 @@ SkDrawTextOnPathCommand::SkDrawTextOnPathCommand(const void* text, size_t byteLe fMatrix.setIdentity(); } fPaint = paint; - fDrawType = DRAW_TEXT_ON_PATH; fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncoding())); fInfo.push(SkObjectParser::PathToString(path)); @@ -758,7 +759,8 @@ SkDrawVerticesCommand::SkDrawVerticesCommand(SkCanvas::VertexMode vmode, int ver const SkPoint vertices[], const SkPoint texs[], const SkColor colors[], SkXfermode* xfermode, const uint16_t indices[], int indexCount, - const SkPaint& paint) { + const SkPaint& paint) + : INHERITED(DRAW_VERTICES) { fVmode = vmode; fVertexCount = vertexCount; @@ -794,7 +796,6 @@ SkDrawVerticesCommand::SkDrawVerticesCommand(SkCanvas::VertexMode vmode, int ver fIndexCount = indexCount; fPaint = paint; - fDrawType = DRAW_VERTICES; // TODO(chudy) fInfo.push(SkObjectParser::CustomTextToString("To be implemented.")); @@ -815,8 +816,8 @@ void SkDrawVerticesCommand::execute(SkCanvas* canvas) { fIndexCount, fPaint); } -SkRestoreCommand::SkRestoreCommand() { - fDrawType = RESTORE; +SkRestoreCommand::SkRestoreCommand() + : INHERITED(RESTORE) { fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); } @@ -828,9 +829,9 @@ void SkRestoreCommand::trackSaveState(int* state) { (*state)--; } -SkRotateCommand::SkRotateCommand(SkScalar degrees) { +SkRotateCommand::SkRotateCommand(SkScalar degrees) + : INHERITED(ROTATE) { fDegrees = degrees; - fDrawType = ROTATE; fInfo.push(SkObjectParser::ScalarToString(degrees, "SkScalar degrees: ")); } @@ -839,9 +840,9 @@ void SkRotateCommand::execute(SkCanvas* canvas) { canvas->rotate(fDegrees); } -SkSaveCommand::SkSaveCommand(SkCanvas::SaveFlags flags) { +SkSaveCommand::SkSaveCommand(SkCanvas::SaveFlags flags) + : INHERITED(SAVE) { fFlags = flags; - fDrawType = SAVE; fInfo.push(SkObjectParser::SaveFlagsToString(flags)); } @@ -854,7 +855,8 @@ void SkSaveCommand::trackSaveState(int* state) { } SkSaveLayerCommand::SkSaveLayerCommand(const SkRect* bounds, const SkPaint* paint, - SkCanvas::SaveFlags flags) { + SkCanvas::SaveFlags flags) + : INHERITED(SAVE_LAYER) { if (NULL != bounds) { fBounds = *bounds; } else { @@ -868,7 +870,6 @@ SkSaveLayerCommand::SkSaveLayerCommand(const SkRect* bounds, const SkPaint* pain fPaintPtr = NULL; } fFlags = flags; - fDrawType = SAVE_LAYER; if (NULL != bounds) { fInfo.push(SkObjectParser::RectToString(*bounds, "Bounds: ")); @@ -893,10 +894,10 @@ void SkSaveLayerCommand::trackSaveState(int* state) { (*state)++; } -SkScaleCommand::SkScaleCommand(SkScalar sx, SkScalar sy) { +SkScaleCommand::SkScaleCommand(SkScalar sx, SkScalar sy) + : INHERITED(SCALE) { fSx = sx; fSy = sy; - fDrawType = SCALE; fInfo.push(SkObjectParser::ScalarToString(sx, "SkScalar sx: ")); fInfo.push(SkObjectParser::ScalarToString(sy, "SkScalar sy: ")); @@ -906,9 +907,9 @@ void SkScaleCommand::execute(SkCanvas* canvas) { canvas->scale(fSx, fSy); } -SkSetMatrixCommand::SkSetMatrixCommand(const SkMatrix& matrix) { +SkSetMatrixCommand::SkSetMatrixCommand(const SkMatrix& matrix) + : INHERITED(SET_MATRIX) { fMatrix = matrix; - fDrawType = SET_MATRIX; fInfo.push(SkObjectParser::MatrixToString(matrix)); } @@ -917,10 +918,10 @@ void SkSetMatrixCommand::execute(SkCanvas* canvas) { canvas->setMatrix(fMatrix); } -SkSkewCommand::SkSkewCommand(SkScalar sx, SkScalar sy) { +SkSkewCommand::SkSkewCommand(SkScalar sx, SkScalar sy) + : INHERITED(SKEW) { fSx = sx; fSy = sy; - fDrawType = SKEW; fInfo.push(SkObjectParser::ScalarToString(sx, "SkScalar sx: ")); fInfo.push(SkObjectParser::ScalarToString(sy, "SkScalar sy: ")); @@ -930,10 +931,10 @@ void SkSkewCommand::execute(SkCanvas* canvas) { canvas->skew(fSx, fSy); } -SkTranslateCommand::SkTranslateCommand(SkScalar dx, SkScalar dy) { +SkTranslateCommand::SkTranslateCommand(SkScalar dx, SkScalar dy) + : INHERITED(TRANSLATE) { fDx = dx; fDy = dy; - fDrawType = TRANSLATE; fInfo.push(SkObjectParser::ScalarToString(dx, "SkScalar dx: ")); fInfo.push(SkObjectParser::ScalarToString(dy, "SkScalar dy: ")); @@ -944,8 +945,8 @@ void SkTranslateCommand::execute(SkCanvas* canvas) { } SkPushCullCommand::SkPushCullCommand(const SkRect& cullRect) - : fCullRect(cullRect) { - fDrawType = PUSH_CULL; + : INHERITED(PUSH_CULL) + , fCullRect(cullRect) { fInfo.push(SkObjectParser::RectToString(cullRect)); } @@ -962,9 +963,7 @@ void SkPushCullCommand::vizExecute(SkCanvas* canvas) { canvas->drawRect(fCullRect, p); } -SkPopCullCommand::SkPopCullCommand() { - fDrawType = POP_CULL; -} +SkPopCullCommand::SkPopCullCommand() : INHERITED(POP_CULL) { } void SkPopCullCommand::execute(SkCanvas* canvas) { canvas->popCull(); |