aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/reveal.cpp
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-05-31 01:06:53 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-31 01:25:23 +0000
commit9d14f936cc09de2a37c05c7af2cf60aa31f74722 (patch)
tree887b766f9f271ffa5cdc79f682c09d4e0394fbcf /gm/reveal.cpp
parentb365cf590f87971b31bf71b6188da6c4268f2a91 (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.cpp17
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;