| // 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(fivearcs, 256, 128, false, 0) { | |
| void draw(SkCanvas* canvas) { | |
| canvas->clear(SkColorSetARGB(255, 255, 255, 255)); | |
| SkPaint ovalPaint; | |
| ovalPaint.setAntiAlias(true); | |
| ovalPaint.setStyle(SkPaint::kStroke_Style); | |
| SkPaint arcPaint(ovalPaint); | |
| arcPaint.setStrokeWidth(5); | |
| arcPaint.setColor(SK_ColorBLUE); | |
| SkRect oval = {8, 8, 56, 56}; | |
| canvas->drawOval(oval, ovalPaint); | |
| SkPath arcPath = SkPathBuilder().arcTo(oval, 0, 90, false).detach(); | |
| canvas->drawPath(arcPath, arcPaint); | |
| canvas->translate(64, 0); | |
| canvas->drawOval(oval, ovalPaint); | |
| canvas->drawArc(oval, 0, 90, false, arcPaint); | |
| canvas->translate(64, 0); | |
| canvas->drawOval(oval, ovalPaint); | |
| arcPath = SkPathBuilder().addArc(oval, 0, 90).detach(); | |
| canvas->drawPath(arcPath, arcPaint); | |
| canvas->translate(-96, 64); | |
| canvas->drawOval(oval, ovalPaint); | |
| arcPath = SkPathBuilder() | |
| .moveTo({56, 32}) | |
| .arcTo({56, 56}, {32, 56}, 24) | |
| .detach(); | |
| canvas->drawPath(arcPath, arcPaint); | |
| canvas->translate(64, 0); | |
| canvas->drawOval(oval, ovalPaint); | |
| arcPath = SkPathBuilder() | |
| .moveTo({56, 32}) | |
| .arcTo({24, 24}, 0, SkPathBuilder::kSmall_ArcSize, SkPathDirection::kCW, {32, 56}) | |
| .detach(); | |
| canvas->drawPath(arcPath, arcPaint); | |
| } | |
| } // END FIDDLE |