41 canvas->
drawPath(
SkPath::Polygon({{20,20}, {50,40}, {80,20}, {80,80}, {50,60}, {20,80}},
51 canvas->
drawPath(
SkPath::Polygon({{20,20}, {50,50}, {68,20}, {68,80}, {50,50}, {20,80}},
62 {80,50}, {40,80}, {60,20}, {20,20}, {39.99f,80}, {80,50},
73 canvas->
drawPath(
SkPath::Polygon({{20,20}, {80,80}, {70,50}, {80,20}, {20,80}, {0,50}},
false,
84 .addPolygon({{40,20}, {40,80}, {80,50}},
false)
95 .addPolygon({{30,30}, {30,70}, {70,70}, {70,30}},
false)
105 canvas->
drawPath(
SkPath::Polygon({{30,20}, {50,80}, {70,20}, {20,57}, {80,57}},
false),
114 canvas->
scale(10, 10);
117 {5.8070392608642578125f, 6.4612660408020019531f},
118 {-2.9186885356903076172f, 2.811046600341796875f},
119 {0.49999994039535522461f, -1.4124038219451904297f},
129 canvas->
drawPath(
SkPath::Polygon({{50,50}, {50,20}, {80,20}, {50,50}, {20,50}, {20,80}},
false),
137 canvas->
drawPath(
SkPath::Polygon({{20,60}, {35,80}, {50,60}, {65,80}, {80,60}},
false),
paint);
155 .addPolygon({{30,30}, {45,50}, {30,70}},
false)
156 .addPolygon({{70,30}, {70,70}, {55,50}},
false)
169 path.moveTo(70, -0.000001f);
170 path.lineTo(70, 0.0);
171 path.lineTo(60, -30.0);
172 path.lineTo(40, 20.0);
173 path.moveTo(50, 50.0);
174 path.lineTo(50, -50.0);
175 path.lineTo(10, 50.0);
186 path.quadTo(20, 50, 80, 50);
187 path.quadTo(20, 50, 20, 80);
199 path.quadTo(20, 20, 20, 80);
211 path.quadTo(20, 80, 20, 20);
369 paint.setAntiAlias(
true);
372 test_concave(canvas,
paint);
373 test_reverse_concave(canvas,
paint);
374 test_bowtie(canvas,
paint);
375 test_fake_bowtie(canvas,
paint);
376 test_intruding_vertex(canvas,
paint);
377 test_fish(canvas,
paint);
378 test_fast_forward(canvas,
paint);
379 test_hole(canvas,
paint);
380 test_star(canvas,
paint);
381 test_twist(canvas,
paint);
382 test_inversion_repeat_vertex(canvas,
paint);
383 test_stairstep(canvas,
paint);
384 test_stairstep2(canvas,
paint);
385 test_overlapping(canvas,
paint);
386 test_partners(canvas,
paint);
387 test_winding_merged_to_zero(canvas,
paint);
388 test_monotone_1(canvas,
paint);
389 test_monotone_2(canvas,
paint);
390 test_monotone_3(canvas,
paint);
391 test_monotone_4(canvas,
paint);
392 test_monotone_5(canvas,
paint);
393 test_degenerate(canvas,
paint);
394 test_coincident_edge(canvas,
paint);
395 test_bowtie_coincident_triangle(canvas,
paint);
396 test_collinear_outer_boundary_edge(canvas,
paint);
397 test_coincident_edges_1(canvas,
paint);
398 test_coincident_edges_2(canvas,
paint);
399 test_coincident_edges_3(canvas,
paint);
400 test_coincident_edges_4(canvas,
paint);
void translate(SkScalar dx, SkScalar dy)
void drawPath(const SkPath &path, const SkPaint &paint)
void scale(SkScalar sx, SkScalar sy)
@ kFill_Style
set to fill geometry
SkPathBuilder & addPolygon(const SkPoint pts[], int count, bool isClosed)
static SkPath Polygon(const SkPoint pts[], int count, bool isClosed, SkPathFillType=SkPathFillType::kWinding, bool isVolatile=false)
DEF_SIMPLE_GM(concavepaths, canvas, 500, 600)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size