aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
diff options
context:
space:
mode:
authorGravatar vjiaoblack <vjiaoblack@google.com>2016-07-21 09:10:23 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-07-21 09:10:23 -0700
commit0ae097d116f4332be02a135ffc99c162473dee6a (patch)
treec70d5f33b9753ec7db643eeb4de6cabb927e7ed8 /src/core/SkCanvas.cpp
parentd2b6d6486ed9d00df779f6b337d756c9a818006f (diff)
Creating framework for drawShadowedPicture
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r--src/core/SkCanvas.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 050253fa68..2cfe8ae2da 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -663,6 +663,9 @@ SkBaseDevice* SkCanvas::init(SkBaseDevice* device, InitFlags flags) {
fDeviceCMDirty = true;
fSaveCount = 1;
fMetaData = nullptr;
+#ifdef SK_EXPERIMENTAL_SHADOWING
+ fLights = nullptr;
+#endif
fClipStack.reset(new SkClipStack);
@@ -1519,6 +1522,7 @@ void SkCanvas::resetMatrix() {
this->setMatrix(SkMatrix::I());
}
+#ifdef SK_EXPERIMENTAL_SHADOWING
void SkCanvas::translateZ(SkScalar z) {
this->checkForDeferredSave();
this->fMCRec->fCurDrawDepth += z;
@@ -1529,6 +1533,15 @@ SkScalar SkCanvas::getZ() const {
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 @@ void SkCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matrix,
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
+
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////