| // Copyright 2020 Google LLC. | 
 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
 | #include "tools/fiddle/examples.h" | 
 | REG_FIDDLE(convex_overstroke_quad, 256, 256, false, 0) { | 
 | void draw(SkCanvas* canvas) { | 
 |     const float SCALE = 1; | 
 |     const int WIDTH = 100; | 
 |  | 
 |     canvas->scale(SCALE, SCALE); | 
 |     canvas->translate(30, 30); | 
 |  | 
 |     SkPoint p1 = SkPoint::Make(50, 50); | 
 |     SkPoint p2 = SkPoint::Make(80, 50); | 
 |  | 
 |     SkPoint p3 = SkPoint::Make(65, 30); | 
 |  | 
 |     SkPath path; | 
 |     path.moveTo(p1); | 
 |     path.lineTo(p2); | 
 |     path.quadTo(p3, p1); | 
 |     // path.close(); | 
 |  | 
 |     SkPaint p; | 
 |     p.setColor(SK_ColorRED); | 
 |     p.setAntiAlias(true); | 
 |     p.setStyle(SkPaint::kStroke_Style); | 
 |     p.setStrokeWidth(WIDTH); | 
 |  | 
 |     SkPath fillpath; | 
 |     p.getFillPath(path, &fillpath); | 
 |  | 
 |     SkPaint fillp; | 
 |     fillp.setColor(SK_ColorBLACK); | 
 |     fillp.setAntiAlias(true); | 
 |     fillp.setStyle(SkPaint::kStroke_Style); | 
 |  | 
 |     canvas->drawPath(path, p); | 
 |     canvas->drawPath(fillpath, fillp); | 
 | } | 
 | }  // END FIDDLE |