Add special handling of rectori case for gpu
https://codereview.chromium.org/15080010/
git-svn-id: http://skia.googlecode.com/svn/trunk@9175 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp
index a3a011c..be06591 100644
--- a/src/effects/SkDashPathEffect.cpp
+++ b/src/effects/SkDashPathEffect.cpp
@@ -237,6 +237,7 @@
const SkScalar* intervals = fIntervals;
SkScalar dashCount = 0;
+ int segCount = 0;
SkPath cullPathStorage;
const SkPath* srcPtr = &src;
@@ -291,6 +292,7 @@
addedSegment = false;
if (is_even(index) && dlen > 0 && !skipFirstSegment) {
addedSegment = true;
+ ++segCount;
if (specialLine) {
lineRec.addSegment(SkDoubleToScalar(distance),
@@ -322,9 +324,14 @@
if (meas.isClosed() && is_even(fInitialDashIndex) &&
fInitialDashLength > 0) {
meas.getSegment(0, SkScalarMul(fInitialDashLength, scale), dst, !addedSegment);
+ ++segCount;
}
} while (meas.nextContour());
+ if (segCount > 1) {
+ dst->setConvexity(SkPath::kConcave_Convexity);
+ }
+
return true;
}