OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2013 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 #ifndef SkGpuBlurUtils_DEFINED | |
9 #define SkGpuBlurUtils_DEFINED | |
10 | |
11 #if SK_SUPPORT_GPU | |
12 #include "GrDrawContext.h" | |
13 | |
14 class GrContext; | |
15 class GrTexture; | |
16 | |
17 struct SkRect; | |
18 | |
19 namespace SkGpuBlurUtils { | |
20 /** | |
21 * Applies a 2D Gaussian blur to a given texture. The blurred result is retur
ned | |
22 * as a drawContext in case the caller wishes to future draw into the result. | |
23 * Note: one of sigmaX and sigmaY should be non-zero! | |
24 * @param context The GPU context | |
25 * @param srcTexture The source texture to be blurred. | |
26 * @param colorSpace Color space of the source (used for the drawContext
result, too). | |
27 * @param dstBounds The destination bounds, relative to the source text
ure. | |
28 * @param srcBounds The source bounds, relative to the source texture.
If non-null, | |
29 * no pixels will be sampled outside of this rectangle
. | |
30 * @param sigmaX The blur's standard deviation in X. | |
31 * @param sigmaY The blur's standard deviation in Y. | |
32 * @param fit backing fit for the returned draw context | |
33 * @return The drawContext containing the blurred result. | |
34 */ | |
35 sk_sp<GrDrawContext> GaussianBlur(GrContext* context, | |
36 GrTexture* srcTexture, | |
37 sk_sp<SkColorSpace> colorSpace, | |
38 const SkIRect& dstBounds, | |
39 const SkIRect* srcBounds, | |
40 float sigmaX, | |
41 float sigmaY, | |
42 SkBackingFit fit = SkBackingFit::kApprox); | |
43 }; | |
44 | |
45 #endif | |
46 #endif | |
OLD | NEW |