| Index: src/core/SkPictureRecord.cpp
|
| diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
|
| index f2a0fd857c3a4338626ebea35737c61cef2fc849..8b6faf8cb6566b76a0b4fd1f2df201928027e9b7 100644
|
| --- a/src/core/SkPictureRecord.cpp
|
| +++ b/src/core/SkPictureRecord.cpp
|
| @@ -672,6 +672,27 @@ void SkPictureRecord::onDrawPicture(const SkPicture* picture, const SkMatrix* ma
|
| this->validate(initialOffset, size);
|
| }
|
|
|
| +void SkPictureRecord::onDrawShadowedPicture(const SkPicture* picture,
|
| + const SkMatrix* matrix,
|
| + const SkPaint* paint) {
|
| + // op + picture index
|
| + size_t size = 2 * kUInt32Size;
|
| + size_t initialOffset;
|
| +
|
| + if (nullptr == matrix && nullptr == paint) {
|
| + initialOffset = this->addDraw(DRAW_PICTURE, &size);
|
| + this->addPicture(picture);
|
| + } else {
|
| + const SkMatrix& m = matrix ? *matrix : SkMatrix::I();
|
| + size += m.writeToMemory(nullptr) + kUInt32Size; // matrix + paint
|
| + initialOffset = this->addDraw(DRAW_PICTURE_MATRIX_PAINT, &size);
|
| + this->addPaintPtr(paint);
|
| + this->addMatrix(m);
|
| + this->addPicture(picture);
|
| + }
|
| + this->validate(initialOffset, size);
|
| +}
|
| +
|
| void SkPictureRecord::onDrawDrawable(SkDrawable* drawable, const SkMatrix* matrix) {
|
| // op + drawable index
|
| size_t size = 2 * kUInt32Size;
|
|
|