aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-05-25 10:38:07 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-25 14:59:07 +0000
commit4aed13889bd9085337e0d4c20df28686687b833b (patch)
treec48dfc9dd6b64b34849d9fe76b7e790ac1c3d6cd /src/image
parent555ea8e994cede6508a6d8fb6c16f99331b2ed37 (diff)
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 <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'src/image')
-rw-r--r--src/image/SkImageShader.cpp7
-rw-r--r--src/image/SkImageShader.h8
2 files changed, 8 insertions, 7 deletions
diff --git a/src/image/SkImageShader.cpp b/src/image/SkImageShader.cpp
index 0dbf944948..751300e951 100644
--- a/src/image/SkImageShader.cpp
+++ b/src/image/SkImageShader.cpp
@@ -48,7 +48,8 @@ bool SkImageShader::isOpaque() const {
return fImage->isOpaque();
}
-SkShader::Context* SkImageShader::onMakeContext(const ContextRec& rec, SkArenaAlloc* alloc) const {
+SkShaderBase::Context* SkImageShader::onMakeContext(const ContextRec& rec,
+ SkArenaAlloc* alloc) const {
return SkBitmapProcLegacyShader::MakeContext(*this, fTileModeX, fTileModeY,
SkBitmapProvider(fImage.get(), rec.fDstColorSpace),
rec, alloc);
@@ -204,9 +205,9 @@ static sk_sp<SkFlattenable> SkBitmapProcShader_CreateProc(SkReadBuffer& buffer)
return image ? image->makeShader(mx, my, &lm) : nullptr;
}
-SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkShader)
+SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkShaderBase)
SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageShader)
-SkFlattenable::Register("SkBitmapProcShader", SkBitmapProcShader_CreateProc, kSkShader_Type);
+SkFlattenable::Register("SkBitmapProcShader", SkBitmapProcShader_CreateProc, kSkShaderBase_Type);
SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
diff --git a/src/image/SkImageShader.h b/src/image/SkImageShader.h
index 5274826e88..7be982c5c6 100644
--- a/src/image/SkImageShader.h
+++ b/src/image/SkImageShader.h
@@ -11,9 +11,9 @@
#include "SkBitmapProcShader.h"
#include "SkColorSpaceXformer.h"
#include "SkImage.h"
-#include "SkShader.h"
+#include "SkShaderBase.h"
-class SkImageShader : public SkShader {
+class SkImageShader : public SkShaderBase {
public:
static sk_sp<SkShader> Make(sk_sp<SkImage>, TileMode tx, TileMode ty,
const SkMatrix* localMatrix);
@@ -50,9 +50,9 @@ protected:
const TileMode fTileModeY;
private:
- friend class SkShader;
+ friend class SkShaderBase;
- typedef SkShader INHERITED;
+ typedef SkShaderBase INHERITED;
};
#endif