aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/batches/GrStencilAndCoverPathRenderer.cpp')
-rw-r--r--src/gpu/batches/GrStencilAndCoverPathRenderer.cpp25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp b/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp
index a11d2b4683..cf5db3fc63 100644
--- a/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp
+++ b/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp
@@ -16,22 +16,6 @@
#include "GrResourceProvider.h"
#include "GrStrokeInfo.h"
-/*
- * For now paths only natively support winding and even odd fill types
- */
-static GrPathRendering::FillType convert_skpath_filltype(SkPath::FillType fill) {
- switch (fill) {
- default:
- SkFAIL("Incomplete Switch\n");
- case SkPath::kWinding_FillType:
- case SkPath::kInverseWinding_FillType:
- return GrPathRendering::kWinding_FillType;
- case SkPath::kEvenOdd_FillType:
- case SkPath::kInverseEvenOdd_FillType:
- return GrPathRendering::kEvenOdd_FillType;
- }
-}
-
GrPathRenderer* GrStencilAndCoverPathRenderer::Create(GrResourceProvider* resourceProvider,
const GrCaps& caps) {
if (caps.shaderCaps()->pathRenderingSupport()) {
@@ -80,8 +64,7 @@ static GrPath* get_gr_path(GrResourceProvider* resourceProvider, const SkPath& s
void GrStencilAndCoverPathRenderer::onStencilPath(const StencilPathArgs& args) {
SkASSERT(!args.fPath->isInverseFillType());
SkAutoTUnref<GrPath> p(get_gr_path(fResourceProvider, *args.fPath, *args.fStroke));
- args.fTarget->stencilPath(*args.fPipelineBuilder, *args.fViewMatrix, p,
- convert_skpath_filltype(args.fPath->getFillType()));
+ args.fTarget->stencilPath(*args.fPipelineBuilder, *args.fViewMatrix, p, p->getFillType());
}
bool GrStencilAndCoverPathRenderer::onDrawPath(const DrawPathArgs& args) {
@@ -114,8 +97,7 @@ bool GrStencilAndCoverPathRenderer::onDrawPath(const DrawPathArgs& args) {
pipelineBuilder->setStencil(kInvertedStencilPass);
// fake inverse with a stencil and cover
- args.fTarget->stencilPath(*pipelineBuilder, viewMatrix, p,
- convert_skpath_filltype(path.getFillType()));
+ args.fTarget->stencilPath(*pipelineBuilder, viewMatrix, p, p->getFillType());
SkMatrix invert = SkMatrix::I();
SkRect bounds =
@@ -149,8 +131,7 @@ bool GrStencilAndCoverPathRenderer::onDrawPath(const DrawPathArgs& args) {
0xffff);
pipelineBuilder->setStencil(kStencilPass);
- args.fTarget->drawPath(*pipelineBuilder, viewMatrix, args.fColor, p,
- convert_skpath_filltype(path.getFillType()));
+ args.fTarget->drawPath(*pipelineBuilder, viewMatrix, args.fColor, p, p->getFillType());
}
pipelineBuilder->stencil()->setDisabled();