Index: src/pathops/SkPathOpsSimplify.cpp |
=================================================================== |
--- src/pathops/SkPathOpsSimplify.cpp (revision 8745) |
+++ src/pathops/SkPathOpsSimplify.cpp (working copy) |
@@ -149,7 +149,9 @@ |
#endif |
// returns 1 for evenodd, -1 for winding, regardless of inverse-ness |
result->reset(); |
- result->setFillType(SkPath::kEvenOdd_FillType); |
+ SkPath::FillType fillType = path.isInverseFillType() ? SkPath::kInverseEvenOdd_FillType |
+ : SkPath::kEvenOdd_FillType; |
+ result->setFillType(fillType); |
SkPathWriter simple(*result); |
// turn path into list of segments |
@@ -187,7 +189,7 @@ |
: !bridgeXor(contourList, &simple)) |
{ // if some edges could not be resolved, assemble remaining fragments |
SkPath temp; |
- temp.setFillType(SkPath::kEvenOdd_FillType); |
+ temp.setFillType(fillType); |
SkPathWriter assembled(temp); |
Assemble(simple, &assembled); |
*result = *assembled.nativePath(); |