aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrAAHairLinePathRenderer.cpp
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2015-07-31 06:48:27 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-31 06:48:27 -0700
commit0aff2fa82a5fa9f99aa77327dac3e9e803b4ed07 (patch)
tree622deb8887694c291e7b5ec74d41abd2f211ae67 /src/gpu/GrAAHairLinePathRenderer.cpp
parent99cab4e3081e7e0ae8a72eb53cb42b1bef3719a3 (diff)
Also provides the ResourceProvider to onDrawPath which allows the DF PR to no longer require access to GrContext.
Diffstat (limited to 'src/gpu/GrAAHairLinePathRenderer.cpp')
-rw-r--r--src/gpu/GrAAHairLinePathRenderer.cpp33
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;
}