params->setNumber("left", left);
params->setNumber("top", top);
params->setObject("bitmap", objectForSkBitmap(bitmap));
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
this->SkCanvas::drawBitmap(bitmap, left, top, paint);
}
AutoLogger logger(this);
RefPtr<JSONObject> params = logger.logItemWithParams("drawBitmapRectToRect");
params->setObject("bitmap", objectForSkBitmap(bitmap));
- params->setObject("src", objectForSkRect(*src));
+ if (src)
+ params->setObject("src", objectForSkRect(*src));
params->setObject("dst", objectForSkRect(dst));
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
params->setNumber("flags", flags);
this->SkCanvas::drawBitmapRectToRect(bitmap, src, dst, paint, flags);
}
RefPtr<JSONObject> params = logger.logItemWithParams("drawBitmapMatrix");
params->setObject("bitmap", objectForSkBitmap(bitmap));
params->setArray("matrix", arrayForSkMatrix(m));
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
this->SkCanvas::drawBitmapMatrix(bitmap, m, paint);
}
params->setObject("bitmap", objectForSkBitmap(bitmap));
params->setObject("center", objectForSkIRect(center));
params->setObject("dst", objectForSkRect(dst));
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
this->SkCanvas::drawBitmapNine(bitmap, center, dst, paint);
}
params->setObject("bitmap", objectForSkBitmap(bitmap));
params->setNumber("left", left);
params->setNumber("top", top);
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
this->SkCanvas::drawSprite(bitmap, left, top, paint);
}
RefPtr<JSONObject> params = logger.logItemWithParams("drawTextOnPath");
params->setString("text", stringForText(text, byteLength, paint));
params->setObject("path", objectForSkPath(path));
- params->setArray("matrix", arrayForSkMatrix(*matrix));
+ if (matrix)
+ params->setArray("matrix", arrayForSkMatrix(*matrix));
params->setObject("paint", objectForSkPaint(paint));
this->SkCanvas::onDrawTextOnPath(text, byteLength, path, matrix, paint);
}
+void LoggingCanvas::onDrawTextBlob(const SkTextBlob *blob, SkScalar x, SkScalar y, const SkPaint &paint)
+{
+ AutoLogger logger(this);
+ RefPtr<JSONObject> params = logger.logItemWithParams("drawTextBlob");
+ params->setNumber("x", x);
+ params->setNumber("y", y);
+ params->setObject("paint", objectForSkPaint(paint));
+ this->SkCanvas::onDrawTextBlob(blob, x, y, paint);
+}
+
void LoggingCanvas::onPushCull(const SkRect& cullRect)
{
AutoLogger logger(this);
RefPtr<JSONObject> params = logger.logItemWithParams("saveLayer");
if (bounds)
params->setObject("bounds", objectForSkRect(*bounds));
- params->setObject("paint", objectForSkPaint(*paint));
+ if (paint)
+ params->setObject("paint", objectForSkPaint(*paint));
params->setString("saveFlags", saveFlagsToString(flags));
return this->SkCanvas::willSaveLayer(bounds, paint, flags);
}