From 14d54c207d7a175d14d34f5527af7cbfd579f4d5 Mon Sep 17 00:00:00 2001 From: Florin Malita Date: Thu, 18 May 2017 11:52:59 -0400 Subject: Hide SkPerlinNoiseShader impl details Move the shader impl to a private class, leave SkPerlinNoiseShader as a factory class only (similar to e.g. SkLightingShader). Change-Id: Ic1180db8f5dfd3d8f6fba133c6bf6bbdfa4f97a4 Reviewed-on: https://skia-review.googlesource.com/17318 Reviewed-by: Mike Reed Commit-Queue: Florin Malita --- bench/PerlinNoiseBench.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'bench/PerlinNoiseBench.cpp') diff --git a/bench/PerlinNoiseBench.cpp b/bench/PerlinNoiseBench.cpp index 6c98374bc3..802c5be021 100644 --- a/bench/PerlinNoiseBench.cpp +++ b/bench/PerlinNoiseBench.cpp @@ -7,6 +7,7 @@ #include "Benchmark.h" #include "SkCanvas.h" #include "SkPerlinNoiseShader.h" +#include "SkShader.h" class PerlinNoiseBench : public Benchmark { SkISize fSize; @@ -22,8 +23,7 @@ protected: } void onDraw(int loops, SkCanvas* canvas) override { - this->test(loops, canvas, 0, 0, SkPerlinNoiseShader::kFractalNoise_Type, - 0.1f, 0.1f, 3, 0, false); + this->test(loops, canvas, 0, 0, 0.1f, 0.1f, 3, 0, false); } private: @@ -38,17 +38,13 @@ private: canvas->restore(); } - void test(int loops, SkCanvas* canvas, int x, int y, SkPerlinNoiseShader::Type type, + void test(int loops, SkCanvas* canvas, int x, int y, float baseFrequencyX, float baseFrequencyY, int numOctaves, float seed, bool stitchTiles) { - sk_sp shader = (type == SkPerlinNoiseShader::kFractalNoise_Type) ? - SkPerlinNoiseShader::MakeFractalNoise(baseFrequencyX, baseFrequencyY, numOctaves, - seed, stitchTiles ? &fSize : nullptr) : - SkPerlinNoiseShader::MakeTurbulence(baseFrequencyX, baseFrequencyY, numOctaves, - seed, stitchTiles ? &fSize : nullptr); SkPaint paint; - paint.setShader(shader); - + paint.setShader(SkPerlinNoiseShader::MakeFractalNoise(baseFrequencyX, baseFrequencyY, + numOctaves, seed, + stitchTiles ? &fSize : nullptr)); for (int i = 0; i < loops; i++) { this->drawClippedRect(canvas, x, y, paint); } -- cgit v1.2.3