Index: src/effects/SkMagnifierImageFilter.cpp |
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp |
index 973ac66905659395b27f40ecdedcc5eefcbb8ecf..129b73157d56ed2ee94f7e4903b3c9e14e83fd65 100644 |
--- a/src/effects/SkMagnifierImageFilter.cpp |
+++ b/src/effects/SkMagnifierImageFilter.cpp |
@@ -14,15 +14,12 @@ |
//////////////////////////////////////////////////////////////////////////////// |
#if SK_SUPPORT_GPU |
+#include "GrInvariantOutput.h" |
#include "effects/GrSingleTextureEffect.h" |
#include "gl/GrGLProcessor.h" |
-#include "gl/builders/GrGLProgramBuilder.h" |
#include "gl/GrGLSL.h" |
#include "gl/GrGLTexture.h" |
-#include "GrInvariantOutput.h" |
-#include "GrTBackendProcessorFactory.h" |
- |
-class GrGLMagnifierEffect; |
+#include "gl/builders/GrGLProgramBuilder.h" |
class GrMagnifierEffect : public GrSingleTextureEffect { |
@@ -45,9 +42,16 @@ public: |
virtual ~GrMagnifierEffect() {}; |
- static const char* Name() { return "Magnifier"; } |
+ virtual const char* name() const SK_OVERRIDE { return "Magnifier"; } |
+ |
+ virtual void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const SK_OVERRIDE; |
- virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERRIDE; |
+ virtual GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; |
+ |
+ virtual uint32_t classID() const { |
+ static uint32_t id = GenClassID(); |
+ return id; |
+ } |
float x_offset() const { return fXOffset; } |
float y_offset() const { return fYOffset; } |
float x_inv_zoom() const { return fXInvZoom; } |
@@ -55,8 +59,6 @@ public: |
float x_inv_inset() const { return fXInvInset; } |
float y_inv_inset() const { return fYInvInset; } |
- typedef GrGLMagnifierEffect GLProcessor; |
- |
private: |
GrMagnifierEffect(GrTexture* texture, |
float xOffset, |
@@ -94,7 +96,7 @@ typedef GrGLProgramDataManager::UniformHandle UniformHandle; |
class GrGLMagnifierEffect : public GrGLFragmentProcessor { |
public: |
- GrGLMagnifierEffect(const GrBackendProcessorFactory&, const GrProcessor&); |
+ GrGLMagnifierEffect(const GrProcessor&); |
virtual void emitCode(GrGLFPBuilder*, |
const GrFragmentProcessor&, |
@@ -113,9 +115,7 @@ private: |
typedef GrGLFragmentProcessor INHERITED; |
}; |
-GrGLMagnifierEffect::GrGLMagnifierEffect(const GrBackendProcessorFactory& factory, |
- const GrProcessor&) |
- : INHERITED(factory) { |
+GrGLMagnifierEffect::GrGLMagnifierEffect(const GrProcessor&) { |
} |
void GrGLMagnifierEffect::emitCode(GrGLFPBuilder* builder, |
@@ -181,6 +181,15 @@ void GrGLMagnifierEffect::setData(const GrGLProgramDataManager& pdman, |
///////////////////////////////////////////////////////////////////// |
+void GrMagnifierEffect::getGLProcessorKey(const GrGLCaps& caps, |
+ GrProcessorKeyBuilder* b) const { |
+ GrGLMagnifierEffect::GenKey(*this, caps, b); |
+} |
+ |
+GrGLFragmentProcessor* GrMagnifierEffect::createGLInstance() const { |
+ return SkNEW_ARGS(GrGLMagnifierEffect, (*this)); |
+} |
+ |
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrMagnifierEffect); |
GrFragmentProcessor* GrMagnifierEffect::TestCreate(SkRandom* random, |
@@ -211,10 +220,6 @@ GrFragmentProcessor* GrMagnifierEffect::TestCreate(SkRandom* random, |
/////////////////////////////////////////////////////////////////////////////// |
-const GrBackendFragmentProcessorFactory& GrMagnifierEffect::getFactory() const { |
- return GrTBackendFragmentProcessorFactory<GrMagnifierEffect>::getInstance(); |
-} |
- |
bool GrMagnifierEffect::onIsEqual(const GrFragmentProcessor& sBase) const { |
const GrMagnifierEffect& s = sBase.cast<GrMagnifierEffect>(); |
return (this->fXOffset == s.fXOffset && |