diff options
author | bsalomon <bsalomon@google.com> | 2015-07-31 06:48:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-31 06:48:27 -0700 |
commit | 0aff2fa82a5fa9f99aa77327dac3e9e803b4ed07 (patch) | |
tree | 622deb8887694c291e7b5ec74d41abd2f211ae67 /src/gpu/GrAAHairLinePathRenderer.cpp | |
parent | 99cab4e3081e7e0ae8a72eb53cb42b1bef3719a3 (diff) |
Also provides the ResourceProvider to onDrawPath which allows the DF PR to no longer require access to GrContext.
Review URL: https://codereview.chromium.org/1265763002
Diffstat (limited to 'src/gpu/GrAAHairLinePathRenderer.cpp')
-rw-r--r-- | src/gpu/GrAAHairLinePathRenderer.cpp | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/gpu/GrAAHairLinePathRenderer.cpp b/src/gpu/GrAAHairLinePathRenderer.cpp index 6b1f8a41f7..ca83f6acc2 100644 --- a/src/gpu/GrAAHairLinePathRenderer.cpp +++ b/src/gpu/GrAAHairLinePathRenderer.cpp @@ -616,22 +616,17 @@ static void add_line(const SkPoint p[2], /////////////////////////////////////////////////////////////////////////////// -bool GrAAHairLinePathRenderer::canDrawPath(const GrDrawTarget* target, - const GrPipelineBuilder* pipelineBuilder, - const SkMatrix& viewMatrix, - const SkPath& path, - const GrStrokeInfo& stroke, - bool antiAlias) const { - if (!antiAlias) { +bool GrAAHairLinePathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const { + if (!args.fAntiAlias) { return false; } - if (!IsStrokeHairlineOrEquivalent(stroke, viewMatrix, NULL)) { + if (!IsStrokeHairlineOrEquivalent(*args.fStroke, *args.fViewMatrix, NULL)) { return false; } - if (SkPath::kLine_SegmentMask == path.getSegmentMasks() || - target->caps()->shaderCaps()->shaderDerivativeSupport()) { + if (SkPath::kLine_SegmentMask == args.fPath->getSegmentMasks() || + args.fTarget->caps()->shaderCaps()->shaderDerivativeSupport()) { return true; } return false; @@ -974,20 +969,14 @@ static GrBatch* create_hairline_batch(GrColor color, return AAHairlineBatch::Create(geometry); } -bool GrAAHairLinePathRenderer::onDrawPath(GrDrawTarget* target, - GrPipelineBuilder* pipelineBuilder, - GrColor color, - const SkMatrix& viewMatrix, - const SkPath& path, - const GrStrokeInfo& stroke, - bool) { +bool GrAAHairLinePathRenderer::onDrawPath(const DrawPathArgs& args) { SkIRect devClipBounds; - pipelineBuilder->clip().getConservativeBounds(pipelineBuilder->getRenderTarget(), - &devClipBounds); + args.fPipelineBuilder->clip().getConservativeBounds(args.fPipelineBuilder->getRenderTarget(), + &devClipBounds); - SkAutoTUnref<GrBatch> batch(create_hairline_batch(color, viewMatrix, path, stroke, - devClipBounds)); - target->drawBatch(*pipelineBuilder, batch); + SkAutoTUnref<GrBatch> batch(create_hairline_batch(args.fColor, *args.fViewMatrix, *args.fPath, + *args.fStroke, devClipBounds)); + args.fTarget->drawBatch(*args.fPipelineBuilder, batch); return true; } |