| /* | |
| * 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 "GrTypesPriv.h" | |
| #include "SkPathEffect.h" | |
| class GrGpu; | |
| class GrDrawTarget; | |
| class GrPaint; | |
| class GrStrokeInfo; | |
| class GrGLDashingEffect; | |
| class SkPath; | |
| namespace GrDashingEffect { | |
| bool DrawDashLine(const SkPoint pts[2], const GrPaint& paint, const GrStrokeInfo& strokeInfo, | |
| GrGpu* gpu, GrDrawTarget* target, const SkMatrix& vm); | |
| 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. | |
| */ | |
| GrEffect* Create(GrEffectEdgeType edgeType, const SkPathEffect::DashInfo& info, | |
| SkScalar strokeWidth, DashCap cap); | |
| } | |
| #endif |