1 | /* |
2 | * Copyright 2014 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 GrDashOp_DEFINED |
9 | #define GrDashOp_DEFINED |
10 | |
11 | #include "include/core/SkPathEffect.h" |
12 | #include "include/gpu/GrTypes.h" |
13 | |
14 | class GrDrawOp; |
15 | class GrPaint; |
16 | class GrRecordingContext; |
17 | class GrStyle; |
18 | struct GrUserStencilSettings; |
19 | |
20 | namespace GrDashOp { |
21 | enum class AAMode { |
22 | kNone, |
23 | kCoverage, |
24 | kCoverageWithMSAA, |
25 | }; |
26 | static const int kAAModeCnt = static_cast<int>(AAMode::kCoverageWithMSAA) + 1; |
27 | |
28 | std::unique_ptr<GrDrawOp> MakeDashLineOp(GrRecordingContext*, |
29 | GrPaint&&, |
30 | const SkMatrix& viewMatrix, |
31 | const SkPoint pts[2], |
32 | AAMode, |
33 | const GrStyle& style, |
34 | const GrUserStencilSettings*); |
35 | bool CanDrawDashLine(const SkPoint pts[2], const GrStyle& style, const SkMatrix& viewMatrix); |
36 | } |
37 | |
38 | #endif |
39 | |