1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3*c8dee2aaSAndroid Build Coastguard Worker #include "tools/fiddle/examples.h"
4*c8dee2aaSAndroid Build Coastguard Worker REG_FIDDLE(Path_conicTo_2, 256, 128, false, 0) {
draw(SkCanvas * canvas)5*c8dee2aaSAndroid Build Coastguard Worker void draw(SkCanvas* canvas) {
6*c8dee2aaSAndroid Build Coastguard Worker SkPaint paint;
7*c8dee2aaSAndroid Build Coastguard Worker paint.setAntiAlias(true);
8*c8dee2aaSAndroid Build Coastguard Worker paint.setStyle(SkPaint::kStroke_Style);
9*c8dee2aaSAndroid Build Coastguard Worker SkRect oval = {0, 20, 120, 140};
10*c8dee2aaSAndroid Build Coastguard Worker SkPath path;
11*c8dee2aaSAndroid Build Coastguard Worker for (int i = 0; i < 4; ++i) {
12*c8dee2aaSAndroid Build Coastguard Worker path.moveTo(oval.centerX(), oval.fTop);
13*c8dee2aaSAndroid Build Coastguard Worker path.arcTo(oval, -90, 90 - 20 * i, false);
14*c8dee2aaSAndroid Build Coastguard Worker oval.inset(15, 15);
15*c8dee2aaSAndroid Build Coastguard Worker }
16*c8dee2aaSAndroid Build Coastguard Worker path.offset(100, 0);
17*c8dee2aaSAndroid Build Coastguard Worker SkScalar conicWeights[] = { 0.707107f, 0.819152f, 0.906308f, 0.965926f };
18*c8dee2aaSAndroid Build Coastguard Worker SkPoint conicPts[][3] = { { {40, 20}, {100, 20}, {100, 80} },
19*c8dee2aaSAndroid Build Coastguard Worker { {40, 35}, {71.509f, 35}, {82.286f, 64.6091f} },
20*c8dee2aaSAndroid Build Coastguard Worker { {40, 50}, {53.9892f, 50}, {62.981f, 60.7164f} },
21*c8dee2aaSAndroid Build Coastguard Worker { {40, 65}, {44.0192f, 65}, {47.5f, 67.0096f} } };
22*c8dee2aaSAndroid Build Coastguard Worker for (int i = 0; i < 4; ++i) {
23*c8dee2aaSAndroid Build Coastguard Worker path.moveTo(conicPts[i][0]);
24*c8dee2aaSAndroid Build Coastguard Worker path.conicTo(conicPts[i][1], conicPts[i][2], conicWeights[i]);
25*c8dee2aaSAndroid Build Coastguard Worker }
26*c8dee2aaSAndroid Build Coastguard Worker canvas->drawPath(path, paint);
27*c8dee2aaSAndroid Build Coastguard Worker }
28*c8dee2aaSAndroid Build Coastguard Worker } // END FIDDLE
29