Add support for new drawPicture entry point to debugger
R=fmalita@google.com, fmalita@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/464063003
This commit is contained in:
parent
c773390eef
commit
b3f319fbb0
@ -519,9 +519,10 @@ void SkDebugCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
|
||||
this->addDrawCommand(new SkDrawPathCommand(path, paint));
|
||||
}
|
||||
|
||||
void SkDebugCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix*, const SkPaint*) {
|
||||
// todo: add matrix and paint to SkDrawPictureCommand
|
||||
this->addDrawCommand(new SkDrawPictureCommand(picture));
|
||||
void SkDebugCanvas::onDrawPicture(const SkPicture* picture,
|
||||
const SkMatrix* matrix,
|
||||
const SkPaint* paint) {
|
||||
this->addDrawCommand(new SkDrawPictureCommand(picture, matrix, paint));
|
||||
}
|
||||
|
||||
void SkDebugCanvas::drawPoints(PointMode mode, size_t count,
|
||||
|
@ -273,7 +273,7 @@ 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;
|
||||
@ -502,16 +502,36 @@ bool SkDrawPathCommand::render(SkCanvas* canvas) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
SkDrawPictureCommand::SkDrawPictureCommand(const SkPicture* picture)
|
||||
SkDrawPictureCommand::SkDrawPictureCommand(const SkPicture* picture,
|
||||
const SkMatrix* matrix,
|
||||
const SkPaint* paint)
|
||||
: INHERITED(DRAW_PICTURE)
|
||||
, fPicture(SkRef(picture)) {
|
||||
, fPicture(SkRef(picture))
|
||||
, fMatrixPtr(NULL)
|
||||
, fPaintPtr(NULL) {
|
||||
|
||||
if (NULL != matrix) {
|
||||
fMatrix = *matrix;
|
||||
fMatrixPtr = &fMatrix;
|
||||
}
|
||||
if (NULL != paint) {
|
||||
fPaint = *paint;
|
||||
fPaintPtr = &fPaint;
|
||||
}
|
||||
|
||||
SkString* temp = new SkString;
|
||||
temp->appendf("SkPicture: W: %d H: %d", picture->width(), picture->height());
|
||||
fInfo.push(temp);
|
||||
if (NULL != matrix) {
|
||||
fInfo.push(SkObjectParser::MatrixToString(*matrix));
|
||||
}
|
||||
if (NULL != paint) {
|
||||
fInfo.push(SkObjectParser::PaintToString(*paint));
|
||||
}
|
||||
}
|
||||
|
||||
void SkDrawPictureCommand::execute(SkCanvas* canvas) {
|
||||
canvas->drawPicture(fPicture);
|
||||
canvas->drawPicture(fPicture, fMatrixPtr, fPaintPtr);
|
||||
}
|
||||
|
||||
bool SkDrawPictureCommand::render(SkCanvas* canvas) const {
|
||||
|
@ -343,12 +343,16 @@ private:
|
||||
|
||||
class SkDrawPictureCommand : public SkDrawCommand {
|
||||
public:
|
||||
SkDrawPictureCommand(const SkPicture* picture);
|
||||
SkDrawPictureCommand(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint);
|
||||
virtual void execute(SkCanvas* canvas) SK_OVERRIDE;
|
||||
virtual bool render(SkCanvas* canvas) const SK_OVERRIDE;
|
||||
|
||||
private:
|
||||
SkAutoTUnref<const SkPicture> fPicture;
|
||||
SkMatrix fMatrix;
|
||||
SkMatrix* fMatrixPtr;
|
||||
SkPaint fPaint;
|
||||
SkPaint* fPaintPtr;
|
||||
|
||||
typedef SkDrawCommand INHERITED;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user