1cb93a386Sopenharmony_ci// Copyright 2020 Google LLC. 2cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h" 4cb93a386Sopenharmony_ciREG_FIDDLE(fivearcs, 256, 128, false, 0) { 5cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) { 6cb93a386Sopenharmony_ci canvas->clear(SkColorSetARGB(255, 255, 255, 255)); 7cb93a386Sopenharmony_ci SkPaint ovalPaint; 8cb93a386Sopenharmony_ci ovalPaint.setAntiAlias(true); 9cb93a386Sopenharmony_ci ovalPaint.setStyle(SkPaint::kStroke_Style); 10cb93a386Sopenharmony_ci SkPaint arcPaint(ovalPaint); 11cb93a386Sopenharmony_ci arcPaint.setStrokeWidth(5); 12cb93a386Sopenharmony_ci arcPaint.setColor(SK_ColorBLUE); 13cb93a386Sopenharmony_ci SkRect oval = {8, 8, 56, 56}; 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ci canvas->drawOval(oval, ovalPaint); 16cb93a386Sopenharmony_ci SkPath arcPath; 17cb93a386Sopenharmony_ci arcPath.arcTo(oval, 0, 90, false); 18cb93a386Sopenharmony_ci canvas->drawPath(arcPath, arcPaint); 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_ci canvas->translate(64, 0); 21cb93a386Sopenharmony_ci canvas->drawOval(oval, ovalPaint); 22cb93a386Sopenharmony_ci canvas->drawArc(oval, 0, 90, false, arcPaint); 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci canvas->translate(64, 0); 25cb93a386Sopenharmony_ci canvas->drawOval(oval, ovalPaint); 26cb93a386Sopenharmony_ci arcPath.reset(); 27cb93a386Sopenharmony_ci arcPath.addArc(oval, 0, 90); 28cb93a386Sopenharmony_ci canvas->drawPath(arcPath, arcPaint); 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ci canvas->translate(-96, 64); 31cb93a386Sopenharmony_ci canvas->drawOval(oval, ovalPaint); 32cb93a386Sopenharmony_ci arcPath.reset(); 33cb93a386Sopenharmony_ci arcPath.moveTo({56, 32}); 34cb93a386Sopenharmony_ci arcPath.arcTo({56, 56}, {32, 56}, 24); 35cb93a386Sopenharmony_ci canvas->drawPath(arcPath, arcPaint); 36cb93a386Sopenharmony_ci 37cb93a386Sopenharmony_ci canvas->translate(64, 0); 38cb93a386Sopenharmony_ci canvas->drawOval(oval, ovalPaint); 39cb93a386Sopenharmony_ci arcPath.reset(); 40cb93a386Sopenharmony_ci arcPath.moveTo({56, 32}); 41cb93a386Sopenharmony_ci arcPath.arcTo({24, 24}, 0, SkPath::kSmall_ArcSize, SkPathDirection::kCW, {32, 56}); 42cb93a386Sopenharmony_ci canvas->drawPath(arcPath, arcPaint); 43cb93a386Sopenharmony_ci} 44cb93a386Sopenharmony_ci} // END FIDDLE 45