Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / utils / debugger / SkDrawCommand.cpp
index 7c73cec..26d2a85 100644 (file)
@@ -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 {
@@ -840,14 +860,12 @@ void SkRotateCommand::execute(SkCanvas* canvas) {
     canvas->rotate(fDegrees);
 }
 
-SkSaveCommand::SkSaveCommand(SkCanvas::SaveFlags flags)
+SkSaveCommand::SkSaveCommand()
     : INHERITED(SAVE) {
-    fFlags = flags;
-    fInfo.push(SkObjectParser::SaveFlagsToString(flags));
 }
 
 void SkSaveCommand::execute(SkCanvas* canvas) {
-    canvas->save(fFlags);
+    canvas->save();
 }
 
 void SkSaveCommand::trackSaveState(int* state) {