1/* 2 * Copyright 2015 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#include "GrDashLinePathRenderer.h" 9 10#include "GrGpu.h" 11#include "effects/GrDashingEffect.h" 12 13GrDashLinePathRenderer::GrDashLinePathRenderer(GrContext* context) 14 : fGpu(SkRef(context->getGpu())) { 15} 16 17GrDashLinePathRenderer::~GrDashLinePathRenderer() { 18} 19 20bool GrDashLinePathRenderer::canDrawPath(const GrDrawTarget* target, 21 const GrPipelineBuilder* pipelineBuilder, 22 const SkMatrix& viewMatrix, 23 const SkPath& path, 24 const GrStrokeInfo& stroke, 25 bool antiAlias) const { 26 SkPoint pts[2]; 27 if (stroke.isDashed() && path.isLine(pts)) { 28 return GrDashingEffect::CanDrawDashLine(pts, stroke, viewMatrix); 29 } 30 return false; 31} 32 33bool GrDashLinePathRenderer::onDrawPath(GrDrawTarget* target, 34 GrPipelineBuilder* pipelineBuilder, 35 GrColor color, 36 const SkMatrix& viewMatrix, 37 const SkPath& path, 38 const GrStrokeInfo& stroke, 39 bool useAA) { 40 SkPoint pts[2]; 41 SkAssertResult(path.isLine(pts)); 42 return GrDashingEffect::DrawDashLine(target, pipelineBuilder, color, 43 viewMatrix, pts, useAA, stroke); 44} 45