Index: src/core/SkLiteDL.cpp |
diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp |
index 8c8abb1cc3232e37ff5d71983e88c734b3cccc11..227c2f30b6ea20ee851dffb305878ad39432d436 100644 |
--- a/src/core/SkLiteDL.cpp |
+++ b/src/core/SkLiteDL.cpp |
@@ -816,3 +816,16 @@ void SkLiteDL::reset(SkRect bounds) { |
fUsed = 0; |
fBounds = bounds; |
} |
+ |
+void SkLiteDL::drawAsLayer(SkCanvas* canvas, const SkMatrix* matrix, const SkPaint* paint) { |
+ auto fallback_plan = [&] { |
+ SkRect bounds = this->getBounds(); |
+ canvas->saveLayer(&bounds, paint); |
+ this->draw(canvas, matrix); |
+ canvas->restore(); |
+ }; |
+ |
+ // TODO: single-draw specializations |
+ |
+ return fallback_plan(); |
+} |