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 "GrTypes.h"
     12 
     13 class GrClip;
     14 class GrContext;
     15 class GrPaint;
     16 class GrRenderTarget;
     17 class GrRenderTargetContext;
     18 class GrStyle;
     19 struct SkIRect;
     20 class SkMaskFilter;
     21 class SkMatrix;
     22 class SkPaint;
     23 class SkPath;
     24 class SkPathEffect;
     25 
     26 
     27 /**
     28  *  Blur utilities.
     29  */
     30 namespace GrBlurUtils {
     31     /**
     32      * Draw a path handling the mask filter if present.
     33      */
     34     void drawPathWithMaskFilter(GrContext* context,
     35                                 GrRenderTargetContext* renderTargetContext,
     36                                 const GrClip& clip,
     37                                 const SkPath& origSrcPath,
     38                                 const SkPaint& paint,
     39                                 const SkMatrix& origViewMatrix,
     40                                 const SkMatrix* prePathMatrix,
     41                                 const SkIRect& clipBounds,
     42                                 bool pathIsMutable);
     43 
     44     /**
     45      * Draw a path handling the mask filter. The mask filter is not optional. The path effect is
     46      * optional. The GrPaint will be modified after return.
     47      */
     48     void drawPathWithMaskFilter(GrContext*,
     49                                 GrRenderTargetContext*,
     50                                 const GrClip&,
     51                                 const SkPath& path,
     52                                 GrPaint&&,
     53                                 GrAA,
     54                                 const SkMatrix& viewMatrix,
     55                                 const SkMaskFilter*,
     56                                 const GrStyle&,
     57                                 bool pathIsMutable);
     58 };
     59 
     60 #endif
     61