Index: src/gpu/GrShape.cpp |
diff --git a/src/gpu/GrShape.cpp b/src/gpu/GrShape.cpp |
index 698ff48373cdf039c8ca81be298af885824140fa..9cf65bf9b34450386ccf31e98479db70128f543d 100644 |
--- a/src/gpu/GrShape.cpp |
+++ b/src/gpu/GrShape.cpp |
@@ -403,6 +403,16 @@ void GrShape::attemptToSimplifyRRect() { |
// Dashing ignores the inverseness (currently). skbug.com/5421 |
fRRectData.fInverted = false; |
} |
robertphillips
2016/07/19 17:36:05
shocrtcuts ?
bsalomon
2016/07/20 14:00:20
Done.
|
+ // Turn a stroke-and-filled miter rect into a filled rect. TODO: more rrect stroke shocrtcuts. |
+ if (!fStyle.hasPathEffect() && |
+ fStyle.strokeRec().getStyle() == SkStrokeRec::kStrokeAndFill_Style && |
+ fStyle.strokeRec().getJoin() == SkPaint::kMiter_Join && |
+ fStyle.strokeRec().getMiter() >= SK_ScalarSqrt2 && |
+ fRRectData.fRRect.isRect()) { |
+ SkScalar r = fStyle.strokeRec().getWidth() / 2; |
+ fRRectData.fRRect = SkRRect::MakeRect(fRRectData.fRRect.rect().makeOutset(r, r)); |
+ fStyle = GrStyle::SimpleFill(); |
+ } |
} |
void GrShape::attemptToSimplifyLine() { |