Index: src/core/SkRecorder.cpp |
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp |
index c7869bb6a46b1a4ea07a03fe1b7e846609165ca5..4ad2904fa21727fef2bb76360e9ba36c9dfdab51 100644 |
--- a/src/core/SkRecorder.cpp |
+++ b/src/core/SkRecorder.cpp |
@@ -305,6 +305,18 @@ void SkRecorder::onDrawPicture(const SkPicture* pic, const SkMatrix* matrix, con |
} |
} |
+void SkRecorder::onDrawShadowedPicture(const SkPicture* pic, sk_sp<SkLights> lights) { |
+ if (fDrawPictureMode == Record_DrawPictureMode) { |
+ fApproxBytesUsedBySubPictures += SkPictureUtils::ApproximateBytesUsed(pic); |
+ APPEND(DrawShadowedPicture, nullptr, pic, lights); |
+ } else { |
+ SkASSERT(fDrawPictureMode == Playback_DrawPictureMode); |
+ SkAutoCanvasMatrixPaint acmp(this, nullptr, nullptr, pic->cullRect()); |
+ pic->playback(this); |
+ } |
+} |
+ |
+ |
void SkRecorder::onDrawVertices(VertexMode vmode, |
int vertexCount, const SkPoint vertices[], |
const SkPoint texs[], const SkColor colors[], |