diff options
author | 2013-01-14 16:46:26 +0000 | |
---|---|---|
committer | 2013-01-14 16:46:26 +0000 | |
commit | e197cbf9a3e66bab926bc5e51962752dad5221a0 (patch) | |
tree | 75b9abe7a8dd3acdaa261a1e1a2740e54d1574af /src/effects/gradients/SkSweepGradient.cpp | |
parent | ff06af20fde68aa737b540dc6e42924532873b22 (diff) |
Change signature of SkShader::asNewEffect(), implement for SkBitmapProcShader.
Review URL: https://codereview.appspot.com/7086051
git-svn-id: http://skia.googlecode.com/svn/trunk@7153 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects/gradients/SkSweepGradient.cpp')
-rw-r--r-- | src/effects/gradients/SkSweepGradient.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp index 589cf4ad14..918bf91a2d 100644 --- a/src/effects/gradients/SkSweepGradient.cpp +++ b/src/effects/gradients/SkSweepGradient.cpp @@ -449,12 +449,8 @@ GrEffect* GrSweepGradient::TestCreate(SkRandom* random, int colorCount = RandomGradientParams(random, colors, &stops, &tmIgnored); SkAutoTUnref<SkShader> shader(SkGradientShader::CreateSweep(center.fX, center.fY, colors, stops, colorCount)); - GrEffectStage stage; - shader->asNewEffect(context, &stage); - GrAssert(NULL != stage.getEffect()); - // const_cast and ref is a hack! Will remove when asNewEffect returns GrEffect* - stage.getEffect()->ref(); - return const_cast<GrEffect*>(stage.getEffect()); + SkPaint paint; + return shader->asNewEffect(context, paint); } ///////////////////////////////////////////////////////////////////// @@ -476,21 +472,20 @@ void GrGLSweepGradient::emitCode(GrGLShaderBuilder* builder, ///////////////////////////////////////////////////////////////////// -bool SkSweepGradient::asNewEffect(GrContext* context, GrEffectStage* stage) const { +GrEffect* SkSweepGradient::asNewEffect(GrContext* context, const SkPaint&) const { SkMatrix matrix; if (!this->getLocalMatrix().invert(&matrix)) { return false; } matrix.postConcat(fPtsToUnit); - stage->setEffect(SkNEW_ARGS(GrSweepGradient, (context, *this, matrix)))->unref(); - return true; + return SkNEW_ARGS(GrSweepGradient, (context, *this, matrix)); } #else -bool SkSweepGradient::asNewEffect(GrContext*, GrEffectStage*) const { +GrEffect* SkSweepGradient::asNewEffect(GrContext* context, const SkPaint&) const { SkDEBUGFAIL("Should not call in GPU-less build"); - return false; + return NULL; } #endif |