| /* | |
| * Copyright 2014 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef GrDashingEffect_DEFINED | |
| #define GrDashingEffect_DEFINED | |
| #include "GrColor.h" | |
| #include "GrTypesPriv.h" | |
| #include "SkPathEffect.h" | |
| class GrGpu; | |
| class GrDrawState; | |
| class GrDrawTarget; | |
| class GrGeometryProcessor; | |
| class GrPaint; | |
| class GrStrokeInfo; | |
| class GrGLDashingEffect; | |
| class SkPath; | |
| namespace GrDashingEffect { | |
| bool DrawDashLine(GrGpu*, GrDrawTarget*, GrDrawState*, GrColor, const SkMatrix& viewMatrix, | |
| const SkPoint pts[2], const GrPaint& paint, const GrStrokeInfo& strokeInfo); | |
| enum DashCap { | |
| kRound_DashCap, | |
| kNonRound_DashCap, | |
| }; | |
| /** | |
| * An effect that renders a dashed line. It is intended to be used as a coverage effect. | |
| * The effect is meant for dashed lines that only have a single on/off interval pair. | |
| * Bounding geometry is rendered and the effect computes coverage based on the fragment's | |
| * position relative to the dashed line. | |
| */ | |
| GrGeometryProcessor* Create(GrColor, | |
| GrPrimitiveEdgeType edgeType, | |
| const SkPathEffect::DashInfo& info, | |
| SkScalar strokeWidth, | |
| DashCap cap, | |
| const SkMatrix& localMatrix); | |
| } | |
| #endif |