Index: src/gpu/effects/GrConvolutionEffect.h |
diff --git a/src/gpu/effects/GrConvolutionEffect.h b/src/gpu/effects/GrConvolutionEffect.h |
index e4faa945b833f763502e5be8cc572a061e9c43da..265150a92c2504359744200dbb4190b002bf289a 100644 |
--- a/src/gpu/effects/GrConvolutionEffect.h |
+++ b/src/gpu/effects/GrConvolutionEffect.h |
@@ -22,11 +22,18 @@ class GrConvolutionEffect : public Gr1DKernelEffect { |
public: |
/// Convolve with an arbitrary user-specified kernel |
- static GrEffectRef* Create(GrTexture* tex, Direction dir, int halfWidth, const float* kernel) { |
+ static GrEffectRef* Create(GrTexture* tex, |
+ Direction dir, |
+ int halfWidth, |
+ const float* kernel, |
+ bool useCropRect, |
+ float cropRect[4]) { |
AutoEffectUnref effect(SkNEW_ARGS(GrConvolutionEffect, (tex, |
dir, |
halfWidth, |
- kernel))); |
+ kernel, |
+ useCropRect, |
+ cropRect))); |
return CreateEffectRef(effect); |
} |
@@ -34,11 +41,15 @@ public: |
static GrEffectRef* CreateGaussian(GrTexture* tex, |
Direction dir, |
int halfWidth, |
- float gaussianSigma) { |
+ float gaussianSigma, |
+ bool useCropRect, |
+ float cropRect[4]) { |
AutoEffectUnref effect(SkNEW_ARGS(GrConvolutionEffect, (tex, |
dir, |
halfWidth, |
- gaussianSigma))); |
+ gaussianSigma, |
+ useCropRect, |
+ cropRect))); |
return CreateEffectRef(effect); |
} |
@@ -46,6 +57,9 @@ public: |
const float* kernel() const { return fKernel; } |
+ const float* cropRect() const { return fCropRect; } |
+ bool useCropRect() const { return fUseCropRect; } |
+ |
static const char* Name() { return "Convolution"; } |
typedef GrGLConvolutionEffect GLEffect; |
@@ -72,15 +86,22 @@ public: |
protected: |
float fKernel[kMaxKernelWidth]; |
+ bool fUseCropRect; |
+ float fCropRect[4]; |
private: |
GrConvolutionEffect(GrTexture*, Direction, |
- int halfWidth, const float* kernel); |
+ int halfWidth, |
+ const float* kernel, |
+ bool useCropRect, |
+ float cropRect[4]); |
/// Convolve with a Gaussian kernel |
GrConvolutionEffect(GrTexture*, Direction, |
int halfWidth, |
- float gaussianSigma); |
+ float gaussianSigma, |
+ bool useCropRect, |
+ float cropRect[4]); |
virtual bool onIsEqual(const GrEffect&) const SK_OVERRIDE; |