| Index: src/utils/debugger/SkDebugCanvas.cpp
|
| ===================================================================
|
| --- src/utils/debugger/SkDebugCanvas.cpp (revision 13942)
|
| +++ src/utils/debugger/SkDebugCanvas.cpp (working copy)
|
| @@ -16,6 +16,7 @@
|
|
|
| SkDebugCanvas::SkDebugCanvas(int width, int height)
|
| : INHERITED(width, height)
|
| + , fPicture(NULL)
|
| , fWidth(width)
|
| , fHeight(height)
|
| , fFilter(false)
|
| @@ -55,12 +56,13 @@
|
| }
|
|
|
| void SkDebugCanvas::addDrawCommand(SkDrawCommand* command) {
|
| + command->setOffset(this->getOpID());
|
| fCommandVector.push(command);
|
| }
|
|
|
| void SkDebugCanvas::draw(SkCanvas* canvas) {
|
| if (!fCommandVector.isEmpty()) {
|
| - drawTo(canvas, fCommandVector.count() - 1);
|
| + this->drawTo(canvas, fCommandVector.count() - 1);
|
| }
|
| }
|
|
|
| @@ -380,6 +382,16 @@
|
| return commandString;
|
| }
|
|
|
| +SkTDArray<size_t>* SkDebugCanvas::getDrawCommandOffsets() const {
|
| + SkTDArray<size_t>* commandOffsets = new SkTDArray<size_t>;
|
| + if (!fCommandVector.isEmpty()) {
|
| + for (int i = 0; i < fCommandVector.count(); i ++) {
|
| + *commandOffsets->push() = fCommandVector[i]->offset();
|
| + }
|
| + }
|
| + return commandOffsets;
|
| +}
|
| +
|
| void SkDebugCanvas::overrideTexFiltering(bool overrideTexFiltering, SkPaint::FilterLevel level) {
|
| if (NULL == fTexOverrideFilter) {
|
| fTexOverrideFilter = new SkTexOverrideFilter;
|
| @@ -390,7 +402,7 @@
|
| }
|
|
|
| void SkDebugCanvas::clear(SkColor color) {
|
| - addDrawCommand(new SkClearCommand(color));
|
| + this->addDrawCommand(new SkClearCommand(color));
|
| }
|
|
|
| void SkDebugCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
|
| @@ -429,71 +441,71 @@
|
|
|
| void SkDebugCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar left,
|
| SkScalar top, const SkPaint* paint = NULL) {
|
| - addDrawCommand(new SkDrawBitmapCommand(bitmap, left, top, paint));
|
| + this->addDrawCommand(new SkDrawBitmapCommand(bitmap, left, top, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawBitmapRectToRect(const SkBitmap& bitmap,
|
| const SkRect* src, const SkRect& dst,
|
| const SkPaint* paint,
|
| SkCanvas::DrawBitmapRectFlags flags) {
|
| - addDrawCommand(new SkDrawBitmapRectCommand(bitmap, src, dst, paint, flags));
|
| + this->addDrawCommand(new SkDrawBitmapRectCommand(bitmap, src, dst, paint, flags));
|
| }
|
|
|
| void SkDebugCanvas::drawBitmapMatrix(const SkBitmap& bitmap,
|
| const SkMatrix& matrix, const SkPaint* paint) {
|
| - addDrawCommand(new SkDrawBitmapMatrixCommand(bitmap, matrix, paint));
|
| + this->addDrawCommand(new SkDrawBitmapMatrixCommand(bitmap, matrix, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawBitmapNine(const SkBitmap& bitmap,
|
| const SkIRect& center, const SkRect& dst, const SkPaint* paint) {
|
| - addDrawCommand(new SkDrawBitmapNineCommand(bitmap, center, dst, paint));
|
| + this->addDrawCommand(new SkDrawBitmapNineCommand(bitmap, center, dst, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawData(const void* data, size_t length) {
|
| - addDrawCommand(new SkDrawDataCommand(data, length));
|
| + this->addDrawCommand(new SkDrawDataCommand(data, length));
|
| }
|
|
|
| void SkDebugCanvas::beginCommentGroup(const char* description) {
|
| - addDrawCommand(new SkBeginCommentGroupCommand(description));
|
| + this->addDrawCommand(new SkBeginCommentGroupCommand(description));
|
| }
|
|
|
| void SkDebugCanvas::addComment(const char* kywd, const char* value) {
|
| - addDrawCommand(new SkCommentCommand(kywd, value));
|
| + this->addDrawCommand(new SkCommentCommand(kywd, value));
|
| }
|
|
|
| void SkDebugCanvas::endCommentGroup() {
|
| - addDrawCommand(new SkEndCommentGroupCommand());
|
| + this->addDrawCommand(new SkEndCommentGroupCommand());
|
| }
|
|
|
| void SkDebugCanvas::drawOval(const SkRect& oval, const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawOvalCommand(oval, paint));
|
| + this->addDrawCommand(new SkDrawOvalCommand(oval, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawPaint(const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawPaintCommand(paint));
|
| + this->addDrawCommand(new SkDrawPaintCommand(paint));
|
| }
|
|
|
| void SkDebugCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawPathCommand(path, paint));
|
| + this->addDrawCommand(new SkDrawPathCommand(path, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawPicture(SkPicture& picture) {
|
| - addDrawCommand(new SkDrawPictureCommand(picture));
|
| + this->addDrawCommand(new SkDrawPictureCommand(picture));
|
| }
|
|
|
| void SkDebugCanvas::drawPoints(PointMode mode, size_t count,
|
| const SkPoint pts[], const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawPointsCommand(mode, count, pts, paint));
|
| + this->addDrawCommand(new SkDrawPointsCommand(mode, count, pts, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawPosText(const void* text, size_t byteLength,
|
| const SkPoint pos[], const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawPosTextCommand(text, byteLength, pos, paint));
|
| + this->addDrawCommand(new SkDrawPosTextCommand(text, byteLength, pos, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawPosTextH(const void* text, size_t byteLength,
|
| const SkScalar xpos[], SkScalar constY, const SkPaint& paint) {
|
| - addDrawCommand(
|
| + this->addDrawCommand(
|
| new SkDrawPosTextHCommand(text, byteLength, xpos, constY, paint));
|
| }
|
|
|
| @@ -503,7 +515,7 @@
|
| }
|
|
|
| void SkDebugCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawRRectCommand(rrect, paint));
|
| + this->addDrawCommand(new SkDrawRRectCommand(rrect, paint));
|
| }
|
|
|
| void SkDebugCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
|
| @@ -513,17 +525,17 @@
|
|
|
| void SkDebugCanvas::drawSprite(const SkBitmap& bitmap, int left, int top,
|
| const SkPaint* paint = NULL) {
|
| - addDrawCommand(new SkDrawSpriteCommand(bitmap, left, top, paint));
|
| + this->addDrawCommand(new SkDrawSpriteCommand(bitmap, left, top, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawText(const void* text, size_t byteLength, SkScalar x,
|
| SkScalar y, const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawTextCommand(text, byteLength, x, y, paint));
|
| + this->addDrawCommand(new SkDrawTextCommand(text, byteLength, x, y, paint));
|
| }
|
|
|
| void SkDebugCanvas::drawTextOnPath(const void* text, size_t byteLength,
|
| const SkPath& path, const SkMatrix* matrix, const SkPaint& paint) {
|
| - addDrawCommand(
|
| + this->addDrawCommand(
|
| new SkDrawTextOnPathCommand(text, byteLength, path, matrix, paint));
|
| }
|
|
|
| @@ -531,8 +543,8 @@
|
| const SkPoint vertices[], const SkPoint texs[], const SkColor colors[],
|
| SkXfermode*, const uint16_t indices[], int indexCount,
|
| const SkPaint& paint) {
|
| - addDrawCommand(new SkDrawVerticesCommand(vmode, vertexCount, vertices,
|
| - texs, colors, NULL, indices, indexCount, paint));
|
| + this->addDrawCommand(new SkDrawVerticesCommand(vmode, vertexCount, vertices,
|
| + texs, colors, NULL, indices, indexCount, paint));
|
| }
|
|
|
| void SkDebugCanvas::onPushCull(const SkRect& cullRect) {
|
| @@ -562,7 +574,7 @@
|
| }
|
|
|
| void SkDebugCanvas::didSetMatrix(const SkMatrix& matrix) {
|
| - addDrawCommand(new SkSetMatrixCommand(matrix));
|
| + this->addDrawCommand(new SkSetMatrixCommand(matrix));
|
| this->INHERITED::didSetMatrix(matrix);
|
| }
|
|
|
|
|