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
14class GrDrawOp;
15class GrPaint;
16class GrRecordingContext;
17class GrStyle;
18struct GrUserStencilSettings;
19
20namespace GrDashOp {
21enum class AAMode {
22 kNone,
23 kCoverage,
24 kCoverageWithMSAA,
25};
26static const int kAAModeCnt = static_cast<int>(AAMode::kCoverageWithMSAA) + 1;
27
28std::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*);
35bool CanDrawDashLine(const SkPoint pts[2], const GrStyle& style, const SkMatrix& viewMatrix);
36} // namespace GrDashOp
37
38#endif
39