25 path.moveTo(313.44189096331155f, 106.6009423589212f)
26 .arcTo({284.3113082008462f, 207.1407719157063f},
27 {255.15053777129728f, 307.6718505416374f},
29 .lineTo(255.15053777129728f, 307.6718505416374f)
30 .arcTo({340.4737465981018f, 252.6907319346971f},
31 {433.54333477716153f, 212.18116363345337f},
33 .lineTo(433.54333477716153f, 212.18116363345337f)
34 .arcTo({350.19513833839466f, 185.89280014838369f},
35 {313.44189096331155f, 106.6009423589212f},
38 canvas->translate(-200, -50);
39 canvas->drawPath(path.detach(),
paint);
72 { 10, 30 }, {30, 10}, {50, 30},
75 { 10, 50 }, {30, 70}, {50, 50},
81 paint.setStroke(
true);
82 paint.setStrokeWidth(9);
83 paint.setAntiAlias(
true);
91 for (
bool isClosed : {
false,
true}) {
95 SkPath path0 = proc(p0, std::size(p0), isClosed);
97 canvas->drawPath(path0,
paint);
100 canvas->translate(80, 0);
104 canvas->drawPath(path,
paint);
107 canvas->translate(80, 0);
111 canvas->drawPath(path,
paint);
114 canvas->translate(80, 0);
118 canvas->drawPath(path,
paint);
121 canvas->translate(80, 0);
125 canvas->drawPath(path,
paint);
129 canvas->translate(0, 100);
static SkMatrix MakeAll(SkScalar scaleX, SkScalar skewX, SkScalar transX, SkScalar skewY, SkScalar scaleY, SkScalar transY, SkScalar pers0, SkScalar pers1, SkScalar pers2)
static SkPath Polygon(const SkPoint pts[], int count, bool isClosed, SkPathFillType=SkPathFillType::kWinding, bool isVolatile=false)