diff options
author | 2017-05-31 01:06:53 +0000 | |
---|---|---|
committer | 2017-05-31 01:25:23 +0000 | |
commit | 9d14f936cc09de2a37c05c7af2cf60aa31f74722 (patch) | |
tree | 887b766f9f271ffa5cdc79f682c09d4e0394fbcf /gm/reveal.cpp | |
parent | b365cf590f87971b31bf71b6188da6c4268f2a91 (diff) |
Revert "Delete SkGaussianEdgeShader"
This reverts commit 64790a3714467300848971aa153aca8cea91cf7b.
Reason for revert: pending Android fix merge.
Original change's description:
> Delete SkGaussianEdgeShader
>
> No longer used.
>
> Change-Id: I65a61696060ca19f528066ea587e140798450e36
> Reviewed-on: https://skia-review.googlesource.com/18132
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>
TBR=jvanverth@google.com,fmalita@chromium.org,reed@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I88a428e942c78b1fc8e70501ba7fdda5727b2ab2
Reviewed-on: https://skia-review.googlesource.com/18156
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'gm/reveal.cpp')
-rw-r--r-- | gm/reveal.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gm/reveal.cpp b/gm/reveal.cpp index a793b2da54..3e465556ad 100644 --- a/gm/reveal.cpp +++ b/gm/reveal.cpp @@ -9,6 +9,7 @@ #include "sk_tool_utils.h" #include "SkAnimTimer.h" #include "SkBlurMaskFilter.h" +#include "SkGaussianEdgeShader.h" #include "SkRRectsGaussianEdgeMaskFilter.h" #include "SkPath.h" #include "SkPathOps.h" @@ -313,6 +314,7 @@ namespace skiagm { class RevealGM : public GM { public: enum Mode { + kGaussianEdge_Mode, kBlurMask_Mode, kRRectsGaussianEdge_Mode, @@ -384,7 +386,20 @@ protected: // The goal is to replace this clipped draw (which clips the // shadow) with a draw using the geometric clip - if (kBlurMask_Mode == fMode) { + if (kGaussianEdge_Mode == fMode) { + canvas->save(); + clipObj->clip(canvas); + + // Draw with GaussianEdgeShader + SkPaint paint; + paint.setAntiAlias(true); + // G channel is an F6.2 radius + int iBlurRad = (int)(4.0f * fBlurRadius); + paint.setColor(SkColorSetARGB(255, iBlurRad >> 8, iBlurRad & 0xFF, 0)); + paint.setShader(SkGaussianEdgeShader::Make()); + drawObj->draw(canvas, paint); + canvas->restore(); + } else if (kBlurMask_Mode == fMode) { SkPath clippedPath; SkScalar sigma = fBlurRadius / 4.0f; |