aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/gradients/SkGradientShaderPriv.h
diff options
context:
space:
mode:
authorGravatar brianosman <brianosman@google.com>2016-09-14 10:03:46 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-14 10:03:46 -0700
commitf605c16a030d791a37f589e6bddd7158ba5d62cd (patch)
tree335dd6209b719fb715bec6abd517f9f0a19a371f /src/effects/gradients/SkGradientShaderPriv.h
parent95573e4865c913a01571b17fb88c0450b1aa3ca7 (diff)
Bundle common arguments to GrGradientEffect creation
I'm going to be adding more (to deal with color spaces), so trying to fix this before it gets out of control. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332213007 Review-Url: https://codereview.chromium.org/2332213007
Diffstat (limited to 'src/effects/gradients/SkGradientShaderPriv.h')
-rw-r--r--src/effects/gradients/SkGradientShaderPriv.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/effects/gradients/SkGradientShaderPriv.h b/src/effects/gradients/SkGradientShaderPriv.h
index ee30c9b21b..ec70929d43 100644
--- a/src/effects/gradients/SkGradientShaderPriv.h
+++ b/src/effects/gradients/SkGradientShaderPriv.h
@@ -323,12 +323,25 @@ class GrInvariantOutput;
// Base class for Gr gradient effects
class GrGradientEffect : public GrFragmentProcessor {
public:
+ struct CreateArgs {
+ CreateArgs(GrContext* context,
+ const SkGradientShaderBase* shader,
+ const SkMatrix* matrix,
+ SkShader::TileMode tileMode)
+ : fContext(context)
+ , fShader(shader)
+ , fMatrix(matrix)
+ , fTileMode(tileMode) {}
+
+ GrContext* fContext;
+ const SkGradientShaderBase* fShader;
+ const SkMatrix* fMatrix;
+ SkShader::TileMode fTileMode;
+ };
+
class GLSLProcessor;
- GrGradientEffect(GrContext* ctx,
- const SkGradientShaderBase& shader,
- const SkMatrix& matrix,
- SkShader::TileMode tileMode);
+ GrGradientEffect(const CreateArgs&);
virtual ~GrGradientEffect();