Index: src/image/SkImageShader.h |
diff --git a/src/image/SkImageShader.h b/src/image/SkImageShader.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fdd7976aad5aa2cf207fe5c7ce56402b93bd6cd6 |
--- /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 |