Home | History | Annotate | Download | only in effects
      1 
      2 /*
      3  * Copyright 2014 Google Inc.
      4  *
      5  * Use of this source code is governed by a BSD-style license that can be
      6  * found in the LICENSE file.
      7  */
      8 
      9 #ifndef GrDashingEffect_DEFINED
     10 #define GrDashingEffect_DEFINED
     11 
     12 #include "GrTypesPriv.h"
     13 #include "SkPathEffect.h"
     14 
     15 class GrGpu;
     16 class GrDrawTarget;
     17 class GrPaint;
     18 class GrStrokeInfo;
     19 
     20 class GrGLDashingEffect;
     21 class SkPath;
     22 
     23 namespace GrDashingEffect {
     24     bool DrawDashLine(const SkPoint pts[2], const GrPaint& paint, const GrStrokeInfo& strokeInfo,
     25                       GrGpu* gpu, GrDrawTarget* target, const SkMatrix& vm);
     26 
     27     /**
     28      * An effect that renders a dashed line. It is intended to be used as a coverage effect.
     29      * The effect is meant for dashed lines that only have a single on/off interval pair.
     30      * Bounding geometry is rendered and the effect computes coverage based on the fragment's
     31      * position relative to the dashed line.
     32      */
     33     GrEffectRef* Create(GrEffectEdgeType edgeType, const SkPathEffect::DashInfo& info,
     34                         SkScalar strokeWidth);
     35 }
     36 
     37 #endif
     38