| Index: src/effects/SkMatrixConvolutionImageFilter.cpp
|
| diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| index 03b28969b347c9a1eaa82815de81b975d2776a36..86595f8d700f32bd1ac2e3e09d055d210811eefc 100644
|
| --- a/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| +++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| @@ -22,6 +22,22 @@
|
|
|
| #endif
|
|
|
| +namespace {
|
| +
|
| +bool TileModeIsValid(SkMatrixConvolutionImageFilter::TileMode tileMode) {
|
| + switch (tileMode) {
|
| + case SkMatrixConvolutionImageFilter::kClamp_TileMode:
|
| + case SkMatrixConvolutionImageFilter::kRepeat_TileMode:
|
| + case SkMatrixConvolutionImageFilter::kClampToBlack_TileMode:
|
| + return true;
|
| + default:
|
| + break;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +}
|
| +
|
| SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter(const SkISize& kernelSize, const SkScalar* kernel, SkScalar gain, SkScalar bias, const SkIPoint& target, TileMode tileMode, bool convolveAlpha, SkImageFilter* input)
|
| : INHERITED(input),
|
| fKernelSize(kernelSize),
|
| @@ -51,6 +67,9 @@ SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter(SkFlattenableRead
|
| fTarget.fY = buffer.readInt();
|
| fTileMode = (TileMode) buffer.readInt();
|
| fConvolveAlpha = buffer.readBool();
|
| + buffer.validateData(SkScalarIsFinite(fGain) &&
|
| + SkScalarIsFinite(fBias) &&
|
| + TileModeIsValid(fTileMode));
|
| }
|
|
|
| void SkMatrixConvolutionImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
|
|
|