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 #ifndef SkMatrixConvolutionImageFilter_DEFINED | 8 #ifndef SkMatrixConvolutionImageFilter_DEFINED |
9 #define SkMatrixConvolutionImageFilter_DEFINED | 9 #define SkMatrixConvolutionImageFilter_DEFINED |
10 | 10 |
11 #include "SkImageFilter.h" | 11 #include "SkImageFilter.h" |
12 #include "SkScalar.h" | 12 #include "SkScalar.h" |
13 #include "SkSize.h" | 13 #include "SkSize.h" |
14 #include "SkPoint.h" | 14 #include "SkPoint.h" |
15 | 15 |
| 16 class SkBitmap; |
| 17 |
16 /*! \class SkMatrixConvolutionImageFilter | 18 /*! \class SkMatrixConvolutionImageFilter |
17 Matrix convolution image filter. This filter applies an NxM image | 19 Matrix convolution image filter. This filter applies an NxM image |
18 processing kernel to a given input image. This can be used to produce | 20 processing kernel to a given input image. This can be used to produce |
19 effects such as sharpening, blurring, edge detection, etc. | 21 effects such as sharpening, blurring, edge detection, etc. |
20 */ | 22 */ |
21 | 23 |
22 class SK_API SkMatrixConvolutionImageFilter : public SkImageFilter { | 24 class SK_API SkMatrixConvolutionImageFilter : public SkImageFilter { |
23 public: | 25 public: |
24 /*! \enum TileMode */ | 26 /*! \enum TileMode */ |
25 enum TileMode { | 27 enum TileMode { |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 const SkScalar* kernel, | 72 const SkScalar* kernel, |
71 SkScalar gain, | 73 SkScalar gain, |
72 SkScalar bias, | 74 SkScalar bias, |
73 const SkIPoint& kernelOffset, | 75 const SkIPoint& kernelOffset, |
74 TileMode tileMode, | 76 TileMode tileMode, |
75 bool convolveAlpha, | 77 bool convolveAlpha, |
76 SkImageFilter* input, | 78 SkImageFilter* input, |
77 const CropRect* cropRect); | 79 const CropRect* cropRect); |
78 void flatten(SkWriteBuffer&) const SK_OVERRIDE; | 80 void flatten(SkWriteBuffer&) const SK_OVERRIDE; |
79 | 81 |
80 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, | 82 virtual bool onFilterImage(Proxy*, const SkImage* src, const Context&, |
81 SkBitmap* result, SkIPoint* loc) const SK_OVERRID
E; | 83 SkAutoTUnref<const SkImage>& result, SkIPoint* lo
c) const SK_OVERRIDE; |
82 bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) const SK_OVER
RIDE; | 84 bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) const SK_OVER
RIDE; |
83 | 85 |
84 | 86 |
85 #if SK_SUPPORT_GPU | 87 #if SK_SUPPORT_GPU |
86 virtual bool asFragmentProcessor(GrFragmentProcessor**, GrTexture*, const Sk
Matrix&, | 88 virtual bool asFragmentProcessor(GrFragmentProcessor**, GrTexture*, const Sk
Matrix&, |
87 const SkIRect& bounds) const SK_OVERRIDE; | 89 const SkIRect& bounds) const SK_OVERRIDE; |
88 #endif | 90 #endif |
89 | 91 |
90 private: | 92 private: |
91 SkISize fKernelSize; | 93 SkISize fKernelSize; |
(...skipping 19 matching lines...) Expand all Loading... |
111 SkBitmap* result, | 113 SkBitmap* result, |
112 const SkIRect& rect, | 114 const SkIRect& rect, |
113 const SkIRect& bounds) const; | 115 const SkIRect& bounds) const; |
114 void filterBorderPixels(const SkBitmap& src, | 116 void filterBorderPixels(const SkBitmap& src, |
115 SkBitmap* result, | 117 SkBitmap* result, |
116 const SkIRect& rect, | 118 const SkIRect& rect, |
117 const SkIRect& bounds) const; | 119 const SkIRect& bounds) const; |
118 }; | 120 }; |
119 | 121 |
120 #endif | 122 #endif |
OLD | NEW |