| Index: src/gpu/GrPathRenderer.h
|
| diff --git a/src/gpu/GrPathRenderer.h b/src/gpu/GrPathRenderer.h
|
| index 5144597ab5f344654433b0dec102532de4741aec..a53d51d161aadbd6e92b246460463e6158cccd39 100644
|
| --- a/src/gpu/GrPathRenderer.h
|
| +++ b/src/gpu/GrPathRenderer.h
|
| @@ -12,9 +12,9 @@
|
| #include "GrDrawTarget.h"
|
| #include "GrPathRendererChain.h"
|
| #include "GrStencil.h"
|
| +#include "GrStrokeInfo.h"
|
|
|
| #include "SkDrawProcs.h"
|
| -#include "SkStrokeRec.h"
|
| #include "SkTArray.h"
|
|
|
| class SkPath;
|
| @@ -84,7 +84,7 @@ public:
|
| StencilSupport getStencilSupport(const GrDrawTarget* target,
|
| const GrPipelineBuilder* pipelineBuilder,
|
| const SkPath& path,
|
| - const SkStrokeRec& stroke) const {
|
| + const GrStrokeInfo& stroke) const {
|
| SkASSERT(!path.isInverseFillType());
|
| return this->onGetStencilSupport(target, pipelineBuilder, path, stroke);
|
| }
|
| @@ -107,7 +107,7 @@ public:
|
| const GrPipelineBuilder* pipelineBuilder,
|
| const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| - const SkStrokeRec& rec,
|
| + const GrStrokeInfo& rec,
|
| bool antiAlias) const = 0;
|
| /**
|
| * Draws the path into the draw target. If getStencilSupport() would return kNoRestriction then
|
| @@ -125,7 +125,7 @@ public:
|
| GrColor color,
|
| const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| - const SkStrokeRec& stroke,
|
| + const GrStrokeInfo& stroke,
|
| bool antiAlias) {
|
| SkASSERT(!path.isEmpty());
|
| SkASSERT(this->canDrawPath(target, ds, viewMatrix, path, stroke, antiAlias));
|
| @@ -147,7 +147,7 @@ public:
|
| GrPipelineBuilder* ds,
|
| const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| - const SkStrokeRec& stroke) {
|
| + const GrStrokeInfo& stroke) {
|
| SkASSERT(!path.isEmpty());
|
| SkASSERT(kNoSupport_StencilSupport != this->getStencilSupport(target, ds, path, stroke));
|
| this->onStencilPath(target, ds, viewMatrix, path, stroke);
|
| @@ -155,16 +155,19 @@ public:
|
|
|
| // 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 SkStrokeRec& stroke, const SkMatrix& matrix,
|
| + static bool IsStrokeHairlineOrEquivalent(const GrStrokeInfo& stroke, const SkMatrix& matrix,
|
| SkScalar* outCoverage) {
|
| - if (stroke.isHairlineStyle()) {
|
| + if (stroke.isDashed()) {
|
| + return false;
|
| + }
|
| + if (stroke.getStrokeRec().isHairlineStyle()) {
|
| if (outCoverage) {
|
| *outCoverage = SK_Scalar1;
|
| }
|
| return true;
|
| }
|
| - return stroke.getStyle() == SkStrokeRec::kStroke_Style &&
|
| - SkDrawTreatAAStrokeAsHairline(stroke.getWidth(), matrix, outCoverage);
|
| + return stroke.getStrokeRec().getStyle() == SkStrokeRec::kStroke_Style &&
|
| + SkDrawTreatAAStrokeAsHairline(stroke.getStrokeRec().getWidth(), matrix, outCoverage);
|
| }
|
|
|
| protected:
|
| @@ -174,7 +177,7 @@ protected:
|
| virtual StencilSupport onGetStencilSupport(const GrDrawTarget*,
|
| const GrPipelineBuilder*,
|
| const SkPath&,
|
| - const SkStrokeRec&) const {
|
| + const GrStrokeInfo&) const {
|
| return kNoRestriction_StencilSupport;
|
| }
|
|
|
| @@ -186,7 +189,7 @@ protected:
|
| GrColor,
|
| const SkMatrix& viewMatrix,
|
| const SkPath&,
|
| - const SkStrokeRec&,
|
| + const GrStrokeInfo&,
|
| bool antiAlias) = 0;
|
|
|
| /**
|
| @@ -197,7 +200,7 @@ protected:
|
| GrPipelineBuilder* pipelineBuilder,
|
| const SkMatrix& viewMatrix,
|
| const SkPath& path,
|
| - const SkStrokeRec& stroke) {
|
| + const GrStrokeInfo& stroke) {
|
| GR_STATIC_CONST_SAME_STENCIL(kIncrementStencil,
|
| kReplace_StencilOp,
|
| kReplace_StencilOp,
|
|
|