From 4aed13889bd9085337e0d4c20df28686687b833b Mon Sep 17 00:00:00 2001 From: Florin Malita Date: Thu, 25 May 2017 10:38:07 -0400 Subject: Reland of SkShaderBase Introduce a private base class (SkShaderBase), to hide implementation details from the public interface (SkShader). Change-Id: Ib1d76cde880bd51868b97408710f8bb38128e536 Reviewed-on: https://skia-review.googlesource.com/17925 Reviewed-by: Florin Malita Commit-Queue: Florin Malita --- experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp | 8 ++++---- experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.h | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'experimental') diff --git a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp index 88ed0f10bf..1ebee2ef73 100644 --- a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp +++ b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp @@ -564,8 +564,8 @@ SkPMColor SkPerlinNoiseShader2::PerlinNoiseShaderContext::shade( return SkPreMultiplyARGB(rgba[3], rgba[0], rgba[1], rgba[2]); } -SkShader::Context* SkPerlinNoiseShader2::onMakeContext(const ContextRec& rec, - SkArenaAlloc* alloc) const { +SkShaderBase::Context* SkPerlinNoiseShader2::onMakeContext(const ContextRec& rec, + SkArenaAlloc* alloc) const { return alloc->make(*this, rec); } @@ -719,7 +719,7 @@ sk_sp GrPerlinNoise2Effect::TestCreate(GrProcessorTestData* stitchTiles ? &tileSize : nullptr)); GrTest::TestAsFPArgs asFPArgs(d); - return shader->asFragmentProcessor(asFPArgs.args()); + return as_SB(shader)->asFragmentProcessor(asFPArgs.args()); } #endif @@ -1126,7 +1126,7 @@ sk_sp GrImprovedPerlinNoiseEffect::TestCreate(GrProcessorTe z)); GrTest::TestAsFPArgs asFPArgs(d); - return shader->asFragmentProcessor(asFPArgs.args()); + return as_SB(shader)->asFragmentProcessor(asFPArgs.args()); } #endif diff --git a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.h b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.h index 0f40ae4af3..8a46a326d9 100644 --- a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.h +++ b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.h @@ -8,7 +8,7 @@ #ifndef SkPerlinNoiseShader2_DEFINED #define SkPerlinNoiseShader2_DEFINED -#include "SkShader.h" +#include "SkShaderBase.h" /** \class SkPerlinNoiseShader2 @@ -22,7 +22,7 @@ The algorithm used is described here : http://www.w3.org/TR/SVG/filters.html#feTurbulenceElement */ -class SK_API SkPerlinNoiseShader2 : public SkShader { +class SK_API SkPerlinNoiseShader2 : public SkShaderBase { public: struct StitchData; struct PaintingData; @@ -83,7 +83,7 @@ public: return MakeTurbulence(baseFrequencyX, baseFrequencyY, numOctaves, seed, tileSize); } - class PerlinNoiseShaderContext : public SkShader::Context { + class PerlinNoiseShaderContext : public Context { public: PerlinNoiseShaderContext(const SkPerlinNoiseShader2& shader, const ContextRec&); ~PerlinNoiseShaderContext() override; @@ -102,7 +102,7 @@ public: SkMatrix fMatrix; PaintingData* fPaintingData; - typedef SkShader::Context INHERITED; + typedef Context INHERITED; }; #if SK_SUPPORT_GPU @@ -130,7 +130,7 @@ private: const SkISize fTileSize; const bool fStitchTiles; - typedef SkShader INHERITED; + typedef SkShaderBase INHERITED; }; #endif -- cgit v1.2.3