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
13bool 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
21bool 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