OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The Android Open Source Project | 2 * Copyright 2011 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 "SkBlurImageFilter.h" | 8 #include "SkBlurImageFilter.h" |
9 | 9 |
10 #include "SkAutoPixmapStorage.h" | 10 #include "SkAutoPixmapStorage.h" |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 } else if (kernelSizeX > 0) { | 205 } else if (kernelSizeX > 0) { |
206 SkOpts::box_blur_xx(s, sw, inputBounds, d, kernelSizeX, lowOffsetX,
highOffsetX, w, h); | 206 SkOpts::box_blur_xx(s, sw, inputBounds, d, kernelSizeX, lowOffsetX,
highOffsetX, w, h); |
207 SkOpts::box_blur_xx(d, w, dstBounds, t, kernelSizeX, highOffsetX,
lowOffsetX, w, h); | 207 SkOpts::box_blur_xx(d, w, dstBounds, t, kernelSizeX, highOffsetX,
lowOffsetX, w, h); |
208 SkOpts::box_blur_xx(t, w, dstBounds, d, kernelSizeX3, highOffsetX,
highOffsetX, w, h); | 208 SkOpts::box_blur_xx(t, w, dstBounds, d, kernelSizeX3, highOffsetX,
highOffsetX, w, h); |
209 } else if (kernelSizeY > 0) { | 209 } else if (kernelSizeY > 0) { |
210 SkOpts::box_blur_yx(s, sw, inputBoundsT, d, kernelSizeY, lowOffsetY,
highOffsetY, h, w); | 210 SkOpts::box_blur_yx(s, sw, inputBoundsT, d, kernelSizeY, lowOffsetY,
highOffsetY, h, w); |
211 SkOpts::box_blur_xx(d, h, dstBoundsT, t, kernelSizeY, highOffsetY,
lowOffsetY, h, w); | 211 SkOpts::box_blur_xx(d, h, dstBoundsT, t, kernelSizeY, highOffsetY,
lowOffsetY, h, w); |
212 SkOpts::box_blur_xy(t, h, dstBoundsT, d, kernelSizeY3, highOffsetY,
highOffsetY, h, w); | 212 SkOpts::box_blur_xy(t, h, dstBoundsT, d, kernelSizeY3, highOffsetY,
highOffsetY, h, w); |
213 } | 213 } |
214 | 214 |
215 return SkSpecialImage::MakeFromRaster(source->internal_getProxy(), | 215 return SkSpecialImage::MakeFromRaster(source->internal_getProxy(), |
216 SkIRect::MakeWH(dstBounds.width(), | 216 SkIRect::MakeWH(dstBounds.width(), |
217 dstBounds.height()), | 217 dstBounds.height()), |
218 dst); | 218 dst); |
219 } | 219 } |
220 | 220 |
221 | 221 |
222 SkRect SkBlurImageFilter::computeFastBounds(const SkRect& src) const { | 222 SkRect SkBlurImageFilter::computeFastBounds(const SkRect& src) const { |
223 SkRect bounds = this->getInput(0) ? this->getInput(0)->computeFastBounds(src
) : src; | 223 SkRect bounds = this->getInput(0) ? this->getInput(0)->computeFastBounds(src
) : src; |
224 bounds.outset(SkScalarMul(fSigma.width(), SkIntToScalar(3)), | 224 bounds.outset(SkScalarMul(fSigma.width(), SkIntToScalar(3)), |
225 SkScalarMul(fSigma.height(), SkIntToScalar(3))); | 225 SkScalarMul(fSigma.height(), SkIntToScalar(3))); |
(...skipping 12 matching lines...) Expand all Loading... |
238 str->appendf("SkBlurImageFilter: ("); | 238 str->appendf("SkBlurImageFilter: ("); |
239 str->appendf("sigma: (%f, %f) input (", fSigma.fWidth, fSigma.fHeight); | 239 str->appendf("sigma: (%f, %f) input (", fSigma.fWidth, fSigma.fHeight); |
240 | 240 |
241 if (this->getInput(0)) { | 241 if (this->getInput(0)) { |
242 this->getInput(0)->toString(str); | 242 this->getInput(0)->toString(str); |
243 } | 243 } |
244 | 244 |
245 str->append("))"); | 245 str->append("))"); |
246 } | 246 } |
247 #endif | 247 #endif |
OLD | NEW |