| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "SkDumpCanvas.h" | 9 #include "SkDumpCanvas.h" |
| 10 | 10 |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 va_end(args); | 188 va_end(args); |
| 189 | 189 |
| 190 if (fDumper) { | 190 if (fDumper) { |
| 191 fDumper->dump(this, verb, buffer, paint); | 191 fDumper->dump(this, verb, buffer, paint); |
| 192 } | 192 } |
| 193 } | 193 } |
| 194 | 194 |
| 195 /////////////////////////////////////////////////////////////////////////////// | 195 /////////////////////////////////////////////////////////////////////////////// |
| 196 | 196 |
| 197 void SkDumpCanvas::willSave() { | 197 void SkDumpCanvas::willSave() { |
| 198 this->dump(kSave_Verb, NULL, "save()"); | 198 this->dump(kSave_Verb, nullptr, "save()"); |
| 199 this->INHERITED::willSave(); | 199 this->INHERITED::willSave(); |
| 200 } | 200 } |
| 201 | 201 |
| 202 SkCanvas::SaveLayerStrategy SkDumpCanvas::willSaveLayer(const SkRect* bounds, co
nst SkPaint* paint, | 202 SkCanvas::SaveLayerStrategy SkDumpCanvas::willSaveLayer(const SkRect* bounds, co
nst SkPaint* paint, |
| 203 SaveFlags flags) { | 203 SaveFlags flags) { |
| 204 SkString str; | 204 SkString str; |
| 205 str.printf("saveLayer(0x%X)", flags); | 205 str.printf("saveLayer(0x%X)", flags); |
| 206 if (bounds) { | 206 if (bounds) { |
| 207 str.append(" bounds"); | 207 str.append(" bounds"); |
| 208 toString(*bounds, &str); | 208 toString(*bounds, &str); |
| 209 } | 209 } |
| 210 if (paint) { | 210 if (paint) { |
| 211 if (paint->getAlpha() != 0xFF) { | 211 if (paint->getAlpha() != 0xFF) { |
| 212 str.appendf(" alpha:0x%02X", paint->getAlpha()); | 212 str.appendf(" alpha:0x%02X", paint->getAlpha()); |
| 213 } | 213 } |
| 214 if (paint->getXfermode()) { | 214 if (paint->getXfermode()) { |
| 215 str.appendf(" xfermode:%p", paint->getXfermode()); | 215 str.appendf(" xfermode:%p", paint->getXfermode()); |
| 216 } | 216 } |
| 217 } | 217 } |
| 218 this->dump(kSave_Verb, paint, str.c_str()); | 218 this->dump(kSave_Verb, paint, str.c_str()); |
| 219 return this->INHERITED::willSaveLayer(bounds, paint, flags); | 219 return this->INHERITED::willSaveLayer(bounds, paint, flags); |
| 220 } | 220 } |
| 221 | 221 |
| 222 void SkDumpCanvas::willRestore() { | 222 void SkDumpCanvas::willRestore() { |
| 223 this->dump(kRestore_Verb, NULL, "restore"); | 223 this->dump(kRestore_Verb, nullptr, "restore"); |
| 224 this->INHERITED::willRestore(); | 224 this->INHERITED::willRestore(); |
| 225 } | 225 } |
| 226 | 226 |
| 227 void SkDumpCanvas::didConcat(const SkMatrix& matrix) { | 227 void SkDumpCanvas::didConcat(const SkMatrix& matrix) { |
| 228 SkString str; | 228 SkString str; |
| 229 | 229 |
| 230 switch (matrix.getType()) { | 230 switch (matrix.getType()) { |
| 231 case SkMatrix::kTranslate_Mask: | 231 case SkMatrix::kTranslate_Mask: |
| 232 this->dump(kMatrix_Verb, NULL, "translate(%g %g)", | 232 this->dump(kMatrix_Verb, nullptr, "translate(%g %g)", |
| 233 SkScalarToFloat(matrix.getTranslateX()), | 233 SkScalarToFloat(matrix.getTranslateX()), |
| 234 SkScalarToFloat(matrix.getTranslateY())); | 234 SkScalarToFloat(matrix.getTranslateY())); |
| 235 break; | 235 break; |
| 236 case SkMatrix::kScale_Mask: | 236 case SkMatrix::kScale_Mask: |
| 237 this->dump(kMatrix_Verb, NULL, "scale(%g %g)", | 237 this->dump(kMatrix_Verb, nullptr, "scale(%g %g)", |
| 238 SkScalarToFloat(matrix.getScaleX()), | 238 SkScalarToFloat(matrix.getScaleX()), |
| 239 SkScalarToFloat(matrix.getScaleY())); | 239 SkScalarToFloat(matrix.getScaleY())); |
| 240 break; | 240 break; |
| 241 default: | 241 default: |
| 242 matrix.toString(&str); | 242 matrix.toString(&str); |
| 243 this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str()); | 243 this->dump(kMatrix_Verb, nullptr, "concat(%s)", str.c_str()); |
| 244 break; | 244 break; |
| 245 } | 245 } |
| 246 | 246 |
| 247 this->INHERITED::didConcat(matrix); | 247 this->INHERITED::didConcat(matrix); |
| 248 } | 248 } |
| 249 | 249 |
| 250 void SkDumpCanvas::didSetMatrix(const SkMatrix& matrix) { | 250 void SkDumpCanvas::didSetMatrix(const SkMatrix& matrix) { |
| 251 SkString str; | 251 SkString str; |
| 252 matrix.toString(&str); | 252 matrix.toString(&str); |
| 253 this->dump(kMatrix_Verb, NULL, "setMatrix(%s)", str.c_str()); | 253 this->dump(kMatrix_Verb, nullptr, "setMatrix(%s)", str.c_str()); |
| 254 this->INHERITED::didSetMatrix(matrix); | 254 this->INHERITED::didSetMatrix(matrix); |
| 255 } | 255 } |
| 256 | 256 |
| 257 /////////////////////////////////////////////////////////////////////////////// | 257 /////////////////////////////////////////////////////////////////////////////// |
| 258 | 258 |
| 259 const char* SkDumpCanvas::EdgeStyleToAAString(ClipEdgeStyle edgeStyle) { | 259 const char* SkDumpCanvas::EdgeStyleToAAString(ClipEdgeStyle edgeStyle) { |
| 260 return kSoft_ClipEdgeStyle == edgeStyle ? "AA" : "BW"; | 260 return kSoft_ClipEdgeStyle == edgeStyle ? "AA" : "BW"; |
| 261 } | 261 } |
| 262 | 262 |
| 263 void SkDumpCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle
edgeStyle) { | 263 void SkDumpCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle
edgeStyle) { |
| 264 SkString str; | 264 SkString str; |
| 265 toString(rect, &str); | 265 toString(rect, &str); |
| 266 this->dump(kClip_Verb, NULL, "clipRect(%s %s %s)", str.c_str(), toString(op)
, | 266 this->dump(kClip_Verb, nullptr, "clipRect(%s %s %s)", str.c_str(), toString(
op), |
| 267 EdgeStyleToAAString(edgeStyle)); | 267 EdgeStyleToAAString(edgeStyle)); |
| 268 this->INHERITED::onClipRect(rect, op, edgeStyle); | 268 this->INHERITED::onClipRect(rect, op, edgeStyle); |
| 269 } | 269 } |
| 270 | 270 |
| 271 void SkDumpCanvas::onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeSt
yle edgeStyle) { | 271 void SkDumpCanvas::onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeSt
yle edgeStyle) { |
| 272 SkString str; | 272 SkString str; |
| 273 toString(rrect, &str); | 273 toString(rrect, &str); |
| 274 this->dump(kClip_Verb, NULL, "clipRRect(%s %s %s)", str.c_str(), toString(op
), | 274 this->dump(kClip_Verb, nullptr, "clipRRect(%s %s %s)", str.c_str(), toString
(op), |
| 275 EdgeStyleToAAString(edgeStyle)); | 275 EdgeStyleToAAString(edgeStyle)); |
| 276 this->INHERITED::onClipRRect(rrect, op, edgeStyle); | 276 this->INHERITED::onClipRRect(rrect, op, edgeStyle); |
| 277 } | 277 } |
| 278 | 278 |
| 279 void SkDumpCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle
edgeStyle) { | 279 void SkDumpCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle
edgeStyle) { |
| 280 SkString str; | 280 SkString str; |
| 281 toString(path, &str); | 281 toString(path, &str); |
| 282 this->dump(kClip_Verb, NULL, "clipPath(%s %s %s)", str.c_str(), toString(op)
, | 282 this->dump(kClip_Verb, nullptr, "clipPath(%s %s %s)", str.c_str(), toString(
op), |
| 283 EdgeStyleToAAString(edgeStyle)); | 283 EdgeStyleToAAString(edgeStyle)); |
| 284 this->INHERITED::onClipPath(path, op, edgeStyle); | 284 this->INHERITED::onClipPath(path, op, edgeStyle); |
| 285 } | 285 } |
| 286 | 286 |
| 287 void SkDumpCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) { | 287 void SkDumpCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) { |
| 288 SkString str; | 288 SkString str; |
| 289 toString(deviceRgn, &str); | 289 toString(deviceRgn, &str); |
| 290 this->dump(kClip_Verb, NULL, "clipRegion(%s %s)", str.c_str(), | 290 this->dump(kClip_Verb, nullptr, "clipRegion(%s %s)", str.c_str(), |
| 291 toString(op)); | 291 toString(op)); |
| 292 this->INHERITED::onClipRegion(deviceRgn, op); | 292 this->INHERITED::onClipRegion(deviceRgn, op); |
| 293 } | 293 } |
| 294 | 294 |
| 295 /////////////////////////////////////////////////////////////////////////////// | 295 /////////////////////////////////////////////////////////////////////////////// |
| 296 | 296 |
| 297 void SkDumpCanvas::onDrawPaint(const SkPaint& paint) { | 297 void SkDumpCanvas::onDrawPaint(const SkPaint& paint) { |
| 298 this->dump(kDrawPaint_Verb, &paint, "drawPaint()"); | 298 this->dump(kDrawPaint_Verb, &paint, "drawPaint()"); |
| 299 } | 299 } |
| 300 | 300 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 void SkDumpCanvas::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y
, | 441 void SkDumpCanvas::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y
, |
| 442 const SkPaint& paint) { | 442 const SkPaint& paint) { |
| 443 SkString str; | 443 SkString str; |
| 444 toString(blob->bounds(), &str); | 444 toString(blob->bounds(), &str); |
| 445 this->dump(kDrawText_Verb, &paint, "drawTextBlob(%p) [%s]", blob, str.c_str(
)); | 445 this->dump(kDrawText_Verb, &paint, "drawTextBlob(%p) [%s]", blob, str.c_str(
)); |
| 446 // FIXME: dump the actual blob content? | 446 // FIXME: dump the actual blob content? |
| 447 } | 447 } |
| 448 | 448 |
| 449 void SkDumpCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matri
x, | 449 void SkDumpCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matri
x, |
| 450 const SkPaint* paint) { | 450 const SkPaint* paint) { |
| 451 this->dump(kDrawPicture_Verb, NULL, "drawPicture(%p) %f:%f:%f:%f", picture, | 451 this->dump(kDrawPicture_Verb, nullptr, "drawPicture(%p) %f:%f:%f:%f", pictur
e, |
| 452 picture->cullRect().fLeft, picture->cullRect().fTop, | 452 picture->cullRect().fLeft, picture->cullRect().fTop, |
| 453 picture->cullRect().fRight, picture->cullRect().fBottom); | 453 picture->cullRect().fRight, picture->cullRect().fBottom); |
| 454 fNestLevel += 1; | 454 fNestLevel += 1; |
| 455 this->INHERITED::onDrawPicture(picture, matrix, paint); | 455 this->INHERITED::onDrawPicture(picture, matrix, paint); |
| 456 fNestLevel -= 1; | 456 fNestLevel -= 1; |
| 457 this->dump(kDrawPicture_Verb, NULL, "endPicture(%p) %f:%f:%f:%f", &picture, | 457 this->dump(kDrawPicture_Verb, nullptr, "endPicture(%p) %f:%f:%f:%f", &pictur
e, |
| 458 picture->cullRect().fLeft, picture->cullRect().fTop, | 458 picture->cullRect().fLeft, picture->cullRect().fTop, |
| 459 picture->cullRect().fRight, picture->cullRect().fBottom); | 459 picture->cullRect().fRight, picture->cullRect().fBottom); |
| 460 } | 460 } |
| 461 | 461 |
| 462 void SkDumpCanvas::onDrawVertices(VertexMode vmode, int vertexCount, | 462 void SkDumpCanvas::onDrawVertices(VertexMode vmode, int vertexCount, |
| 463 const SkPoint vertices[], const SkPoint texs[]
, | 463 const SkPoint vertices[], const SkPoint texs[]
, |
| 464 const SkColor colors[], SkXfermode* xmode, | 464 const SkColor colors[], SkXfermode* xmode, |
| 465 const uint16_t indices[], int indexCount, | 465 const uint16_t indices[], int indexCount, |
| 466 const SkPaint& paint) { | 466 const SkPaint& paint) { |
| 467 this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)", | 467 this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)", |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 | 545 |
| 546 fProc(msg.c_str(), fRefcon); | 546 fProc(msg.c_str(), fRefcon); |
| 547 } | 547 } |
| 548 | 548 |
| 549 /////////////////////////////////////////////////////////////////////////////// | 549 /////////////////////////////////////////////////////////////////////////////// |
| 550 | 550 |
| 551 static void dumpToDebugf(const char text[], void*) { | 551 static void dumpToDebugf(const char text[], void*) { |
| 552 SkDebugf("%s\n", text); | 552 SkDebugf("%s\n", text); |
| 553 } | 553 } |
| 554 | 554 |
| 555 SkDebugfDumper::SkDebugfDumper() : INHERITED(dumpToDebugf, NULL) {} | 555 SkDebugfDumper::SkDebugfDumper() : INHERITED(dumpToDebugf, nullptr) {} |
| 556 | 556 |
| 557 #endif | 557 #endif |
| OLD | NEW |