Remove old constructors from GrGradientEffect subclasses, and moved their declarations into source files.
Review URL: https://codereview.appspot.com/6449067
git-svn-id: http://skia.googlecode.com/svn/trunk@4870 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp
index 3a0583b..be2e46f 100644
--- a/src/effects/gradients/SkRadialGradient.cpp
+++ b/src/effects/gradients/SkRadialGradient.cpp
@@ -150,6 +150,8 @@
}
+/////////////////////////////////////////////////////////////////////
+
SkRadialGradient::SkRadialGradient(const SkPoint& center, SkScalar radius,
const SkColor colors[], const SkScalar pos[], int colorCount,
SkShader::TileMode mode, SkUnitMapper* mapper)
@@ -245,16 +247,6 @@
return kRadial_GradientType;
}
-GrCustomStage* SkRadialGradient::asNewCustomStage(GrContext* context,
- GrSamplerState* sampler) const {
- SkASSERT(NULL != context && NULL != sampler);
- sampler->matrix()->preConcat(fPtsToUnit);
- sampler->textureParams()->setTileModeX(fTileMode);
- sampler->textureParams()->setTileModeY(kClamp_TileMode);
- sampler->textureParams()->setBilerp(true);
- return SkNEW_ARGS(GrRadialGradient, (context, *this, sampler));
-}
-
SkRadialGradient::SkRadialGradient(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer),
fCenter(buffer.readPoint()),
@@ -480,7 +472,6 @@
/////////////////////////////////////////////////////////////////////
class GrGLRadialGradient : public GrGLGradientStage {
-
public:
GrGLRadialGradient(const GrProgramStageFactory& factory,
@@ -502,6 +493,33 @@
};
+/////////////////////////////////////////////////////////////////////
+
+class GrRadialGradient : public GrGradientEffect {
+public:
+
+ GrRadialGradient(GrContext* ctx,
+ const SkRadialGradient& shader,
+ GrSamplerState* sampler)
+ : INHERITED(ctx, shader, sampler) {
+ }
+
+ virtual ~GrRadialGradient() { }
+
+ static const char* Name() { return "Radial Gradient"; }
+ virtual const GrProgramStageFactory& getFactory() const SK_OVERRIDE {
+ return GrTProgramStageFactory<GrRadialGradient>::getInstance();
+ }
+
+ typedef GrGLRadialGradient GLProgramStage;
+
+private:
+
+ typedef GrGradientEffect INHERITED;
+};
+
+/////////////////////////////////////////////////////////////////////
+
void GrGLRadialGradient::emitFS(GrGLShaderBuilder* builder,
const char* outputColor,
const char* inputColor,
@@ -511,26 +529,15 @@
this->emitColorLookup(builder, t.c_str(), outputColor, samplerName);
}
-
/////////////////////////////////////////////////////////////////////
-
-GrRadialGradient::GrRadialGradient(GrTexture* texture)
- : INHERITED(texture) {
-
-}
-
-GrRadialGradient::GrRadialGradient(GrContext* ctx,
- const SkRadialGradient& shader,
- GrSamplerState* sampler)
- : INHERITED(ctx, shader, sampler) {
-}
-
-GrRadialGradient::~GrRadialGradient() {
-
-}
-
-const GrProgramStageFactory& GrRadialGradient::getFactory() const {
- return GrTProgramStageFactory<GrRadialGradient>::getInstance();
+GrCustomStage* SkRadialGradient::asNewCustomStage(GrContext* context,
+ GrSamplerState* sampler) const {
+ SkASSERT(NULL != context && NULL != sampler);
+ sampler->matrix()->preConcat(fPtsToUnit);
+ sampler->textureParams()->setTileModeX(fTileMode);
+ sampler->textureParams()->setTileModeY(kClamp_TileMode);
+ sampler->textureParams()->setBilerp(true);
+ return SkNEW_ARGS(GrRadialGradient, (context, *this, sampler));
}