diff options
Diffstat (limited to 'src/core/SkPicturePlayback.cpp')
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index cad665bf21..1e4fe11b8e 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -6,6 +6,7 @@ */ #include "SkCanvas.h" +#include "SkDrawShadowRec.h" #include "SkPatchUtils.h" #include "SkPictureData.h" #include "SkPicturePlayback.h" @@ -570,6 +571,20 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, canvas->drawRRect(rrect, *paint); } } break; + case DRAW_SHADOW_REC: { + const auto& path = fPictureData->getPath(reader); + SkDrawShadowRec rec; + reader->readPoint3(&rec.fZPlaneParams); + reader->readPoint3(&rec.fLightPos); + rec.fLightRadius = reader->readScalar(); + rec.fAmbientAlpha = reader->readScalar(); + rec.fSpotAlpha = reader->readScalar(); + rec.fColor = reader->read32(); + rec.fFlags = reader->read32(); + BREAK_ON_READ_ERROR(reader); + + canvas->private_draw_shadow_rec(path, rec); + } break; case DRAW_SPRITE: { /* const SkPaint* paint = */ fPictureData->getPaint(reader); /* const SkImage* image = */ fPictureData->getBitmapAsImage(reader); |