| 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;
|
|
|
|
|