diff options
author | Florin Malita <fmalita@chromium.org> | 2017-05-30 14:26:18 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-30 20:34:29 +0000 |
commit | 64790a3714467300848971aa153aca8cea91cf7b (patch) | |
tree | ded356ba8c9696866654df7d7c85b43fa71685e8 /gm | |
parent | f2ae2b2dbcbdcc31b72fa86ed79f1cc02220528d (diff) |
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>
Diffstat (limited to 'gm')
-rw-r--r-- | gm/gaussianedge.cpp | 222 | ||||
-rw-r--r-- | gm/reveal.cpp | 17 |
2 files changed, 1 insertions, 238 deletions
diff --git a/gm/gaussianedge.cpp b/gm/gaussianedge.cpp deleted file mode 100644 index eca8495821..0000000000 --- a/gm/gaussianedge.cpp +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Copyright 2016 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "gm.h" -#include "SkColorFilter.h" -#include "SkGaussianEdgeShader.h" -#include "SkRRect.h" - -//#define VIZ 1 - -#ifdef VIZ -#include "SkStroke.h" - -static void draw_stroke(SkCanvas* canvas, const SkRRect& rr, const SkPaint& p, SkColor color) { - SkPath output; - - if (SkPaint::kFill_Style == p.getStyle()) { - output.addRRect(rr); - } else { - SkPath input; - input.addRRect(rr); - - SkStroke stroke(p); - stroke.strokePath(input, &output); - } - - SkPaint paint; - paint.setStyle(SkPaint::kStroke_Style); - paint.setColor(color); - - canvas->drawPath(output, paint); -} - -static void extract_pts(const SkBitmap& bm, SkTDArray<SkPoint>* pts, - int xOff, int width) { - pts->rewind(); - - for (int x = 0; x < width; ++x) { - SkColor color = bm.getColor(xOff+x, 0); - - pts->append()->set(SkIntToScalar(x), 255.0f-SkColorGetB(color)); - if (x > 0 && x < width-1) { - pts->append()->set(SkIntToScalar(x), 255.0f-SkColorGetB(color)); - } - } -} - -static void draw_row(SkCanvas* canvas, int row, int width) { - SkPaint paint; - paint.setAntiAlias(true); - - SkBitmap readback; - - if (!canvas->readPixels(SkIRect::MakeXYWH(0, row, width, 1), &readback)) { - return; - } - - SkTDArray<SkPoint> pts; - pts.setReserve(width/3); - - extract_pts(readback, &pts, 0, width/3); - paint.setColor(SK_ColorRED); - canvas->drawPoints(SkCanvas::kLines_PointMode, pts.count(), pts.begin(), paint); - - extract_pts(readback, &pts, width/3, width/3); - paint.setColor(SK_ColorGREEN); - canvas->drawPoints(SkCanvas::kLines_PointMode, pts.count(), pts.begin(), paint); - - extract_pts(readback, &pts, 2*width/3, width/3); - paint.setColor(SK_ColorBLUE); - canvas->drawPoints(SkCanvas::kLines_PointMode, pts.count(), pts.begin(), paint); -} -#endif - -namespace skiagm { - -// This GM exercises the SkGaussianEdgeShader. -// It draws three columns showing filled, stroked, and stroke and filled rendering. -// It draws three rows showing a blur radius smaller than, equal to -// and, finally, double the RRect's corner radius -// In VIZ mode an extra column is drawn showing the blur ramps (they should all line up). -class GaussianEdgeGM : public GM { -public: - GaussianEdgeGM() { - this->setBGColor(SK_ColorWHITE); - } - -protected: - - SkString onShortName() override { - return SkString("gaussianedge"); - } - - SkISize onISize() override { - int numCols = kNumBaseCols; -#ifdef VIZ - numCols++; -#endif - - return SkISize::Make(kPad + numCols*(kCellWidth+kPad), - kPad + kNumRows*(kCellWidth+kPad)); - } - - static void DrawRow(SkCanvas* canvas, int blurRad, int midLine) { - SkAutoCanvasRestore acr(canvas, true); - - SkRRect rrects[kNumBaseCols]; - SkPaint paints[kNumBaseCols]; - - { - const SkRect r = SkRect::MakeIWH(kRRSize, kRRSize); - const SkRRect baseRR = SkRRect::MakeRectXY(r, - SkIntToScalar(kRRRad), - SkIntToScalar(kRRRad)); - - SkPaint basePaint; - basePaint.setAntiAlias(true); - basePaint.setColor(SkColorSetARGB(255, (4 * blurRad) >> 8, (4 * blurRad) & 0xff, 0)); - basePaint.setShader(SkGaussianEdgeShader::Make()); - basePaint.setColorFilter(SkColorFilter::MakeModeFilter(SK_ColorRED, - SkBlendMode::kModulate)); - - //---- - paints[0] = basePaint; - rrects[0] = baseRR; - - //---- - paints[1] = basePaint; - paints[1].setStyle(SkPaint::kStroke_Style); - - rrects[1] = baseRR; - if (blurRad/2.0f < kRRRad) { - rrects[1].inset(blurRad/2.0f, blurRad/2.0f); - paints[1].setStrokeWidth(SkIntToScalar(blurRad)); - } else { - SkScalar inset = kRRRad - 0.5f; - rrects[1].inset(inset, inset); - SkScalar pad = blurRad/2.0f - inset; - paints[1].setStrokeWidth(blurRad + 2.0f * pad); - paints[1].setColor(SkColorSetARGB(255, (4 * blurRad) >> 8, (4 * blurRad) & 0xff, - (int)(4.0f*pad))); - } - - //---- - paints[2] = basePaint; - paints[2].setStyle(SkPaint::kStrokeAndFill_Style); - - rrects[2] = baseRR; - if (blurRad/2.0f < kRRRad) { - rrects[2].inset(blurRad/2.0f, blurRad/2.0f); - paints[2].setStrokeWidth(SkIntToScalar(blurRad)); - } else { - SkScalar inset = kRRRad - 0.5f; - rrects[2].inset(inset, inset); - SkScalar pad = blurRad/2.0f - inset; - paints[2].setStrokeWidth(blurRad + 2.0f * pad); - paints[2].setColor(SkColorSetARGB(255, (4 * blurRad) >> 8, (4 * blurRad) & 0xff, - (int)(4.0f*pad))); - } - } - - //---- - canvas->save(); - // draw the shadows - for (int i = 0; i < kNumBaseCols; ++i) { - canvas->drawRRect(rrects[i], paints[i]); - canvas->translate(SkIntToScalar(kCellWidth+kPad), 0.0f); - } - -#ifdef VIZ - // draw the visualization of the shadow ramps - draw_row(canvas, midLine, 3*(kRRSize+kPad)); -#endif - canvas->restore(); - -#ifdef VIZ - const SkColor colors[kNumBaseCols] = { SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE }; - - // circle back and draw the stroked geometry (they would mess up the viz otherwise) - for (int i = 0; i < kNumBaseCols; ++i) { - draw_stroke(canvas, rrects[i], paints[i], colors[i]); - canvas->translate(SkIntToScalar(kCellWidth+kPad), 0.0f); - } -#endif - } - - void onDraw(SkCanvas* canvas) override { - GrRenderTargetContext* renderTargetContext = - canvas->internal_private_accessTopLayerRenderTargetContext(); - if (!renderTargetContext) { - skiagm::GM::DrawGpuOnlyMessage(canvas); - return; - } - - const int blurRadii[kNumRows] = { kRRRad/2, kRRRad, 2*kRRRad }; - - canvas->translate(SkIntToScalar(kPad), SkIntToScalar(kPad)); - for (int i = 0; i < kNumRows; ++i) { - DrawRow(canvas, blurRadii[i], kPad+(i*kRRSize)+kRRSize/2); - canvas->translate(0.0f, SkIntToScalar(kCellWidth+kPad)); - } - } - -private: - static const int kNumRows = 3; - static const int kNumBaseCols = 3; - static const int kPad = 5; - static const int kRRSize = 256; - static const int kRRRad = 64; - static const int kCellWidth = kRRSize; - - typedef GM INHERITED; -}; - -////////////////////////////////////////////////////////////////////////////// - -DEF_GM(return new GaussianEdgeGM;) -} diff --git a/gm/reveal.cpp b/gm/reveal.cpp index 3e465556ad..a793b2da54 100644 --- a/gm/reveal.cpp +++ b/gm/reveal.cpp @@ -9,7 +9,6 @@ #include "sk_tool_utils.h" #include "SkAnimTimer.h" #include "SkBlurMaskFilter.h" -#include "SkGaussianEdgeShader.h" #include "SkRRectsGaussianEdgeMaskFilter.h" #include "SkPath.h" #include "SkPathOps.h" @@ -314,7 +313,6 @@ namespace skiagm { class RevealGM : public GM { public: enum Mode { - kGaussianEdge_Mode, kBlurMask_Mode, kRRectsGaussianEdge_Mode, @@ -386,20 +384,7 @@ protected: // The goal is to replace this clipped draw (which clips the // shadow) with a draw using the geometric clip - 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) { + if (kBlurMask_Mode == fMode) { SkPath clippedPath; SkScalar sigma = fBlurRadius / 4.0f; |