Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
Review-Url: https://codereview.chromium.org/2146073003
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 050253f..2cfe8ae 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -663,6 +663,9 @@
fDeviceCMDirty = true;
fSaveCount = 1;
fMetaData = nullptr;
+#ifdef SK_EXPERIMENTAL_SHADOWING
+ fLights = nullptr;
+#endif
fClipStack.reset(new SkClipStack);
@@ -1519,6 +1522,7 @@
this->setMatrix(SkMatrix::I());
}
+#ifdef SK_EXPERIMENTAL_SHADOWING
void SkCanvas::translateZ(SkScalar z) {
this->checkForDeferredSave();
this->fMCRec->fCurDrawDepth += z;
@@ -1529,6 +1533,15 @@
return this->fMCRec->fCurDrawDepth;
}
+void SkCanvas::setLights(sk_sp<SkLights> lights) {
+ this->fLights = lights;
+}
+
+sk_sp<SkLights> SkCanvas::getLights() const {
+ return this->fLights;
+}
+#endif
+
//////////////////////////////////////////////////////////////////////////////
void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) {
@@ -3000,6 +3013,24 @@
picture->playback(this);
}
+#ifdef SK_EXPERIMENTAL_SHADOWING
+void SkCanvas::drawShadowedPicture(const SkPicture* picture,
+ const SkMatrix* matrix,
+ const SkPaint* paint) {
+ RETURN_ON_NULL(picture);
+
+ TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawShadowedPicture()");
+
+ this->onDrawShadowedPicture(picture, matrix, paint);
+}
+
+void SkCanvas::onDrawShadowedPicture(const SkPicture* picture,
+ const SkMatrix* matrix,
+ const SkPaint* paint) {
+ this->onDrawPicture(picture, matrix, paint);
+}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////