Some refactoring of GrCustomStage and friends
Review URL: http://codereview.appspot.com/6209071/
git-svn-id: http://skia.googlecode.com/svn/trunk@4003 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/effects/GrConvolutionEffect.h b/src/gpu/effects/GrConvolutionEffect.h
index e3c3aa9..4fdddd9 100644
--- a/src/gpu/effects/GrConvolutionEffect.h
+++ b/src/gpu/effects/GrConvolutionEffect.h
@@ -11,6 +11,8 @@
#include "GrCustomStage.h"
#include "GrSamplerState.h" // for MAX_KENEL_WIDTH, FilterDirection
+class GrGLConvolutionEffect;
+
class GrConvolutionEffect : public GrCustomStage {
public:
@@ -19,11 +21,17 @@
unsigned int kernelWidth, const float* kernel);
virtual ~GrConvolutionEffect();
- virtual const char* name() const SK_OVERRIDE;
- virtual GrProgramStageFactory* getFactory() const SK_OVERRIDE;
- virtual bool isEqual(const GrCustomStage *) const SK_OVERRIDE;
-
unsigned int width() const { return fKernelWidth; }
+ const float* kernel() const { return fKernel; }
+ GrSamplerState::FilterDirection direction() const { return fDirection; }
+
+ static const char* Name() { return "Convolution"; }
+
+ typedef GrGLConvolutionEffect GLProgramStage;
+
+ virtual const char* name() const SK_OVERRIDE;
+ virtual const GrProgramStageFactory& getFactory() const SK_OVERRIDE;
+ virtual bool isEqual(const GrCustomStage *) const SK_OVERRIDE;
protected:
@@ -31,7 +39,6 @@
unsigned int fKernelWidth;
float fKernel[MAX_KERNEL_WIDTH];
- friend class GrGLConvolutionEffect;
private: