• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "GrTypes.h"
12 #include "SkPathEffect.h"
13 
14 class GrContext;
15 class GrDrawOp;
16 class GrPaint;
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(GrContext*,
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