aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkLiteDL.cpp
diff options
context:
space:
mode:
authorGravatar vjiaoblack <vjiaoblack@google.com>2016-08-25 06:30:23 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-25 06:30:23 -0700
commite6f5d5623160a69e1585f5121a3695092327dfe0 (patch)
tree44a73f37db340157c73e005841207e52210e78d0 /src/core/SkLiteDL.cpp
parent199a2ea665a088dafb2fd364f3aa6a642bfa2fef (diff)
Made shadows blurry (thru implementing variance mapping)
Diffstat (limited to 'src/core/SkLiteDL.cpp')
-rw-r--r--src/core/SkLiteDL.cpp13
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) {