xref: /aosp_15_r20/external/skia/src/gpu/ganesh/ops/DashOp.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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 skgpu_ganesh_DashOp_DEFINED
9 #define skgpu_ganesh_DashOp_DEFINED
10 
11 #include "src/gpu/ganesh/ops/GrOp.h"
12 
13 class GrPaint;
14 class GrRecordingContext;
15 class GrStyle;
16 class SkMatrix;
17 struct GrUserStencilSettings;
18 struct SkPoint;
19 
20 namespace skgpu::ganesh::DashOp {
21 
22 enum class AAMode {
23     kNone,
24     kCoverage,
25     kCoverageWithMSAA,
26 };
27 
28 GrOp::Owner 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 }  // namespace skgpu::ganesh::DashOp
38 
39 #endif // skgpu_ganesh_DashOp_DEFINED
40