Index: src/effects/gradients/SkTwoPointConicalGradient.cpp |
=================================================================== |
--- src/effects/gradients/SkTwoPointConicalGradient.cpp (revision 8241) |
+++ src/effects/gradients/SkTwoPointConicalGradient.cpp (working copy) |
@@ -336,20 +336,18 @@ |
class GrGLConical2Gradient : public GrGLGradientEffect { |
public: |
- GrGLConical2Gradient(const GrBackendEffectFactory& factory, |
- const GrEffectRef&); |
+ GrGLConical2Gradient(const GrBackendEffectFactory& factory, const GrDrawEffect&); |
virtual ~GrGLConical2Gradient() { } |
virtual void emitCode(GrGLShaderBuilder*, |
- const GrEffectStage&, |
+ const GrDrawEffect&, |
EffectKey, |
- const char* vertexCoords, |
const char* outputColor, |
const char* inputColor, |
const TextureSamplerArray&) SK_OVERRIDE; |
- virtual void setData(const GrGLUniformManager&, const GrEffectStage&) SK_OVERRIDE; |
+ virtual void setData(const GrGLUniformManager&, const GrDrawEffect&) SK_OVERRIDE; |
- static EffectKey GenKey(const GrEffectStage&, const GrGLCaps& caps); |
+ static EffectKey GenKey(const GrDrawEffect&, const GrGLCaps& caps); |
protected: |
@@ -469,7 +467,7 @@ |
///////////////////////////////////////////////////////////////////// |
GrGLConical2Gradient::GrGLConical2Gradient(const GrBackendEffectFactory& factory, |
- const GrEffectRef& baseData) |
+ const GrDrawEffect& drawEffect) |
: INHERITED(factory) |
, fVSParamUni(kInvalidUniformHandle) |
, fFSParamUni(kInvalidUniformHandle) |
@@ -479,21 +477,20 @@ |
, fCachedRadius(-SK_ScalarMax) |
, fCachedDiffRadius(-SK_ScalarMax) { |
- const GrConical2Gradient& data = CastEffect<GrConical2Gradient>(baseData); |
+ const GrConical2Gradient& data = drawEffect.castEffect<GrConical2Gradient>(); |
fIsDegenerate = data.isDegenerate(); |
} |
void GrGLConical2Gradient::emitCode(GrGLShaderBuilder* builder, |
- const GrEffectStage&, |
+ const GrDrawEffect&, |
EffectKey key, |
- const char* vertexCoords, |
const char* outputColor, |
const char* inputColor, |
const TextureSamplerArray& samplers) { |
const char* fsCoords; |
const char* vsCoordsVarying; |
GrSLType coordsVaryingType; |
- this->setupMatrix(builder, key, vertexCoords, &fsCoords, &vsCoordsVarying, &coordsVaryingType); |
+ this->setupMatrix(builder, key, &fsCoords, &vsCoordsVarying, &coordsVaryingType); |
this->emitYCoordUniform(builder); |
// 2 copies of uniform array, 1 for each of vertex & fragment shader, |
@@ -651,9 +648,10 @@ |
} |
} |
-void GrGLConical2Gradient::setData(const GrGLUniformManager& uman, const GrEffectStage& stage) { |
- INHERITED::setData(uman, stage); |
- const GrConical2Gradient& data = GetEffectFromStage<GrConical2Gradient>(stage); |
+void GrGLConical2Gradient::setData(const GrGLUniformManager& uman, |
+ const GrDrawEffect& drawEffect) { |
+ INHERITED::setData(uman, drawEffect); |
+ const GrConical2Gradient& data = drawEffect.castEffect<GrConical2Gradient>(); |
GrAssert(data.isDegenerate() == fIsDegenerate); |
SkScalar centerX1 = data.center(); |
SkScalar radius0 = data.radius(); |
@@ -687,13 +685,14 @@ |
} |
} |
-GrGLEffect::EffectKey GrGLConical2Gradient::GenKey(const GrEffectStage& s, const GrGLCaps&) { |
+GrGLEffect::EffectKey GrGLConical2Gradient::GenKey(const GrDrawEffect& drawEffect, |
+ const GrGLCaps&) { |
enum { |
kIsDegenerate = 1 << kMatrixKeyBitCnt, |
}; |
- EffectKey key = GenMatrixKey(s); |
- if (GetEffectFromStage<GrConical2Gradient>(s).isDegenerate()) { |
+ EffectKey key = GenMatrixKey(drawEffect); |
+ if (drawEffect.castEffect<GrConical2Gradient>().isDegenerate()) { |
key |= kIsDegenerate; |
} |
return key; |