aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkStroke.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkStroke.cpp')
-rw-r--r--src/core/SkStroke.cpp23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/core/SkStroke.cpp b/src/core/SkStroke.cpp
index 2db5bba524..ede3d21055 100644
--- a/src/core/SkStroke.cpp
+++ b/src/core/SkStroke.cpp
@@ -121,9 +121,6 @@ public:
SkScalar radius, SkScalar miterLimit, SkPaint::Cap,
SkPaint::Join, SkScalar resScale);
- bool hasOnlyMoveTo() const { return 0 == fSegmentCount; }
- SkPoint moveToPt() const { return fFirstPt; }
-
void moveTo(const SkPoint&);
void lineTo(const SkPoint&);
void quadTo(const SkPoint&, const SkPoint&);
@@ -245,14 +242,7 @@ bool SkPathStroker::preJoinTo(const SkPoint& currPt, SkVector* normal,
SkScalar prevY = fPrevPt.fY;
if (!set_normal_unitnormal(fPrevPt, currPt, fRadius, normal, unitNormal)) {
- if (SkStrokerPriv::CapFactory(SkPaint::kButt_Cap) == fCapper) {
- return false;
- }
- /* Square caps and round caps draw even if the segment length is zero.
- Since the zero length segment has no direction, set the orientation
- to upright as the default orientation */
- normal->set(fRadius, 0);
- unitNormal->set(1, 0);
+ return false;
}
if (fSegmentCount == 0) {
@@ -366,8 +356,7 @@ void SkPathStroker::line_to(const SkPoint& currPt, const SkVector& normal) {
}
void SkPathStroker::lineTo(const SkPoint& currPt) {
- if (SkStrokerPriv::CapFactory(SkPaint::kButt_Cap) == fCapper
- && SkPath::IsLineDegenerate(fPrevPt, currPt, false)) {
+ if (SkPath::IsLineDegenerate(fPrevPt, currPt, false)) {
return;
}
SkVector normal, unitNormal;
@@ -1345,14 +1334,6 @@ void SkStroke::strokePath(const SkPath& src, SkPath* dst) const {
lastSegment = SkPath::kCubic_Verb;
break;
case SkPath::kClose_Verb:
- if (stroker.hasOnlyMoveTo() && SkPaint::kButt_Cap != this->getCap()) {
- /* If the stroke consists of a moveTo followed by a close, treat it
- as if it were followed by a zero-length line. Lines without length
- can have square and round end caps. */
- stroker.lineTo(stroker.moveToPt());
- lastSegment = SkPath::kLine_Verb;
- break;
- }
stroker.close(lastSegment == SkPath::kLine_Verb);
break;
case SkPath::kDone_Verb: