• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
onCanDrawPath(const CanDrawPathArgs & args) const13 bool GrDashLinePathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const {
14     SkPoint pts[2];
15     if (args.fStroke->isDashed() && args.fPath->isLine(pts)) {
16         return GrDashingEffect::CanDrawDashLine(pts, *args.fStroke, *args.fViewMatrix);
17     }
18     return false;
19 }
20 
onDrawPath(const DrawPathArgs & args)21 bool GrDashLinePathRenderer::onDrawPath(const DrawPathArgs& args) {
22     GR_AUDIT_TRAIL_AUTO_FRAME(args.fTarget->getAuditTrail(), "GrDashLinePathRenderer::onDrawPath");
23     SkPoint pts[2];
24     SkAssertResult(args.fPath->isLine(pts));
25     return GrDashingEffect::DrawDashLine(args.fTarget, *args.fPipelineBuilder, args.fColor,
26                                          *args.fViewMatrix, pts, args.fAntiAlias, *args.fStroke);
27 }
28