• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2015 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 GrBlurUtils_DEFINED
9 #define GrBlurUtils_DEFINED
10 
11 #include "include/private/GrTypesPriv.h"
12 
13 class GrClip;
14 class GrContext;
15 class GrPaint;
16 class GrRecordingContext;
17 class GrRenderTarget;
18 class GrRenderTargetContext;
19 class GrShape;
20 class GrStyle;
21 struct SkIRect;
22 class SkMaskFilter;
23 class SkMatrix;
24 class SkPaint;
25 class SkPath;
26 class SkPathEffect;
27 
28 
29 /**
30  *  Blur utilities.
31  */
32 namespace GrBlurUtils {
33     /**
34      * Draw a shape handling the mask filter if present.
35      */
36     void drawShapeWithMaskFilter(GrRecordingContext*,
37                                  GrRenderTargetContext*,
38                                  const GrClip&,
39                                  const SkPaint&,
40                                  const SkMatrix& viewMatrix,
41                                  const GrShape&);
42 
43     /**
44      * Draw a shape handling the mask filter. The mask filter is not optional.
45      * The GrPaint will be modified after return.
46      */
47     void drawShapeWithMaskFilter(GrRecordingContext*,
48                                  GrRenderTargetContext*,
49                                  const GrClip&,
50                                  const GrShape&,
51                                  GrPaint&&,
52                                  const SkMatrix& viewMatrix,
53                                  const SkMaskFilter*);
54 };
55 
56 #endif
57