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

Unified Diff: src/gpu/batches/GrAADistanceFieldPathRenderer.cpp

Issue 1967513002: Revert of Replace GrStrokeInfo with GrStyle. (Closed) Base URL: https://chromium.googlesource.com/skia.git@resscale
Patch Set: Created 4 years, 7 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
« no previous file with comments | « src/gpu/batches/GrAAConvexPathRenderer.cpp ('k') | src/gpu/batches/GrAAHairLinePathRenderer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
diff --git a/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp b/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
index ba52bf921372f33140ba11589936ce67afb0affb..f891b8d1f592495a2358c746e36a983d042c0f43 100644
--- a/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
+++ b/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
@@ -81,14 +81,13 @@
////////////////////////////////////////////////////////////////////////////////
bool GrAADistanceFieldPathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const {
- // We don't currently apply the dash or factor it into the DF key. (skbug.com/5082)
- if (args.fStyle->pathEffect()) {
- return false;
- }
+
// TODO: Support inverse fill
if (!args.fShaderCaps->shaderDerivativeSupport() || !args.fAntiAlias ||
- args.fStyle->isSimpleHairline() || args.fPath->isInverseFillType() ||
- args.fPath->isVolatile()) {
+ SkStrokeRec::kHairline_Style == args.fStroke->getStyle() ||
+ args.fPath->isInverseFillType() || args.fPath->isVolatile() ||
+ // We don't currently apply the dash or factor it into the DF key. (skbug.com/5082)
+ args.fStroke->isDashed()) {
return false;
}
@@ -101,23 +100,16 @@
// scaled to have bounds within 2.0f*kLargeMIP by 2.0f*kLargeMIP
// the goal is to accelerate rendering of lots of small paths that may be scaling
SkScalar maxScale = args.fViewMatrix->getMaxScale();
-#if 0 // This is more accurate but changes some GMs. TODO: Standalone change to enable this.
- SkRect bounds;
- args.fStyle->adjustBounds(&bounds, args.fPath->getBounds());
- SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height());
-#else
const SkRect& bounds = args.fPath->getBounds();
SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height());
- const SkStrokeRec& stroke = args.fStyle->strokeRec();
// Approximate stroked size by adding the maximum of the stroke width or 2x the miter limit
- if (!stroke.isFillStyle()) {
- SkScalar extraWidth = stroke.getWidth();
- if (SkPaint::kMiter_Join == stroke.getJoin()) {
- extraWidth = SkTMax(extraWidth, 2.0f*stroke.getMiter());
+ if (!args.fStroke->isFillStyle()) {
+ SkScalar extraWidth = args.fStroke->getWidth();
+ if (SkPaint::kMiter_Join == args.fStroke->getJoin()) {
+ extraWidth = SkTMax(extraWidth, 2.0f*args.fStroke->getMiter());
}
maxDim += extraWidth;
}
-#endif
return maxDim <= kMediumMIP && maxDim * maxScale <= 2.0f*kLargeMIP;
}
@@ -560,12 +552,11 @@
}
}
- // It's ok to ignore style's path effect because canDrawPath filtered out path effects.
- AADistanceFieldPathBatch::Geometry geometry(args.fStyle->strokeRec());
- if (args.fStyle->isSimpleFill()) {
+ AADistanceFieldPathBatch::Geometry geometry(*args.fStroke);
+ if (SkStrokeRec::kFill_Style == args.fStroke->getStyle()) {
geometry.fPath = *args.fPath;
} else {
- args.fStyle->strokeRec().applyToPath(&geometry.fPath, *args.fPath);
+ args.fStroke->applyToPath(&geometry.fPath, *args.fPath);
}
geometry.fColor = args.fColor;
geometry.fAntiAlias = args.fAntiAlias;
« no previous file with comments | « src/gpu/batches/GrAAConvexPathRenderer.cpp ('k') | src/gpu/batches/GrAAHairLinePathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698