| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright 2012 The Android Open Source Project |    2  * Copyright 2012 The Android Open Source Project | 
|    3  * |    3  * | 
|    4  * Use of this source code is governed by a BSD-style license that can be |    4  * Use of this source code is governed by a BSD-style license that can be | 
|    5  * found in the LICENSE file. |    5  * found in the LICENSE file. | 
|    6  */ |    6  */ | 
|    7  |    7  | 
|    8 #include "SkMatrixConvolutionImageFilter.h" |    8 #include "SkMatrixConvolutionImageFilter.h" | 
|    9 #include "SkBitmap.h" |    9 #include "SkBitmap.h" | 
|   10 #include "SkColorPriv.h" |   10 #include "SkColorPriv.h" | 
|   11 #include "SkReadBuffer.h" |   11 #include "SkReadBuffer.h" | 
|   12 #include "SkWriteBuffer.h" |   12 #include "SkWriteBuffer.h" | 
|   13 #include "SkRect.h" |   13 #include "SkRect.h" | 
|   14 #include "SkUnPreMultiply.h" |   14 #include "SkUnPreMultiply.h" | 
|   15  |   15  | 
|   16 #if SK_SUPPORT_GPU |   16 #if SK_SUPPORT_GPU | 
|   17 #include "effects/GrMatrixConvolutionEffect.h" |   17 #include "effects/GrMatrixConvolutionEffect.h" | 
|   18 #endif |   18 #endif | 
|   19  |   19  | 
|   20 SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter( |   20 SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter( | 
|   21     const SkISize& kernelSize, |   21     const SkISize& kernelSize, | 
|   22     const SkScalar* kernel, |   22     const SkScalar* kernel, | 
|   23     SkScalar gain, |   23     SkScalar gain, | 
|   24     SkScalar bias, |   24     SkScalar bias, | 
|   25     const SkIPoint& kernelOffset, |   25     const SkIPoint& kernelOffset, | 
|   26     TileMode tileMode, |   26     TileMode tileMode, | 
|   27     bool convolveAlpha, |   27     bool convolveAlpha, | 
|   28     SkImageFilter* input, |   28     SkImageFilter* input, | 
|   29     const CropRect* cropRect) |   29     const CropRect* cropRect, | 
|   30   : INHERITED(1, &input, cropRect), |   30     uint32_t uniqueID) | 
 |   31   : INHERITED(1, &input, cropRect, uniqueID), | 
|   31     fKernelSize(kernelSize), |   32     fKernelSize(kernelSize), | 
|   32     fGain(gain), |   33     fGain(gain), | 
|   33     fBias(bias), |   34     fBias(bias), | 
|   34     fKernelOffset(kernelOffset), |   35     fKernelOffset(kernelOffset), | 
|   35     fTileMode(tileMode), |   36     fTileMode(tileMode), | 
|   36     fConvolveAlpha(convolveAlpha) { |   37     fConvolveAlpha(convolveAlpha) { | 
|   37     uint32_t size = fKernelSize.fWidth * fKernelSize.fHeight; |   38     uint32_t size = fKernelSize.fWidth * fKernelSize.fHeight; | 
|   38     fKernel = SkNEW_ARRAY(SkScalar, size); |   39     fKernel = SkNEW_ARRAY(SkScalar, size); | 
|   39     memcpy(fKernel, kernel, size * sizeof(SkScalar)); |   40     memcpy(fKernel, kernel, size * sizeof(SkScalar)); | 
|   40     SkASSERT(kernelSize.fWidth >= 1 && kernelSize.fHeight >= 1); |   41     SkASSERT(kernelSize.fWidth >= 1 && kernelSize.fHeight >= 1); | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  105         return NULL; |  106         return NULL; | 
|  106     } |  107     } | 
|  107     SkScalar gain = buffer.readScalar(); |  108     SkScalar gain = buffer.readScalar(); | 
|  108     SkScalar bias = buffer.readScalar(); |  109     SkScalar bias = buffer.readScalar(); | 
|  109     SkIPoint kernelOffset; |  110     SkIPoint kernelOffset; | 
|  110     kernelOffset.fX = buffer.readInt(); |  111     kernelOffset.fX = buffer.readInt(); | 
|  111     kernelOffset.fY = buffer.readInt(); |  112     kernelOffset.fY = buffer.readInt(); | 
|  112     TileMode tileMode = (TileMode)buffer.readInt(); |  113     TileMode tileMode = (TileMode)buffer.readInt(); | 
|  113     bool convolveAlpha = buffer.readBool(); |  114     bool convolveAlpha = buffer.readBool(); | 
|  114     return Create(kernelSize, kernel.get(), gain, bias, kernelOffset, tileMode, 
     convolveAlpha, |  115     return Create(kernelSize, kernel.get(), gain, bias, kernelOffset, tileMode, 
     convolveAlpha, | 
|  115                   common.getInput(0), &common.cropRect()); |  116                   common.getInput(0), &common.cropRect(), common.uniqueID()); | 
|  116 } |  117 } | 
|  117  |  118  | 
|  118 void SkMatrixConvolutionImageFilter::flatten(SkWriteBuffer& buffer) const { |  119 void SkMatrixConvolutionImageFilter::flatten(SkWriteBuffer& buffer) const { | 
|  119     this->INHERITED::flatten(buffer); |  120     this->INHERITED::flatten(buffer); | 
|  120     buffer.writeInt(fKernelSize.fWidth); |  121     buffer.writeInt(fKernelSize.fWidth); | 
|  121     buffer.writeInt(fKernelSize.fHeight); |  122     buffer.writeInt(fKernelSize.fHeight); | 
|  122     buffer.writeScalarArray(fKernel, fKernelSize.fWidth * fKernelSize.fHeight); |  123     buffer.writeScalarArray(fKernel, fKernelSize.fWidth * fKernelSize.fHeight); | 
|  123     buffer.writeScalar(fGain); |  124     buffer.writeScalar(fGain); | 
|  124     buffer.writeScalar(fBias); |  125     buffer.writeScalar(fBias); | 
|  125     buffer.writeInt(fKernelOffset.fX); |  126     buffer.writeInt(fKernelOffset.fX); | 
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  375                                                 fKernelSize, |  376                                                 fKernelSize, | 
|  376                                                 fKernel, |  377                                                 fKernel, | 
|  377                                                 fGain, |  378                                                 fGain, | 
|  378                                                 fBias, |  379                                                 fBias, | 
|  379                                                 fKernelOffset, |  380                                                 fKernelOffset, | 
|  380                                                 convert_tilemodes(fTileMode), |  381                                                 convert_tilemodes(fTileMode), | 
|  381                                                 fConvolveAlpha); |  382                                                 fConvolveAlpha); | 
|  382     return true; |  383     return true; | 
|  383 } |  384 } | 
|  384 #endif |  385 #endif | 
| OLD | NEW |