Lines Matching +full:- +full:- +full:detach
4 * Use of this source code is governed by a BSD-style license that can be
17 canvas->translate(0, 0); in test_concave()
18 canvas->drawPath(SkPath::Polygon({{20,20}, {80,20}, {30,30}, {20,80}}, false), paint); in test_concave()
23 canvas->save(); in test_reverse_concave()
24 canvas->translate(100, 0); in test_reverse_concave()
25 canvas->drawPath(SkPath::Polygon({{20,20}, {20,80}, {30,30}, {80,20}}, false), paint); in test_reverse_concave()
26 canvas->restore(); in test_reverse_concave()
31 canvas->save(); in test_bowtie()
32 canvas->translate(200, 0); in test_bowtie()
33 canvas->drawPath(SkPath::Polygon({{20,20}, {80,80}, {80,20}, {20,80}}, false), paint); in test_bowtie()
34 canvas->restore(); in test_bowtie()
39 canvas->save(); in test_fake_bowtie()
40 canvas->translate(300, 0); in test_fake_bowtie()
41 canvas->drawPath(SkPath::Polygon({{20,20}, {50,40}, {80,20}, {80,80}, {50,60}, {20,80}}, in test_fake_bowtie()
43 canvas->restore(); in test_fake_bowtie()
49 canvas->save(); in test_intruding_vertex()
50 canvas->translate(400, 0); in test_intruding_vertex()
51 canvas->drawPath(SkPath::Polygon({{20,20}, {50,50}, {68,20}, {68,80}, {50,50}, {20,80}}, in test_intruding_vertex()
53 canvas->restore(); in test_intruding_vertex()
59 canvas->save(); in test_inversion_repeat_vertex()
60 canvas->translate(400, 100); in test_inversion_repeat_vertex()
64 canvas->drawPath(SkPath::Polygon(pts, std::size(pts), false, in test_inversion_repeat_vertex()
66 canvas->restore(); in test_inversion_repeat_vertex()
71 canvas->save(); in test_fish()
72 canvas->translate(0, 100); in test_fish()
73 canvas->drawPath(SkPath::Polygon({{20,20}, {80,80}, {70,50}, {80,20}, {20,80}, {0,50}}, false, in test_fish()
75 canvas->restore(); in test_fish()
78 // Overlapping "Fast-forward" icon: tests coincidence of inner and outer
81 canvas->save(); in test_fast_forward()
82 canvas->translate(100, 100); in test_fast_forward()
85 .detach(); in test_fast_forward()
86 canvas->drawPath(path, paint); in test_fast_forward()
87 canvas->restore(); in test_fast_forward()
92 canvas->save(); in test_hole()
93 canvas->translate(200, 100); in test_hole()
96 .detach(); in test_hole()
97 canvas->drawPath(path, paint); in test_hole()
98 canvas->restore(); in test_hole()
101 // Star test (self-intersecting)
103 canvas->save(); in test_star()
104 canvas->translate(300, 100); in test_star()
105 canvas->drawPath(SkPath::Polygon({{30,20}, {50,80}, {70,20}, {20,57}, {80,57}}, false), in test_star()
107 canvas->restore(); in test_star()
112 canvas->save(); in test_twist()
113 canvas->translate(420, 220); in test_twist()
114 canvas->scale(10, 10); in test_twist()
118 {-2.9186885356903076172f, 2.811046600341796875f}, in test_twist()
119 {0.49999994039535522461f, -1.4124038219451904297f}, in test_twist()
121 canvas->drawPath(SkPath::Polygon(pts, std::size(pts), false), paint); in test_twist()
122 canvas->restore(); in test_twist()
127 canvas->save(); in test_stairstep()
128 canvas->translate(0, 200); in test_stairstep()
129 canvas->drawPath(SkPath::Polygon({{50,50}, {50,20}, {80,20}, {50,50}, {20,50}, {20,80}}, false), in test_stairstep()
131 canvas->restore(); in test_stairstep()
135 canvas->save(); in test_stairstep2()
136 canvas->translate(100, 200); in test_stairstep2()
137 canvas->drawPath(SkPath::Polygon({{20,60}, {35,80}, {50,60}, {65,80}, {80,60}}, false), paint); in test_stairstep2()
138 canvas->restore(); in test_stairstep2()
143 canvas->save(); in test_overlapping()
144 canvas->translate(200, 200); in test_overlapping()
145 canvas->drawPath(SkPath::Polygon({{20,80}, {80,80}, {80,20}, {80,30}}, false), paint); in test_overlapping()
146 canvas->restore(); in test_overlapping()
152 canvas->save(); in test_partners()
153 canvas->translate(300, 200); in test_partners()
157 .detach(); in test_partners()
158 canvas->drawPath(path, paint); in test_partners()
159 canvas->restore(); in test_partners()
166 canvas->save(); in test_winding_merged_to_zero()
167 canvas->translate(400, 350); in test_winding_merged_to_zero()
169 path.moveTo(70, -0.000001f); in test_winding_merged_to_zero()
171 path.lineTo(60, -30.0); in test_winding_merged_to_zero()
174 path.lineTo(50, -50.0); in test_winding_merged_to_zero()
176 canvas->drawPath(path.detach(), paint); in test_winding_merged_to_zero()
177 canvas->restore(); in test_winding_merged_to_zero()
183 canvas->save(); in test_monotone_1()
184 canvas->translate(0, 300); in test_monotone_1()
188 canvas->drawPath(path.detach(), paint); in test_monotone_1()
189 canvas->restore(); in test_monotone_1()
195 canvas->save(); in test_monotone_2()
196 canvas->translate(100, 300); in test_monotone_2()
200 canvas->drawPath(path.detach(), paint); in test_monotone_2()
201 canvas->restore(); in test_monotone_2()
207 canvas->save(); in test_monotone_3()
208 canvas->translate(200, 300); in test_monotone_3()
212 canvas->drawPath(path.detach(), paint); in test_monotone_3()
213 canvas->restore(); in test_monotone_3()
219 canvas->save(); in test_monotone_4()
220 canvas->translate(300, 300); in test_monotone_4()
227 canvas->drawPath(path.detach(), paint); in test_monotone_4()
228 canvas->restore(); in test_monotone_4()
234 canvas->save(); in test_monotone_5()
235 canvas->translate(0, 400); in test_monotone_5()
240 canvas->drawPath(path.detach(), paint); in test_monotone_5()
241 canvas->restore(); in test_monotone_5()
246 canvas->save(); in test_degenerate()
247 canvas->translate(100, 400); in test_degenerate()
254 canvas->drawPath(path.detach(), paint); in test_degenerate()
255 canvas->restore(); in test_degenerate()
260 canvas->save(); in test_coincident_edge()
261 canvas->translate(200, 400); in test_coincident_edge()
271 canvas->drawPath(path.detach(), paint); in test_coincident_edge()
272 canvas->restore(); in test_coincident_edge()
278 canvas->save(); in test_bowtie_coincident_triangle()
279 canvas->translate(300, 400); in test_bowtie_coincident_triangle()
287 canvas->drawPath(path.detach(), paint); in test_bowtie_coincident_triangle()
288 canvas->restore(); in test_bowtie_coincident_triangle()
291 // Collinear outer boundary edges. In the edge-AA codepath, this creates an overlap region
295 canvas->save(); in test_collinear_outer_boundary_edge()
296 canvas->translate(400, 400); in test_collinear_outer_boundary_edge()
303 canvas->drawPath(path.detach(), paint); in test_collinear_outer_boundary_edge()
304 canvas->restore(); in test_collinear_outer_boundary_edge()
310 canvas->save(); in test_coincident_edges_1()
311 canvas->translate(0, 500); in test_coincident_edges_1()
318 canvas->drawPath(path.detach(), paint); in test_coincident_edges_1()
319 canvas->restore(); in test_coincident_edges_1()
324 canvas->save(); in test_coincident_edges_2()
325 canvas->translate(100, 500); in test_coincident_edges_2()
332 canvas->drawPath(path.detach(), paint); in test_coincident_edges_2()
333 canvas->restore(); in test_coincident_edges_2()
338 canvas->save(); in test_coincident_edges_3()
339 canvas->translate(200, 500); in test_coincident_edges_3()
346 canvas->drawPath(path.detach(), paint); in test_coincident_edges_3()
347 canvas->restore(); in test_coincident_edges_3()
352 canvas->save(); in test_coincident_edges_4()
353 canvas->translate(300, 500); in test_coincident_edges_4()
360 canvas->drawPath(path.detach(), paint); in test_coincident_edges_4()
361 canvas->restore(); in test_coincident_edges_4()