Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: src/gpu/GrContext.cpp

Issue 1096513002: Pass dashing information to path rasterizers. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix 100-col issue Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/GrContext.cpp
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 7d53071a0e79ace0ef7357a059d250c168ef954a..7b1c4c547cf75529f5ec106335085bcfd78cdabb 100755
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -1444,19 +1444,20 @@ void GrContext::internalDrawPath(GrDrawTarget* target,
const SkPath* pathPtr = &path;
SkTLazy<SkPath> tmpPath;
- SkTCopyOnFirstWrite<SkStrokeRec> stroke(strokeInfo.getStrokeRec());
+ GrStrokeInfo stroke(strokeInfo);
// Try a 1st time without stroking the path and without allowing the SW renderer
GrPathRenderer* pr = this->getPathRenderer(target, pipelineBuilder, viewMatrix, *pathPtr,
- *stroke, false, type);
+ stroke, false, type);
if (NULL == pr) {
- if (!GrPathRenderer::IsStrokeHairlineOrEquivalent(*stroke, viewMatrix, NULL)) {
+ if (!GrPathRenderer::IsStrokeHairlineOrEquivalent(stroke.getStrokeRec(), viewMatrix,
+ NULL)) {
// It didn't work the 1st time, so try again with the stroked path
- stroke.writable()->setResScale(SkScalarAbs(viewMatrix.getMaxScale()));
- if (stroke->applyToPath(tmpPath.init(), *pathPtr)) {
+ stroke.getStrokeRecPtr()->setResScale(SkScalarAbs(viewMatrix.getMaxScale()));
+ if (stroke.getStrokeRec().applyToPath(tmpPath.init(), *pathPtr)) {
bsalomon 2015/04/16 17:53:38 need to apply path effect here, right?
pathPtr = tmpPath.get();
- stroke.writable()->setFillStyle();
+ stroke.getStrokeRecPtr()->setFillStyle();
bsalomon 2015/04/16 17:52:18 Seems like this should also remove the path effect
if (pathPtr->isEmpty()) {
return;
}
@@ -1464,7 +1465,7 @@ void GrContext::internalDrawPath(GrDrawTarget* target,
}
// This time, allow SW renderer
- pr = this->getPathRenderer(target, pipelineBuilder, viewMatrix, *pathPtr, *stroke, true,
+ pr = this->getPathRenderer(target, pipelineBuilder, viewMatrix, *pathPtr, stroke, true,
type);
}
@@ -1475,7 +1476,7 @@ void GrContext::internalDrawPath(GrDrawTarget* target,
return;
}
- pr->drawPath(target, pipelineBuilder, color, viewMatrix, *pathPtr, *stroke, useCoverageAA);
+ pr->drawPath(target, pipelineBuilder, color, viewMatrix, *pathPtr, stroke, useCoverageAA);
}
////////////////////////////////////////////////////////////////////////////////
@@ -1872,7 +1873,7 @@ GrPathRenderer* GrContext::getPathRenderer(const GrDrawTarget* target,
const GrPipelineBuilder* pipelineBuilder,
const SkMatrix& viewMatrix,
const SkPath& path,
- const SkStrokeRec& stroke,
+ const GrStrokeInfo& stroke,
bool allowSW,
GrPathRendererChain::DrawType drawType,
GrPathRendererChain::StencilSupport* stencilSupport) {

Powered by Google App Engine
This is Rietveld 408576698