diff options
Diffstat (limited to 'gm')
-rw-r--r-- | gm/imageblurclampmode.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gm/imageblurclampmode.cpp b/gm/imageblurclampmode.cpp index 51109c5cff..74bed43b2b 100644 --- a/gm/imageblurclampmode.cpp +++ b/gm/imageblurclampmode.cpp @@ -61,29 +61,34 @@ protected: void onDraw(SkCanvas* canvas) override { sk_sp<SkImage> image(make_image(canvas)); + sk_sp<SkImageFilter> filter; canvas->translate(0, 30); // Test different kernel size, including the one to launch 2d Gaussian // blur. for (auto sigma: { 0.6f, 3.0f, 8.0f, 20.0f }) { canvas->save(); - sk_sp<SkImageFilter> filter( - SkBlurImageFilter::Make(sigma, 0.0f, nullptr, nullptr, - SkBlurImageFilter::kClamp_TileMode)); + + // x-only blur + filter = SkBlurImageFilter::Make(sigma, 0.0f, nullptr, nullptr, + SkBlurImageFilter::kClamp_TileMode); draw_image(canvas, image, std::move(filter)); canvas->translate(image->width() + 20, 0); + // y-only blur filter = SkBlurImageFilter::Make(0.0f, sigma, nullptr, nullptr, SkBlurImageFilter::kClamp_TileMode); draw_image(canvas, image, std::move(filter)); canvas->translate(image->width() + 20, 0); + // both directions filter = SkBlurImageFilter::Make(sigma, sigma, nullptr, nullptr, SkBlurImageFilter::kClamp_TileMode); draw_image(canvas, image, std::move(filter)); canvas->translate(image->width() + 20, 0); canvas->restore(); + canvas->translate(0, image->height() + 20); } } |