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