diff options
author | 2015-09-30 12:21:45 -0700 | |
---|---|---|
committer | 2015-09-30 12:21:45 -0700 | |
commit | 856e9d921462136da8562f8f122d42e114cd4710 (patch) | |
tree | 9ebc00a92f5aacdd54d00c528fa3ed19f48f6fd6 /src/image/SkImageShader.h | |
parent | 8a6697af95b340aad6dee7e6228048fa305c1e59 (diff) |
Revert[4] of add ImageShader, sharing code with its Bitmap cousin
Now with GrTextureMaker subclasses to handle npot usage.
This reverts commit 476506d070dbc59b158acc1a00c34bff95ab2968.
BUG=skia:
Review URL: https://codereview.chromium.org/1370223002
Diffstat (limited to 'src/image/SkImageShader.h')
-rw-r--r-- | src/image/SkImageShader.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/image/SkImageShader.h b/src/image/SkImageShader.h new file mode 100644 index 0000000000..fdd7976aad --- /dev/null +++ b/src/image/SkImageShader.h @@ -0,0 +1,44 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkImageShader_DEFINED +#define SkImageShader_DEFINED + +#include "SkImage.h" +#include "SkShader.h" + +class SkImageShader : public SkShader { +public: + static SkShader* Create(const SkImage*, TileMode tx, TileMode ty, const SkMatrix* localMatrix); + + bool isOpaque() const override; + size_t contextSize() const override; + + SK_TO_STRING_OVERRIDE() + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageShader) + +#if SK_SUPPORT_GPU + const GrFragmentProcessor* asFragmentProcessor(GrContext*, const SkMatrix& viewM, + const SkMatrix*, SkFilterQuality, + GrProcessorDataManager*) const override; +#endif + +protected: + void flatten(SkWriteBuffer&) const override; + Context* onCreateContext(const ContextRec&, void* storage) const override; + + SkAutoTUnref<const SkImage> fImage; + const TileMode fTileModeX; + const TileMode fTileModeY; + +private: + SkImageShader(const SkImage*, TileMode tx, TileMode ty, const SkMatrix* localMatrix); + + typedef SkShader INHERITED; +}; + +#endif |