Home | History | Annotate | Download | only in gpu
      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 
     13 GrDashLinePathRenderer::GrDashLinePathRenderer(GrContext* context)
     14         : fGpu(SkRef(context->getGpu())) {
     15 }
     16 
     17 GrDashLinePathRenderer::~GrDashLinePathRenderer() {
     18 }
     19 
     20 bool 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 
     33 bool 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