Index: src/core/SkComposeShader.cpp |
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp |
index 3c0d7127b807233bbe4cf107bb92a912e55562c4..57dd05aa75ac84aac17e20e6f6dd3927d6f51764 100644 |
--- a/src/core/SkComposeShader.cpp |
+++ b/src/core/SkComposeShader.cpp |
@@ -196,57 +196,11 @@ void SkComposeShader::ComposeShaderContext::shadeSpan(int x, int y, SkPMColor re |
#if SK_SUPPORT_GPU |
-#include "SkGr.h" |
-#include "GrProcessor.h" |
#include "gl/GrGLBlend.h" |
#include "gl/builders/GrGLProgramBuilder.h" |
///////////////////////////////////////////////////////////////////// |
-class GrComposeEffect : public GrFragmentProcessor { |
-public: |
- |
- static GrFragmentProcessor* Create(const GrFragmentProcessor* fpA, |
- const GrFragmentProcessor* fpB, |
- SkXfermode::Mode mode) { |
- return SkNEW_ARGS(GrComposeEffect, (fpA, fpB, mode)); |
- } |
- const char* name() const override {return fName.c_str(); } |
- void onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override; |
- |
- SkXfermode::Mode getMode() const { return fMode; } |
- int getShaderAChildIndex() const { return fShaderAChildIndex; } |
- int getShaderBChildIndex() const { return fShaderBChildIndex; } |
- |
-protected: |
- bool onIsEqual(const GrFragmentProcessor&) const override; |
- void onComputeInvariantOutput(GrInvariantOutput* inout) const override; |
- |
-private: |
- GrComposeEffect(const GrFragmentProcessor* fpA, const GrFragmentProcessor* fpB, |
- SkXfermode::Mode mode) |
- : fMode(mode) { |
- this->initClassID<GrComposeEffect>(); |
- fShaderAChildIndex = this->registerChildProcessor(fpA); |
- fShaderBChildIndex = this->registerChildProcessor(fpB); |
- fName.printf("Compose Shader <%s, %s> (Mode: %s)", fpA->name(), fpB->name(), |
- SkXfermode::ModeName(fMode)); |
- } |
- |
- GrGLFragmentProcessor* onCreateGLInstance() const override; |
- |
- SkString fName; |
- int fShaderAChildIndex; |
- int fShaderBChildIndex; |
- SkXfermode::Mode fMode; |
- |
- GR_DECLARE_FRAGMENT_PROCESSOR_TEST; |
- |
- typedef GrFragmentProcessor INHERITED; |
-}; |
- |
-///////////////////////////////////////////////////////////////////// |
- |
class GrGLComposeEffect : public GrGLFragmentProcessor { |
public: |
GrGLComposeEffect(const GrProcessor& processor) { |
@@ -290,6 +244,21 @@ GrFragmentProcessor* GrComposeEffect::TestCreate(GrProcessorTestData* d) { |
return SkNEW_ARGS(GrComposeEffect, (fpA.get(), fpB.get(), mode)); |
} |
+GrFragmentProcessor* GrComposeEffect::Create(const GrFragmentProcessor* fpA, |
+ const GrFragmentProcessor* fpB, |
+ SkXfermode::Mode mode) { |
+ return SkNEW_ARGS(GrComposeEffect, (fpA, fpB, mode)); |
+} |
+ |
+GrComposeEffect::GrComposeEffect(const GrFragmentProcessor* fpA, const GrFragmentProcessor* fpB, |
+ SkXfermode::Mode mode) |
+ : fMode(mode) { |
+ this->initClassID<GrComposeEffect>(); |
+ fShaderAChildIndex = this->registerChildProcessor(fpA); |
+ fShaderBChildIndex = this->registerChildProcessor(fpB); |
+ fName.printf("Compose Shader (Mode: %s)", SkXfermode::ModeName(fMode)); |
+} |
+ |
bool GrComposeEffect::onIsEqual(const GrFragmentProcessor& other) const { |
const GrComposeEffect& cs = other.cast<GrComposeEffect>(); |
return fMode == cs.fMode; |