diff options
author | vjiaoblack <vjiaoblack@google.com> | 2016-08-25 06:30:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-25 06:30:23 -0700 |
commit | e6f5d5623160a69e1585f5121a3695092327dfe0 (patch) | |
tree | 44a73f37db340157c73e005841207e52210e78d0 /src/core/SkLiteDL.cpp | |
parent | 199a2ea665a088dafb2fd364f3aa6a642bfa2fef (diff) |
Made shadows blurry (thru implementing variance mapping)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2224163005
Review-Url: https://codereview.chromium.org/2224163005
Diffstat (limited to 'src/core/SkLiteDL.cpp')
-rw-r--r-- | src/core/SkLiteDL.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp index f7fe578c4e..d94e1399d6 100644 --- a/src/core/SkLiteDL.cpp +++ b/src/core/SkLiteDL.cpp @@ -270,17 +270,20 @@ namespace { }; struct DrawShadowedPicture final : Op { static const auto kType = Type::DrawShadowedPicture; - DrawShadowedPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint) + DrawShadowedPicture(const SkPicture* picture, const SkMatrix* matrix, + const SkPaint* paint, const SkShadowParams& params) : picture(sk_ref_sp(picture)) { if (matrix) { this->matrix = *matrix; } if (paint) { this->paint = *paint; } + this->params = params; } sk_sp<const SkPicture> picture; SkMatrix matrix = SkMatrix::I(); SkPaint paint; + SkShadowParams params; void draw(SkCanvas* c, const SkMatrix&) { #ifdef SK_EXPERIMENTAL_SHADOWING - c->drawShadowedPicture(picture.get(), &matrix, &paint); + c->drawShadowedPicture(picture.get(), &matrix, &paint, params); #endif } void makeThreadsafe() { make_threadsafe(nullptr, &matrix); } @@ -615,9 +618,9 @@ void SkLiteDL::drawPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint) { this->push<DrawPicture>(0, picture, matrix, paint); } -void SkLiteDL::drawShadowedPicture(const SkPicture* picture, - const SkMatrix* matrix, const SkPaint* paint) { - this->push<DrawShadowedPicture>(0, picture, matrix, paint); +void SkLiteDL::drawShadowedPicture(const SkPicture* picture, const SkMatrix* matrix, + const SkPaint* paint, const SkShadowParams& params) { + push<DrawShadowedPicture>(0, picture, matrix, paint, params); } void SkLiteDL::drawBitmap(const SkBitmap& bm, SkScalar x, SkScalar y, const SkPaint* paint) { |