From 5fb30566b40c2d936341dd6187c94e5ab00f4c58 Mon Sep 17 00:00:00 2001 From: Greg Daniel Date: Thu, 29 Jun 2017 12:27:48 -0400 Subject: Fix gpu dashing for case when circle dashes are large enough to overlap Bug: skia: Change-Id: I7153b28103c5ca0947c37d57357b64bf2aa884e5 Reviewed-on: https://skia-review.googlesource.com/20979 Commit-Queue: Greg Daniel Reviewed-by: Robert Phillips --- gm/dashing.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'gm/dashing.cpp') diff --git a/gm/dashing.cpp b/gm/dashing.cpp index b527fbf987..ff6e700b02 100644 --- a/gm/dashing.cpp +++ b/gm/dashing.cpp @@ -332,7 +332,7 @@ protected: return SkString("dashing4"); } - SkISize onISize() { return SkISize::Make(640, 950); } + SkISize onISize() { return SkISize::Make(640, 1050); } virtual void onDraw(SkCanvas* canvas) { constexpr struct { @@ -397,6 +397,18 @@ protected: drawline(canvas, 32, 16, paint, 8.f, 0.f, 40.f); canvas->translate(0, SkIntToScalar(20)); } + + // Test overlapping circles. + canvas->translate(SkIntToScalar(5), SkIntToScalar(20)); + paint.setAntiAlias(true); + paint.setStrokeCap(SkPaint::kRound_Cap); + paint.setColor(0x44000000); + paint.setStrokeWidth(40); + drawline(canvas, 0, 30, paint); + + canvas->translate(0, SkIntToScalar(50)); + paint.setStrokeCap(SkPaint::kSquare_Cap); + drawline(canvas, 0, 30, paint); } }; -- cgit v1.2.3