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