From 0ae097d116f4332be02a135ffc99c162473dee6a Mon Sep 17 00:00:00 2001 From: vjiaoblack Date: Thu, 21 Jul 2016 09:10:23 -0700 Subject: Creating framework for drawShadowedPicture GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 Review-Url: https://codereview.chromium.org/2146073003 --- src/core/SkCanvas.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/core/SkCanvas.cpp') 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 lights) { + this->fLights = lights; +} + +sk_sp 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 + /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3