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

Unified Diff: src/gpu/GrPathRenderer.h

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/GrPath.cpp ('k') | src/gpu/GrPathRendererChain.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrPathRenderer.h
diff --git a/src/gpu/GrPathRenderer.h b/src/gpu/GrPathRenderer.h
index 3bc02306e63f7e8b83faf2313db5bf5ca8eda8b9..1072f69649742872c85390480ed0288c5c81d899 100644
--- a/src/gpu/GrPathRenderer.h
+++ b/src/gpu/GrPathRenderer.h
@@ -10,12 +10,13 @@
#include "GrDrawTarget.h"
#include "GrStencil.h"
-#include "GrStyle.h"
+#include "GrStrokeInfo.h"
#include "SkDrawProcs.h"
#include "SkTArray.h"
class SkPath;
+
struct GrPoint;
/**
@@ -71,14 +72,14 @@
* fPipelineBuilder The pipelineBuilder
* fViewMatrix The viewMatrix
* fPath The path to draw
- * fStyle The styling info (path effect, stroking info)
+ * fStroke The stroke information (width, join, cap)
* fAntiAlias True if anti-aliasing is required.
*/
struct CanDrawPathArgs {
const GrShaderCaps* fShaderCaps;
const SkMatrix* fViewMatrix;
const SkPath* fPath;
- const GrStyle* fStyle;
+ const GrStrokeInfo* fStroke;
bool fAntiAlias;
// These next two are only used by GrStencilAndCoverPathRenderer
@@ -89,7 +90,7 @@
SkASSERT(fShaderCaps);
SkASSERT(fViewMatrix);
SkASSERT(fPath);
- SkASSERT(fStyle);
+ SkASSERT(fStroke);
SkASSERT(!fPath->isEmpty());
}
};
@@ -115,7 +116,7 @@
* fColor Color to render with
* fViewMatrix The viewMatrix
* fPath the path to draw.
- * fStyle the style information (path effect, stroke info)
+ * fStroke the stroke information (width, join, cap)
* fAntiAlias true if anti-aliasing is required.
* fGammaCorrect true if gamma-correct rendering is to be used.
*/
@@ -126,7 +127,7 @@
GrColor fColor;
const SkMatrix* fViewMatrix;
const SkPath* fPath;
- const GrStyle* fStyle;
+ const GrStrokeInfo* fStroke;
bool fAntiAlias;
bool fGammaCorrect;
@@ -136,7 +137,7 @@
SkASSERT(fPipelineBuilder);
SkASSERT(fViewMatrix);
SkASSERT(fPath);
- SkASSERT(fStyle);
+ SkASSERT(fStroke);
SkASSERT(!fPath->isEmpty());
}
};
@@ -152,7 +153,7 @@
canArgs.fShaderCaps = args.fTarget->caps()->shaderCaps();
canArgs.fViewMatrix = args.fViewMatrix;
canArgs.fPath = args.fPath;
- canArgs.fStyle = args.fStyle;
+ canArgs.fStroke = args.fStroke;
canArgs.fAntiAlias = args.fAntiAlias;
canArgs.fIsStencilDisabled = args.fPipelineBuilder->getStencil().isDisabled();
@@ -161,7 +162,8 @@
SkASSERT(this->canDrawPath(canArgs));
if (!args.fPipelineBuilder->getStencil().isDisabled()) {
SkASSERT(kNoRestriction_StencilSupport == this->getStencilSupport(*args.fPath));
- SkASSERT(args.fStyle->isSimpleFill());
+ SkASSERT(!args.fStroke->isDashed());
+ SkASSERT(args.fStroke->isFillStyle());
}
#endif
return this->onDrawPath(args);
@@ -195,21 +197,22 @@
/**
* Draws the path to the stencil buffer. Assume the writable stencil bits are already
* initialized to zero. The pixels inside the path will have non-zero stencil values afterwards.
+ *
*/
void stencilPath(const StencilPathArgs& args) {
SkDEBUGCODE(args.validate();)
SkASSERT(kNoSupport_StencilSupport != this->getStencilSupport(*args.fPath));
+
this->onStencilPath(args);
}
// Helper for determining if we can treat a thin stroke as a hairline w/ coverage.
// If we can, we draw lots faster (raster device does this same test).
- static bool IsStrokeHairlineOrEquivalent(const GrStyle& style, const SkMatrix& matrix,
+ static bool IsStrokeHairlineOrEquivalent(const GrStrokeInfo& stroke, const SkMatrix& matrix,
SkScalar* outCoverage) {
- if (style.pathEffect()) {
+ if (stroke.isDashed()) {
return false;
}
- const SkStrokeRec& stroke = style.strokeRec();
if (stroke.isHairlineStyle()) {
if (outCoverage) {
*outCoverage = SK_Scalar1;
@@ -276,12 +279,13 @@
drawArgs.fColor = 0xFFFFFFFF;
drawArgs.fViewMatrix = args.fViewMatrix;
drawArgs.fPath = args.fPath;
- drawArgs.fStyle = &GrStyle::SimpleFill();
+ drawArgs.fStroke = &GrStrokeInfo::FillInfo();
drawArgs.fAntiAlias = false;
drawArgs.fGammaCorrect = false;
this->drawPath(drawArgs);
}
+
typedef SkRefCnt INHERITED;
};
« no previous file with comments | « src/gpu/GrPath.cpp ('k') | src/gpu/GrPathRendererChain.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698