Lines Matching refs:path

15     SkPath path;
16 path.moveTo(2,0);
17 path.lineTo(1,1);
18 path.lineTo(0,0);
19 path.close();
20 testSimplifyx(path);
24 SkPath path;
25 path.setFillType(SkPath::kEvenOdd_FillType);
26 path.moveTo(2,0);
27 path.lineTo(1,1);
28 path.lineTo(0,0);
29 path.close();
30 testSimplifyx(path);
33 static void addInnerCWTriangle(SkPath& path) {
34 path.moveTo(3,0);
35 path.lineTo(4,1);
36 path.lineTo(2,1);
37 path.close();
40 static void addInnerCCWTriangle(SkPath& path) {
41 path.moveTo(3,0);
42 path.lineTo(2,1);
43 path.lineTo(4,1);
44 path.close();
47 static void addOuterCWTriangle(SkPath& path) {
48 path.moveTo(3,0);
49 path.lineTo(6,2);
50 path.lineTo(0,2);
51 path.close();
54 static void addOuterCCWTriangle(SkPath& path) {
55 path.moveTo(3,0);
56 path.lineTo(0,2);
57 path.lineTo(6,2);
58 path.close();
62 SkPath path;
63 path.setFillType(SkPath::kEvenOdd_FillType);
64 addInnerCWTriangle(path);
65 addOuterCWTriangle(path);
66 testSimplifyx(path);
70 SkPath path;
71 path.setFillType(SkPath::kEvenOdd_FillType);
72 addInnerCWTriangle(path);
73 addOuterCWTriangle(path);
74 testSimplifyx(path);
78 SkPath path;
79 path.setFillType(SkPath::kEvenOdd_FillType);
80 addInnerCCWTriangle(path);
81 addOuterCWTriangle(path);
82 testSimplifyx(path);
86 SkPath path;
87 path.setFillType(SkPath::kEvenOdd_FillType);
88 addInnerCCWTriangle(path);
89 addOuterCWTriangle(path);
90 testSimplifyx(path);
94 SkPath path;
95 addInnerCWTriangle(path);
96 addOuterCCWTriangle(path);
97 testSimplifyx(path);
101 SkPath path;
102 path.setFillType(SkPath::kEvenOdd_FillType);
103 addInnerCWTriangle(path);
104 addOuterCCWTriangle(path);
105 testSimplifyx(path);
109 SkPath path;
110 addInnerCCWTriangle(path);
111 addOuterCCWTriangle(path);
112 testSimplifyx(path);
116 SkPath path;
117 path.setFillType(SkPath::kEvenOdd_FillType);
118 addInnerCCWTriangle(path);
119 addOuterCCWTriangle(path);
120 testSimplifyx(path);
124 SkPath path;
125 addOuterCCWTriangle(path);
126 addOuterCWTriangle(path);
127 testSimplifyx(path);
131 SkPath path;
132 path.setFillType(SkPath::kEvenOdd_FillType);
133 addOuterCCWTriangle(path);
134 addOuterCWTriangle(path);
135 testSimplifyx(path);
139 SkPath path;
140 addOuterCWTriangle(path);
141 addOuterCWTriangle(path);
142 testSimplifyx(path);
146 SkPath path;
147 path.setFillType(SkPath::kEvenOdd_FillType);
148 addOuterCWTriangle(path);
149 addOuterCWTriangle(path);
150 testSimplifyx(path);
154 SkPath path;
155 path.moveTo(0,0);
156 path.lineTo(4,0);
157 path.lineTo(2,2);
158 path.close();
159 path.moveTo(2,0);
160 path.lineTo(6,0);
161 path.lineTo(4,2);
162 path.close();
163 testSimplifyx(path);
167 SkPath path;
168 path.setFillType(SkPath::kEvenOdd_FillType);
169 path.moveTo(0,0);
170 path.lineTo(4,0);
171 path.lineTo(2,2);
172 path.close();
173 path.moveTo(2,0);
174 path.lineTo(6,0);
175 path.lineTo(4,2);
176 path.close();
177 testSimplifyx(path);
181 SkPath path;
182 path.moveTo(0,0);
183 path.lineTo(4,0);
184 path.lineTo(2,2);
185 path.close();
186 path.moveTo(6,0);
187 path.lineTo(2,0);
188 path.lineTo(4,2);
189 path.close();
190 testSimplifyx(path);
194 SkPath path;
195 path.setFillType(SkPath::kEvenOdd_FillType);
196 path.moveTo(0,0);
197 path.lineTo(4,0);
198 path.lineTo(2,2);
199 path.close();
200 path.moveTo(6,0);
201 path.lineTo(2,0);
202 path.lineTo(4,2);
203 path.close();
204 testSimplifyx(path);
208 SkPath path;
209 path.moveTo(0,0);
210 path.lineTo(4,0);
211 path.lineTo(2,2);
212 path.close();
213 testSimplifyx(path);
217 SkPath path;
218 path.setFillType(SkPath::kEvenOdd_FillType);
219 path.moveTo(0,0);
220 path.lineTo(4,0);
221 path.lineTo(2,2);
222 path.close();
223 testSimplifyx(path);
227 SkPath path;
228 path.moveTo(0,0);
229 path.lineTo(4,0);
230 path.close();
231 path.moveTo(6,0);
232 path.lineTo(2,0);
233 path.lineTo(4,2);
234 path.close();
235 testSimplifyx(path);
239 SkPath path;
240 path.setFillType(SkPath::kEvenOdd_FillType);
241 path.moveTo(0,0);
242 path.lineTo(4,0);
243 path.close();
244 path.moveTo(6,0);
245 path.lineTo(2,0);
246 path.lineTo(4,2);
247 path.close();
248 testSimplifyx(path);
252 SkPath path;
253 path.moveTo(0,4);
254 path.lineTo(4,4);
255 path.lineTo(2,2);
256 path.close();
257 path.moveTo(2,4);
258 path.lineTo(6,4);
259 path.lineTo(4,2);
260 path.close();
261 testSimplifyx(path);
265 SkPath path;
266 path.setFillType(SkPath::kEvenOdd_FillType);
267 path.moveTo(0,4);
268 path.lineTo(4,4);
269 path.lineTo(2,2);
270 path.close();
271 path.moveTo(2,4);
272 path.lineTo(6,4);
273 path.lineTo(4,2);
274 path.close();
275 testSimplifyx(path);
279 SkPath path;
280 path.moveTo(0,4);
281 path.lineTo(4,4);
282 path.lineTo(2,2);
283 path.close();
284 path.moveTo(6,4);
285 path.lineTo(2,4);
286 path.lineTo(4,2);
287 path.close();
288 testSimplifyx(path);
292 SkPath path;
293 path.setFillType(SkPath::kEvenOdd_FillType);
294 path.moveTo(0,4);
295 path.lineTo(4,4);
296 path.lineTo(2,2);
297 path.close();
298 path.moveTo(6,4);
299 path.lineTo(2,4);
300 path.lineTo(4,2);
301 path.close();
302 testSimplifyx(path);
306 SkPath path;
307 path.moveTo(0,4);
308 path.lineTo(4,4);
309 path.lineTo(2,2);
310 path.close();
311 path.moveTo(2,1);
312 path.lineTo(3,4);
313 path.lineTo(6,1);
314 path.close();
315 testSimplifyx(path);
319 SkPath path;
320 path.setFillType(SkPath::kEvenOdd_FillType);
321 path.moveTo(0,4);
322 path.lineTo(4,4);
323 path.lineTo(2,2);
324 path.close();
325 path.moveTo(2,1);
326 path.lineTo(3,4);
327 path.lineTo(6,1);
328 path.close();
329 testSimplifyx(path);
333 SkPath path;
334 path.moveTo(0,4);
335 path.lineTo(8,4);
336 path.lineTo(4,0);
337 path.close();
338 path.moveTo(2,2);
339 path.lineTo(3,3);
340 path.lineTo(4,2);
341 path.close();
342 testSimplifyx(path);
346 SkPath path;
347 path.setFillType(SkPath::kEvenOdd_FillType);
348 path.moveTo(0,4);
349 path.lineTo(8,4);
350 path.lineTo(4,0);
351 path.close();
352 path.moveTo(2,2);
353 path.lineTo(3,3);
354 path.lineTo(4,2);
355 path.close();
356 testSimplifyx(path);
359 static void addCWContainer(SkPath& path) {
360 path.moveTo(6,4);
361 path.lineTo(0,4);
362 path.lineTo(3,1);
363 path.close();
366 static void addCCWContainer(SkPath& path) {
367 path.moveTo(0,4);
368 path.lineTo(6,4);
369 path.lineTo(3,1);
370 path.close();
373 static void addCWContents(SkPath& path) {
374 path.moveTo(2,3);
375 path.lineTo(3,2);
376 path.lineTo(4,3);
377 path.close();
380 static void addCCWContents(SkPath& path) {
381 path.moveTo(3,2);
382 path.lineTo(2,3);
383 path.lineTo(4,3);
384 path.close();
388 SkPath path;
389 addCWContainer(path);
390 addCWContents(path);
391 testSimplifyx(path);
395 SkPath path;
396 path.setFillType(SkPath::kEvenOdd_FillType);
397 addCWContainer(path);
398 addCWContents(path);
399 testSimplifyx(path);
403 SkPath path;
404 addCCWContainer(path);
405 addCWContents(path);
406 testSimplifyx(path);
410 SkPath path;
411 path.setFillType(SkPath::kEvenOdd_FillType);
412 addCCWContainer(path);
413 addCWContents(path);
414 testSimplifyx(path);
418 SkPath path;
419 addCWContainer(path);
420 addCCWContents(path);
421 testSimplifyx(path);
425 SkPath path;
426 path.setFillType(SkPath::kEvenOdd_FillType);
427 addCWContainer(path);
428 addCCWContents(path);
429 testSimplifyx(path);
433 SkPath path;
434 addCCWContainer(path);
435 addCCWContents(path);
436 testSimplifyx(path);
440 SkPath path;
441 path.setFillType(SkPath::kEvenOdd_FillType);
442 addCCWContainer(path);
443 addCCWContents(path);
444 testSimplifyx(path);
448 SkPath path;
449 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
450 testSimplifyx(path);
454 SkPath path;
455 path.setFillType(SkPath::kEvenOdd_FillType);
456 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
457 testSimplifyx(path);
461 SkPath path;
462 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
463 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
464 testSimplifyx(path);
468 SkPath path;
469 path.setFillType(SkPath::kEvenOdd_FillType);
470 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
471 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
472 testSimplifyx(path);
476 SkPath path;
477 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
478 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
479 testSimplifyx(path);
483 SkPath path;
484 path.setFillType(SkPath::kEvenOdd_FillType);
485 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
486 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
487 testSimplifyx(path);
491 SkPath path;
492 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
493 path.addRect(12, 4, 21, 21, SkPath::kCW_Direction);
494 testSimplifyx(path);
498 SkPath path;
499 path.setFillType(SkPath::kEvenOdd_FillType);
500 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
501 path.addRect(12, 4, 21, 21, SkPath::kCW_Direction);
502 testSimplifyx(path);
506 SkPath path;
507 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
508 path.addRect(12, 16, 21, 21, SkPath::kCW_Direction);
509 testSimplifyx(path);
513 SkPath path;
514 path.setFillType(SkPath::kEvenOdd_FillType);
515 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
516 path.addRect(12, 16, 21, 21, SkPath::kCW_Direction);
517 testSimplifyx(path);
521 SkPath path;
522 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
523 path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
524 testSimplifyx(path);
528 SkPath path;
529 path.setFillType(SkPath::kEvenOdd_FillType);
530 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
531 path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
532 testSimplifyx(path);
536 SkPath path;
537 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
538 path.addRect(0, 16, 9, 9, SkPath::kCW_Direction);
539 testSimplifyx(path);
543 SkPath path;
544 path.setFillType(SkPath::kEvenOdd_FillType);
545 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
546 path.addRect(0, 16, 9, 9, SkPath::kCW_Direction);
547 testSimplifyx(path);
551 SkPath path;
552 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
553 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
554 testSimplifyx(path);
558 SkPath path;
559 path.setFillType(SkPath::kEvenOdd_FillType);
560 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
561 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
562 testSimplifyx(path);
566 SkPath path;
567 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
568 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
569 testSimplifyx(path);
573 SkPath path;
574 path.setFillType(SkPath::kEvenOdd_FillType);
575 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
576 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
577 testSimplifyx(path);
581 SkPath path;
582 path.moveTo(2,0);
583 path.lineTo(4,4);
584 path.lineTo(0,4);
585 path.close();
586 path.moveTo(2,0);
587 path.lineTo(1,2);
588 path.lineTo(2,2);
589 path.close();
590 testSimplifyx(path);
594 SkPath path;
595 path.setFillType(SkPath::kEvenOdd_FillType);
596 path.moveTo(2,0);
597 path.lineTo(4,4);
598 path.lineTo(0,4);
599 path.close();
600 path.moveTo(2,0);
601 path.lineTo(1,2);
602 path.lineTo(2,2);
603 path.close();
604 testSimplifyx(path);
608 SkPath path;
609 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
610 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
611 testSimplifyx(path);
615 SkPath path;
616 path.setFillType(SkPath::kEvenOdd_FillType);
617 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
618 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
619 testSimplifyx(path);
623 SkPath path;
624 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
625 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
626 testSimplifyx(path);
630 SkPath path;
631 path.setFillType(SkPath::kEvenOdd_FillType);
632 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
633 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
634 testSimplifyx(path);
638 SkPath path;
639 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
640 path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
641 testSimplifyx(path);
645 SkPath path;
646 path.setFillType(SkPath::kEvenOdd_FillType);
647 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
648 path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
649 testSimplifyx(path);
653 SkPath path;
654 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
655 path.addRect(12, 8, 21, 21, SkPath::kCW_Direction);
656 testSimplifyx(path);
660 SkPath path;
661 path.setFillType(SkPath::kEvenOdd_FillType);
662 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
663 path.addRect(12, 8, 21, 21, SkPath::kCW_Direction);
664 testSimplifyx(path);
668 SkPath path;
669 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
670 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
671 testSimplifyx(path);
675 SkPath path;
676 path.setFillType(SkPath::kEvenOdd_FillType);
677 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
678 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
679 testSimplifyx(path);
683 SkPath path;
684 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
685 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
686 testSimplifyx(path);
690 SkPath path;
691 path.setFillType(SkPath::kEvenOdd_FillType);
692 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
693 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
694 testSimplifyx(path);
698 SkPath path;
699 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
700 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
701 path.addRect(4, 4, 13, 13, SkPath::kCW_Direction);
702 testSimplifyx(path);
706 SkPath path;
707 path.setFillType(SkPath::kEvenOdd_FillType);
708 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
709 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
710 path.addRect(4, 4, 13, 13, SkPath::kCW_Direction);
711 testSimplifyx(path);
715 SkPath path;
716 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
717 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
718 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
719 testSimplifyx(path);
723 SkPath path;
724 path.setFillType(SkPath::kEvenOdd_FillType);
725 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
726 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
727 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
728 testSimplifyx(path);
732 SkPath path;
733 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
734 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
735 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
736 testSimplifyx(path);
740 SkPath path;
741 path.setFillType(SkPath::kEvenOdd_FillType);
742 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
743 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
744 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
745 testSimplifyx(path);
749 SkPath path;
750 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
751 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
752 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
753 testSimplifyx(path);
757 SkPath path;
758 path.setFillType(SkPath::kEvenOdd_FillType);
759 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
760 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
761 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
762 testSimplifyx(path);
766 SkPath path;
767 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
768 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
769 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
770 testSimplifyx(path);
774 SkPath path;
775 path.setFillType(SkPath::kEvenOdd_FillType);
776 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
777 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
778 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
779 testSimplifyx(path);
783 SkPath path;
784 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
785 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
786 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
787 testSimplifyx(path);
791 SkPath path;
792 path.setFillType(SkPath::kEvenOdd_FillType);
793 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
794 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
795 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
796 testSimplifyx(path);
800 SkPath path;
801 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
802 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
803 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
804 testSimplifyx(path);
808 SkPath path;
809 path.setFillType(SkPath::kEvenOdd_FillType);
810 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
811 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
812 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
813 testSimplifyx(path);
817 SkPath path;
818 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
819 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
820 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
821 testSimplifyx(path);
825 SkPath path;
826 path.setFillType(SkPath::kEvenOdd_FillType);
827 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
828 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
829 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
830 testSimplifyx(path);
834 SkPath path;
835 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
836 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
837 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
838 testSimplifyx(path);
842 SkPath path;
843 path.setFillType(SkPath::kEvenOdd_FillType);
844 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
845 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
846 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
847 testSimplifyx(path);
851 SkPath path;
852 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
853 path.addRect(12, 18, 24, 24, SkPath::kCW_Direction);
854 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
855 testSimplifyx(path);
859 SkPath path;
860 path.setFillType(SkPath::kEvenOdd_FillType);
861 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
862 path.addRect(12, 18, 24, 24, SkPath::kCW_Direction);
863 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
864 testSimplifyx(path);
868 SkPath path;
869 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
870 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
871 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
872 testSimplifyx(path);
876 SkPath path;
877 path.setFillType(SkPath::kEvenOdd_FillType);
878 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
879 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
880 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
881 testSimplifyx(path);
885 SkPath path;
886 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
887 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
888 path.addRect(8, 16, 17, 17, SkPath::kCW_Direction);
889 testSimplifyx(path);
893 SkPath path;
894 path.setFillType(SkPath::kEvenOdd_FillType);
895 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
896 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
897 path.addRect(8, 16, 17, 17, SkPath::kCW_Direction);
898 testSimplifyx(path);
902 SkPath path;
903 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
904 path.addRect(6, 24, 18, 18, SkPath::kCW_Direction);
905 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
906 testSimplifyx(path);
910 SkPath path;
911 path.setFillType(SkPath::kEvenOdd_FillType);
912 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
913 path.addRect(6, 24, 18, 18, SkPath::kCW_Direction);
914 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
915 testSimplifyx(path);
919 SkPath path;
920 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
921 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
922 path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction);
923 testSimplifyx(path);
927 SkPath path;
928 path.setFillType(SkPath::kEvenOdd_FillType);
929 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
930 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
931 path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction);
932 testSimplifyx(path);
936 SkPath path;
937 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
938 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
939 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
940 testSimplifyx(path);
944 SkPath path;
945 path.setFillType(SkPath::kEvenOdd_FillType);
946 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
947 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
948 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
949 testSimplifyx(path);
953 SkPath path;
954 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
955 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
956 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
957 testSimplifyx(path);
961 SkPath path;
962 path.setFillType(SkPath::kEvenOdd_FillType);
963 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
964 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
965 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
966 testSimplifyx(path);
970 SkPath path;
971 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
972 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
973 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
974 testSimplifyx(path);
978 SkPath path;
979 path.setFillType(SkPath::kEvenOdd_FillType);
980 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
981 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
982 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
983 testSimplifyx(path);
987 SkPath path;
988 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
989 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
990 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
991 testSimplifyx(path);
995 SkPath path;
996 path.setFillType(SkPath::kEvenOdd_FillType);
997 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
998 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
999 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
1000 testSimplifyx(path);
1004 SkPath path;
1005 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1006 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
1007 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
1008 testSimplifyx(path);
1012 SkPath path;
1013 path.setFillType(SkPath::kEvenOdd_FillType);
1014 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1015 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
1016 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
1017 testSimplifyx(path);
1021 SkPath path;
1022 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1023 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1024 testSimplifyx(path);
1028 SkPath path;
1029 path.setFillType(SkPath::kEvenOdd_FillType);
1030 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1031 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1032 testSimplifyx(path);
1036 SkPath path;
1037 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1038 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1039 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1040 testSimplifyx(path);
1044 SkPath path;
1045 path.setFillType(SkPath::kEvenOdd_FillType);
1046 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1047 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1048 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1049 testSimplifyx(path);
1053 SkPath path;
1054 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1055 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1056 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1057 testSimplifyx(path);
1061 SkPath path;
1062 path.setFillType(SkPath::kEvenOdd_FillType);
1063 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1064 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1065 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1066 testSimplifyx(path);
1070 SkPath path;
1071 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1072 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1073 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1074 testSimplifyx(path);
1078 SkPath path;
1079 path.setFillType(SkPath::kEvenOdd_FillType);
1080 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1081 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1082 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1083 testSimplifyx(path);
1087 SkPath path;
1088 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1089 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
1090 path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction);
1091 testSimplifyx(path);
1095 SkPath path;
1096 path.setFillType(SkPath::kEvenOdd_FillType);
1097 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1098 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
1099 path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction);
1100 testSimplifyx(path);
1104 SkPath path;
1105 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1106 path.addRect(6, 6, 18, 18, SkPath::kCW_Direction);
1107 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1108 testSimplifyx(path);
1112 SkPath path;
1113 path.setFillType(SkPath::kEvenOdd_FillType);
1114 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1115 path.addRect(6, 6, 18, 18, SkPath::kCW_Direction);
1116 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1117 testSimplifyx(path);
1121 SkPath path;
1122 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1123 path.addRect(18, 20, 30, 30, SkPath::kCW_Direction);
1124 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1125 testSimplifyx(path);
1129 SkPath path;
1130 path.setFillType(SkPath::kEvenOdd_FillType);
1131 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1132 path.addRect(18, 20, 30, 30, SkPath::kCW_Direction);
1133 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1134 testSimplifyx(path);
1138 SkPath path;
1139 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1140 path.addRect(20, 0, 30, 40, SkPath::kCW_Direction);
1141 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1142 testSimplifyx(path);
1146 SkPath path;
1147 path.setFillType(SkPath::kEvenOdd_FillType);
1148 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1149 path.addRect(20, 0, 30, 40, SkPath::kCW_Direction);
1150 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1151 testSimplifyx(path);
1155 SkPath path;
1156 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1157 path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction);
1158 path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction);
1159 testSimplifyx(path);
1163 SkPath path;
1164 path.setFillType(SkPath::kEvenOdd_FillType);
1165 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1166 path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction);
1167 path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction);
1168 testSimplifyx(path);
1172 SkPath path;
1173 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1174 path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction);
1175 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1176 testSimplifyx(path);
1180 SkPath path;
1181 path.setFillType(SkPath::kEvenOdd_FillType);
1182 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1183 path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction);
1184 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1185 testSimplifyx(path);
1189 SkPath path;
1190 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1191 path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction);
1192 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1193 testSimplifyx(path);
1197 SkPath path;
1198 path.setFillType(SkPath::kEvenOdd_FillType);
1199 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1200 path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction);
1201 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1202 testSimplifyx(path);
1206 SkPath path;
1207 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1208 path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
1209 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1210 testSimplifyx(path);
1214 SkPath path;
1215 path.setFillType(SkPath::kEvenOdd_FillType);
1216 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1217 path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
1218 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1219 testSimplifyx(path);
1223 SkPath path;
1224 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1225 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1226 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1227 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1228 testSimplifyx(path);
1232 SkPath path;
1233 path.setFillType(SkPath::kEvenOdd_FillType);
1234 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1235 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1236 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1237 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1238 testSimplifyx(path);
1242 SkPath path;
1243 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1244 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
1245 path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction);
1246 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1247 testSimplifyx(path);
1251 SkPath path;
1252 path.setFillType(SkPath::kEvenOdd_FillType);
1253 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1254 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
1255 path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction);
1256 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1257 testSimplifyx(path);
1261 SkPath path;
1262 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1263 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1264 path.addRect(18, 6, 30, 30, SkPath::kCW_Direction);
1265 testSimplifyx(path);
1269 SkPath path;
1270 path.setFillType(SkPath::kEvenOdd_FillType);
1271 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1272 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1273 path.addRect(18, 6, 30, 30, SkPath::kCW_Direction);
1274 testSimplifyx(path);
1278 SkPath path;
1279 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1280 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
1281 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
1282 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1283 testSimplifyx(path);
1287 SkPath path;
1288 path.setFillType(SkPath::kEvenOdd_FillType);
1289 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1290 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
1291 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
1292 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1293 testSimplifyx(path);
1297 SkPath path;
1298 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1299 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1300 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1301 testSimplifyx(path);
1305 SkPath path;
1306 path.setFillType(SkPath::kEvenOdd_FillType);
1307 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1308 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1309 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1310 testSimplifyx(path);
1314 SkPath path;
1315 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1316 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1317 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1318 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1319 testSimplifyx(path);
1323 SkPath path;
1324 path.setFillType(SkPath::kEvenOdd_FillType);
1325 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1326 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1327 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1328 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1329 testSimplifyx(path);
1333 SkPath path;
1334 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1335 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1336 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1337 testSimplifyx(path);
1341 SkPath path;
1342 path.setFillType(SkPath::kEvenOdd_FillType);
1343 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1344 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1345 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1346 testSimplifyx(path);
1350 SkPath path;
1351 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1352 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1353 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1354 testSimplifyx(path);
1358 SkPath path;
1359 path.setFillType(SkPath::kEvenOdd_FillType);
1360 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1361 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1362 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1363 testSimplifyx(path);
1367 SkPath path;
1368 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1369 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1370 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1371 testSimplifyx(path);
1375 SkPath path;
1376 path.setFillType(SkPath::kEvenOdd_FillType);
1377 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1378 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1379 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1380 testSimplifyx(path);
1384 SkPath path;
1385 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1386 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1387 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1388 testSimplifyx(path);
1392 SkPath path;
1393 path.setFillType(SkPath::kEvenOdd_FillType);
1394 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1395 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1396 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1397 testSimplifyx(path);
1401 SkPath path;
1402 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1403 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1404 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1405 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1406 testSimplifyx(path);
1410 SkPath path;
1411 path.setFillType(SkPath::kEvenOdd_FillType);
1412 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1413 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1414 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1415 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1416 testSimplifyx(path);
1420 SkPath path;
1421 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1422 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1423 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1424 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1425 testSimplifyx(path);
1429 SkPath path;
1430 path.setFillType(SkPath::kEvenOdd_FillType);
1431 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1432 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1433 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1434 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1435 testSimplifyx(path);
1439 SkPath path;
1440 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1441 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1442 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1443 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1444 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1445 testSimplifyx(path);
1449 SkPath path;
1450 path.setFillType(SkPath::kEvenOdd_FillType);
1451 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1452 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1453 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1454 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1455 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1456 testSimplifyx(path);
1460 SkPath path;
1461 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1462 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1463 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1464 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1465 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1466 testSimplifyx(path);
1470 SkPath path;
1471 path.setFillType(SkPath::kEvenOdd_FillType);
1472 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1473 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1474 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1475 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1476 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1477 testSimplifyx(path);
1481 SkPath path;
1482 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1483 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1484 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1485 testSimplifyx(path);
1489 SkPath path;
1490 path.setFillType(SkPath::kEvenOdd_FillType);
1491 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1492 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1493 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1494 testSimplifyx(path);
1498 SkPath path;
1499 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1500 path.addRect(0, 24, 12, 12, SkPath::kCW_Direction);
1501 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1502 testSimplifyx(path);
1506 SkPath path;
1507 path.setFillType(SkPath::kEvenOdd_FillType);
1508 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1509 path.addRect(0, 24, 12, 12, SkPath::kCW_Direction);
1510 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1511 testSimplifyx(path);
1515 SkPath path;
1516 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1517 path.addRect(12, 0, 24, 24, SkPath::kCW_Direction);
1518 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1519 testSimplifyx(path);
1523 SkPath path;
1524 path.setFillType(SkPath::kEvenOdd_FillType);
1525 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1526 path.addRect(12, 0, 24, 24, SkPath::kCW_Direction);
1527 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1528 testSimplifyx(path);
1532 SkPath path;
1533 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1534 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1535 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1536 testSimplifyx(path);
1540 SkPath path;
1541 path.setFillType(SkPath::kEvenOdd_FillType);
1542 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1543 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1544 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1545 testSimplifyx(path);
1549 SkPath path;
1550 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1551 path.addRect(0, 40, 20, 20, SkPath::kCW_Direction);
1552 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1553 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
1554 testSimplifyx(path);
1558 SkPath path;
1559 path.setFillType(SkPath::kEvenOdd_FillType);
1560 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1561 path.addRect(0, 40, 20, 20, SkPath::kCW_Direction);
1562 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1563 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
1564 testSimplifyx(path);
1568 SkPath path;
1569 path.addRect(20, 30, 40, 40, SkPath::kCW_Direction);
1570 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1571 path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction);
1572 testSimplifyx(path);
1576 SkPath path;
1577 path.setFillType(SkPath::kEvenOdd_FillType);
1578 path.addRect(20, 30, 40, 40, SkPath::kCW_Direction);
1579 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1580 path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction);
1581 testSimplifyx(path);
1585 SkPath path;
1586 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1587 path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction);
1588 path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction);
1589 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1590 testSimplifyx(path);
1594 SkPath path;
1595 path.setFillType(SkPath::kEvenOdd_FillType);
1596 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1597 path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction);
1598 path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction);
1599 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1600 testSimplifyx(path);
1604 SkPath path;
1605 path.addRect(36, 0, 66, 60, SkPath::kCW_Direction);
1606 path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
1607 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1608 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1609 testSimplifyx(path);
1613 SkPath path;
1614 path.setFillType(SkPath::kEvenOdd_FillType);
1615 path.addRect(36, 0, 66, 60, SkPath::kCW_Direction);
1616 path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
1617 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1618 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1619 testSimplifyx(path);
1623 SkPath path;
1624 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1625 path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction);
1626 path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
1627 testSimplifyx(path);
1631 SkPath path;
1632 path.setFillType(SkPath::kEvenOdd_FillType);
1633 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1634 path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction);
1635 path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
1636 testSimplifyx(path);
1640 SkPath path;
1641 path.addRect(0, 0, 30, 60, SkPath::kCW_Direction);
1642 path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction);
1643 path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
1644 path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
1645 testSimplifyx(path);
1649 SkPath path;
1650 path.setFillType(SkPath::kEvenOdd_FillType);
1651 path.addRect(0, 0, 30, 60, SkPath::kCW_Direction);
1652 path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction);
1653 path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
1654 path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
1655 testSimplifyx(path);
1659 SkPath path;
1660 path.addRect(0, 36, 60, 30, SkPath::kCW_Direction);
1661 path.addRect(10, 30, 40, 30, SkPath::kCW_Direction);
1662 path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction);
1663 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1664 testSimplifyx(path);
1668 SkPath path;
1669 path.setFillType(SkPath::kEvenOdd_FillType);
1670 path.addRect(0, 36, 60, 30, SkPath::kCW_Direction);
1671 path.addRect(10, 30, 40, 30, SkPath::kCW_Direction);
1672 path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction);
1673 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1674 testSimplifyx(path);
1678 SkPath path;
1679 path.addRect(-1, -1, 3, 3, SkPath::kCW_Direction);
1680 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1681 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1682 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1683 path.addRect(1, 1, 2, 2, SkPath::kCCW_Direction);
1684 testSimplifyx(path);
1688 SkPath path;
1689 path.moveTo(0, 0);
1690 path.lineTo(0, 0);
1691 path.lineTo(2, 0);
1692 path.close();
1693 path.moveTo(0, 0);
1694 path.lineTo(1, 0);
1695 path.lineTo(2, 0);
1696 path.close();
1697 testSimplifyx(path);
1701 SkPath path;
1702 path.setFillType(SkPath::kEvenOdd_FillType);
1703 path.moveTo(0, 0);
1704 path.lineTo(0, 0);
1705 path.lineTo(2, 0);
1706 path.close();
1707 path.moveTo(0, 0);
1708 path.lineTo(1, 0);
1709 path.lineTo(2, 0);
1710 path.close();
1711 testSimplifyx(path);
1715 SkPath path;
1716 path.moveTo(0, 0);
1717 path.lineTo(0, 0);
1718 path.lineTo(0, 0);
1719 path.close();
1720 path.moveTo(0, 0);
1721 path.lineTo(1, 0);
1722 path.lineTo(0, 1);
1723 path.close();
1724 testSimplifyx(path);
1728 SkPath path;
1729 path.setFillType(SkPath::kEvenOdd_FillType);
1730 path.moveTo(0, 0);
1731 path.lineTo(0, 0);
1732 path.lineTo(0, 0);
1733 path.close();
1734 path.moveTo(0, 0);
1735 path.lineTo(1, 0);
1736 path.lineTo(0, 1);
1737 path.close();
1738 testSimplifyx(path);
1742 SkPath path;
1743 path.moveTo(0, 0);
1744 path.lineTo(2, 0);
1745 path.lineTo(1, 0);
1746 path.close();
1747 path.moveTo(0, 0);
1748 path.lineTo(0, 0);
1749 path.lineTo(3, 0);
1750 path.close();
1751 testSimplifyx(path);
1755 SkPath path;
1756 path.setFillType(SkPath::kEvenOdd_FillType);
1757 path.moveTo(0, 0);
1758 path.lineTo(2, 0);
1759 path.lineTo(1, 0);
1760 path.close();
1761 path.moveTo(0, 0);
1762 path.lineTo(0, 0);
1763 path.lineTo(3, 0);
1764 path.close();
1765 testSimplifyx(path);
1769 SkPath path;
1770 path.moveTo(0, 0);
1771 path.lineTo(1, 0);
1772 path.lineTo(1, 3);
1773 path.close();
1774 path.moveTo(1, 0);
1775 path.lineTo(1, 1);
1776 path.lineTo(1, 2);
1777 path.close();
1778 testSimplifyx(path);
1782 SkPath path;
1783 path.setFillType(SkPath::kEvenOdd_FillType);
1784 path.moveTo(0, 0);
1785 path.lineTo(1, 0);
1786 path.lineTo(1, 3);
1787 path.close();
1788 path.moveTo(1, 0);
1789 path.lineTo(1, 1);
1790 path.lineTo(1, 2);
1791 path.close();
1792 testSimplifyx(path);
1796 SkPath path;
1797 path.moveTo(0, 0);
1798 path.lineTo(3, 0);
1799 path.lineTo(1, 3);
1800 path.close();
1801 path.moveTo(1, 1);
1802 path.lineTo(2, 1);
1803 path.lineTo(1, 2);
1804 path.close();
1805 testSimplifyx(path);
1809 SkPath path;
1810 path.setFillType(SkPath::kEvenOdd_FillType);
1811 path.moveTo(0, 0);
1812 path.lineTo(3, 0);
1813 path.lineTo(1, 3);
1814 path.close();
1815 path.moveTo(1, 1);
1816 path.lineTo(2, 1);
1817 path.lineTo(1, 2);
1818 path.close();
1819 testSimplifyx(path);
1823 SkPath path;
1824 path.moveTo(1, 0);
1825 path.lineTo(0, 1);
1826 path.lineTo(1, 1);
1827 path.close();
1828 path.moveTo(0, 2);
1829 path.lineTo(0, 3);
1830 path.lineTo(1, 2);
1831 path.close();
1832 testSimplifyx(path);
1836 SkPath path;
1837 path.setFillType(SkPath::kEvenOdd_FillType);
1838 path.moveTo(1, 0);
1839 path.lineTo(0, 1);
1840 path.lineTo(1, 1);
1841 path.close();
1842 path.moveTo(0, 2);
1843 path.lineTo(0, 3);
1844 path.lineTo(1, 2);
1845 path.close();
1846 testSimplifyx(path);
1850 SkPath path;
1851 path.moveTo(0, 0);
1852 path.lineTo(1, 0);
1853 path.lineTo(2, 1);
1854 path.close();
1855 path.moveTo(0, 1);
1856 path.lineTo(1, 1);
1857 path.lineTo(0, 2);
1858 path.close();
1859 testSimplifyx(path);
1863 SkPath path;
1864 path.setFillType(SkPath::kEvenOdd_FillType);
1865 path.moveTo(0, 0);
1866 path.lineTo(1, 0);
1867 path.lineTo(2, 1);
1868 path.close();
1869 path.moveTo(0, 1);
1870 path.lineTo(1, 1);
1871 path.lineTo(0, 2);
1872 path.close();
1873 testSimplifyx(path);
1877 SkPath path;
1878 path.moveTo(1, 0);
1879 path.lineTo(0, 1);
1880 path.lineTo(1, 2);
1881 path.close();
1882 path.moveTo(0, 2);
1883 path.lineTo(0, 3);
1884 path.lineTo(1, 3);
1885 path.close();
1886 testSimplifyx(path);
1890 SkPath path;
1891 path.setFillType(SkPath::kEvenOdd_FillType);
1892 path.moveTo(1, 0);
1893 path.lineTo(0, 1);
1894 path.lineTo(1, 2);
1895 path.close();
1896 path.moveTo(0, 2);
1897 path.lineTo(0, 3);
1898 path.lineTo(1, 3);
1899 path.close();
1900 testSimplifyx(path);
1904 SkPath path;
1905 path.moveTo(0, 0);
1906 path.lineTo(0, 0);
1907 path.lineTo(1, 0);
1908 path.lineTo(1, 1);
1909 path.close();
1910 path.moveTo(0, 0);
1911 path.lineTo(2, 2);
1912 path.lineTo(3, 2);
1913 path.lineTo(3, 3);
1914 path.close();
1915 testSimplifyx(path);
1919 SkPath path;
1920 path.setFillType(SkPath::kEvenOdd_FillType);
1921 path.moveTo(0, 0);
1922 path.lineTo(0, 0);
1923 path.lineTo(1, 0);
1924 path.lineTo(1, 1);
1925 path.close();
1926 path.moveTo(0, 0);
1927 path.lineTo(2, 2);
1928 path.lineTo(3, 2);
1929 path.lineTo(3, 3);
1930 path.close();
1931 testSimplifyx(path);
1935 SkPath path;
1936 path.moveTo(0, 0);
1937 path.lineTo(0, 0);
1938 path.lineTo(1, 0);
1939 path.lineTo(1, 1);
1940 path.close();
1941 path.moveTo(1, 0);
1942 path.lineTo(2, 0);
1943 path.lineTo(0, 2);
1944 path.lineTo(2, 2);
1945 path.close();
1946 testSimplifyx(path);
1950 SkPath path;
1951 path.setFillType(SkPath::kEvenOdd_FillType);
1952 path.moveTo(0, 0);
1953 path.lineTo(0, 0);
1954 path.lineTo(1, 0);
1955 path.lineTo(1, 1);
1956 path.close();
1957 path.moveTo(1, 0);
1958 path.lineTo(2, 0);
1959 path.lineTo(0, 2);
1960 path.lineTo(2, 2);
1961 path.close();
1962 testSimplifyx(path);
1966 SkPath path;
1967 path.moveTo(0, 0);
1968 path.lineTo(1, 0);
1969 path.lineTo(1, 1);
1970 path.close();
1971 path.moveTo(1, 0);
1972 path.lineTo(2, 0);
1973 path.lineTo(1 + 1.0f/3, 2.0f/3);
1974 path.close();
1975 path.moveTo(1 + 1.0f/3, 2.0f/3);
1976 path.lineTo(0, 2);
1977 path.lineTo(2, 2);
1978 path.close();
1979 testSimplifyx(path);
1983 SkPath path;
1984 path.setFillType(SkPath::kEvenOdd_FillType);
1985 path.moveTo(0, 0);
1986 path.lineTo(1, 0);
1987 path.lineTo(1, 1);
1988 path.close();
1989 path.moveTo(1, 0);
1990 path.lineTo(2, 0);
1991 path.lineTo(1 + 1.0f/3, 2.0f/3);
1992 path.close();
1993 path.moveTo(1 + 1.0f/3, 2.0f/3);
1994 path.lineTo(0, 2);
1995 path.lineTo(2, 2);
1996 path.close();
1997 testSimplifyx(path);
2001 SkPath path;
2002 path.moveTo(0, 0);
2003 path.lineTo(3, 0);
2004 path.lineTo(3, 3);
2005 path.close();
2006 path.moveTo(3, 0);
2007 path.lineTo(6, 0);
2008 path.lineTo(4, 2);
2009 path.close();
2010 path.moveTo(4, 2);
2011 path.lineTo(0, 6);
2012 path.lineTo(6, 6);
2013 path.close();
2014 testSimplifyx(path);
2018 SkPath path;
2019 path.setFillType(SkPath::kEvenOdd_FillType);
2020 path.moveTo(0, 0);
2021 path.lineTo(3, 0);
2022 path.lineTo(3, 3);
2023 path.close();
2024 path.moveTo(3, 0);
2025 path.lineTo(6, 0);
2026 path.lineTo(4, 2);
2027 path.close();
2028 path.moveTo(4, 2);
2029 path.lineTo(0, 6);
2030 path.lineTo(6, 6);
2031 path.close();
2032 testSimplifyx(path);
2036 SkPath path;
2037 path.moveTo(0, 0);
2038 path.lineTo(3, 0);
2039 path.lineTo(3, 3);
2040 path.close();
2041 path.moveTo(3, 0);
2042 path.lineTo(6, 0);
2043 path.lineTo(4, 2);
2044 path.close();
2045 path.moveTo(4, 2);
2046 path.lineTo(6, 6);
2047 path.lineTo(0, 6);
2048 path.close();
2049 testSimplifyx(path);
2053 SkPath path;
2054 path.setFillType(SkPath::kEvenOdd_FillType);
2055 path.moveTo(0, 0);
2056 path.lineTo(3, 0);
2057 path.lineTo(3, 3);
2058 path.close();
2059 path.moveTo(3, 0);
2060 path.lineTo(6, 0);
2061 path.lineTo(4, 2);
2062 path.close();
2063 path.moveTo(4, 2);
2064 path.lineTo(6, 6);
2065 path.lineTo(0, 6);
2066 path.close();
2067 testSimplifyx(path);
2071 SkPath path;
2072 path.moveTo(0, 0);
2073 path.lineTo(3, 3);
2074 path.lineTo(3, 0);
2075 path.close();
2076 path.moveTo(3, 0);
2077 path.lineTo(6, 0);
2078 path.lineTo(4, 2);
2079 path.close();
2080 path.moveTo(4, 2);
2081 path.lineTo(0, 6);
2082 path.lineTo(6, 6);
2083 path.close();
2084 testSimplifyx(path);
2088 SkPath path;
2089 path.setFillType(SkPath::kEvenOdd_FillType);
2090 path.moveTo(0, 0);
2091 path.lineTo(3, 3);
2092 path.lineTo(3, 0);
2093 path.close();
2094 path.moveTo(3, 0);
2095 path.lineTo(6, 0);
2096 path.lineTo(4, 2);
2097 path.close();
2098 path.moveTo(4, 2);
2099 path.lineTo(0, 6);
2100 path.lineTo(6, 6);
2101 path.close();
2102 testSimplifyx(path);
2106 SkPath path;
2107 path.moveTo(0, 0);
2108 path.lineTo(3, 3);
2109 path.lineTo(3, 0);
2110 path.close();
2111 path.moveTo(3, 0);
2112 path.lineTo(6, 0);
2113 path.lineTo(4, 2);
2114 path.close();
2115 path.moveTo(4, 2);
2116 path.lineTo(6, 6);
2117 path.lineTo(0, 6);
2118 path.close();
2119 testSimplifyx(path);
2123 SkPath path;
2124 path.setFillType(SkPath::kEvenOdd_FillType);
2125 path.moveTo(0, 0);
2126 path.lineTo(3, 3);
2127 path.lineTo(3, 0);
2128 path.close();
2129 path.moveTo(3, 0);
2130 path.lineTo(6, 0);
2131 path.lineTo(4, 2);
2132 path.close();
2133 path.moveTo(4, 2);
2134 path.lineTo(6, 6);
2135 path.lineTo(0, 6);
2136 path.close();
2137 testSimplifyx(path);
2141 SkPath path;
2142 path.moveTo(0, 0);
2143 path.lineTo(0, 0);
2144 path.lineTo(3, 0);
2145 path.lineTo(3, 3);
2146 path.close();
2147 path.moveTo(3, 0);
2148 path.lineTo(6, 0);
2149 path.lineTo(0, 6);
2150 path.lineTo(6, 6);
2151 path.close();
2152 testSimplifyx(path);
2156 SkPath path;
2157 path.setFillType(SkPath::kEvenOdd_FillType);
2158 path.moveTo(0, 0);
2159 path.lineTo(0, 0);
2160 path.lineTo(3, 0);
2161 path.lineTo(3, 3);
2162 path.close();
2163 path.moveTo(3, 0);
2164 path.lineTo(6, 0);
2165 path.lineTo(0, 6);
2166 path.lineTo(6, 6);
2167 path.close();
2168 testSimplifyx(path);
2172 SkPath path;
2173 path.moveTo(0, 0);
2174 path.lineTo(0, 0);
2175 path.lineTo(1, 0);
2176 path.lineTo(2, 1);
2177 path.close();
2178 path.moveTo(1, 0);
2179 path.lineTo(1, 1);
2180 path.lineTo(2, 2);
2181 path.lineTo(1, 3);
2182 path.close();
2183 testSimplifyx(path);
2187 SkPath path;
2188 path.setFillType(SkPath::kEvenOdd_FillType);
2189 path.moveTo(0, 0);
2190 path.lineTo(0, 0);
2191 path.lineTo(1, 0);
2192 path.lineTo(2, 1);
2193 path.close();
2194 path.moveTo(1, 0);
2195 path.lineTo(1, 1);
2196 path.lineTo(2, 2);
2197 path.lineTo(1, 3);
2198 path.close();
2199 testSimplifyx(path);
2203 SkPath path;
2204 path.moveTo(0, 0);
2205 path.lineTo(3, 1);
2206 path.lineTo(1, 3);
2207 path.lineTo(3, 3);
2208 path.close();
2209 path.moveTo(2, 1);
2210 path.lineTo(0, 2);
2211 path.lineTo(3, 2);
2212 path.lineTo(2, 3);
2213 path.close();
2214 testSimplifyx(path);
2218 SkPath path;
2219 path.setFillType(SkPath::kEvenOdd_FillType);
2220 path.moveTo(0, 0);
2221 path.lineTo(3, 1);
2222 path.lineTo(1, 3);
2223 path.lineTo(3, 3);
2224 path.close();
2225 path.moveTo(2, 1);
2226 path.lineTo(0, 2);
2227 path.lineTo(3, 2);
2228 path.lineTo(2, 3);
2229 path.close();
2230 testSimplifyx(path);
2234 SkPath path;
2235 path.moveTo(0, 0);
2236 path.lineTo(1, 0);
2237 path.lineTo(1, 2);
2238 path.lineTo(2, 2);
2239 path.close();
2240 path.moveTo(1, 1);
2241 path.lineTo(2, 1);
2242 path.lineTo(1, 3);
2243 path.lineTo(2, 3);
2244 path.close();
2245 testSimplifyx(path);
2249 SkPath path;
2250 path.setFillType(SkPath::kEvenOdd_FillType);
2251 path.moveTo(0, 0);
2252 path.lineTo(1, 0);
2253 path.lineTo(1, 2);
2254 path.lineTo(2, 2);
2255 path.close();
2256 path.moveTo(1, 1);
2257 path.lineTo(2, 1);
2258 path.lineTo(1, 3);
2259 path.lineTo(2, 3);
2260 path.close();
2261 testSimplifyx(path);
2265 SkPath path;
2266 path.setFillType(SkPath::kWinding_FillType);
2267 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
2268 path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction);
2269 testSimplifyx(path);
2273 SkPath path;
2274 path.setFillType(SkPath::kEvenOdd_FillType);
2275 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
2276 path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction);
2277 testSimplifyx(path);
2281 SkPath path;
2282 path.setFillType(SkPath::kEvenOdd_FillType);
2283 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
2284 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
2285 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
2286 testSimplifyx(path);
2290 SkPath path;
2291 path.setFillType(SkPath::kEvenOdd_FillType);
2292 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
2293 path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
2294 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
2295 testSimplifyx(path);
2299 SkPath path;
2300 path.setFillType(SkPath::kEvenOdd_FillType);
2301 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
2302 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
2303 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
2304 testSimplifyx(path);
2308 SkPath path;
2309 path.moveTo(0, 0);
2310 path.quadTo(0, 0, 0, 0);
2311 path.lineTo(1, 0);
2312 path.close();
2313 path.moveTo(0, 0);
2314 path.lineTo(0, 0);
2315 path.quadTo(0, 0, 0, 0);
2316 path.close();
2317 testSimplifyx(path);
2321 SkPath path;
2322 path.setFillType(SkPath::kEvenOdd_FillType);
2323 path.moveTo(0, 0);
2324 path.quadTo(0, 0, 0, 0);
2325 path.lineTo(1, 0);
2326 path.close();
2327 path.moveTo(0, 0);
2328 path.lineTo(0, 0);
2329 path.quadTo(0, 0, 0, 0);
2330 path.close();
2331 testSimplifyx(path);
2335 SkPath path;
2336 path.moveTo(0, 0);
2337 path.quadTo(0, 0, 0, 0);
2338 path.lineTo(3, 0);
2339 path.close();
2340 path.moveTo(0, 0);
2341 path.lineTo(0, 0);
2342 path.quadTo(1, 0, 0, 1);
2343 path.close();
2344 testSimplifyx(path);
2348 SkPath path;
2349 path.setFillType(SkPath::kEvenOdd_FillType);
2350 path.moveTo(0, 0);
2351 path.quadTo(0, 0, 0, 0);
2352 path.lineTo(3, 0);
2353 path.close();
2354 path.moveTo(0, 0);
2355 path.lineTo(0, 0);
2356 path.quadTo(1, 0, 0, 1);
2357 path.close();
2358 testSimplifyx(path);
2362 SkPath path;
2363 path.moveTo(0, 0);
2364 path.quadTo(0, 0, 1, 0);
2365 path.lineTo(0, 2);
2366 path.close();
2367 path.moveTo(0, 0);
2368 path.lineTo(0, 0);
2369 path.quadTo(1, 0, 0, 1);
2370 path.close();
2371 testSimplifyx(path);
2375 SkPath path;
2376 path.setFillType(SkPath::kEvenOdd_FillType);
2377 path.moveTo(0, 0);
2378 path.quadTo(0, 0, 1, 0);
2379 path.lineTo(0, 2);
2380 path.close();
2381 path.moveTo(0, 0);
2382 path.lineTo(0, 0);
2383 path.quadTo(1, 0, 0, 1);
2384 path.close();
2385 testSimplifyx(path);
2389 SkPath path;
2390 path.moveTo(0, 0);
2391 path.quadTo(0, 0, 1, 0);
2392 path.lineTo(0, 2);
2393 path.close();
2394 path.moveTo(0, 0);
2395 path.lineTo(0, 0);
2396 path.quadTo(1, 0, 0, 2);
2397 path.close();
2398 testSimplifyx(path);
2402 SkPath path;
2403 path.setFillType(SkPath::kEvenOdd_FillType);
2404 path.moveTo(0, 0);
2405 path.quadTo(0, 0, 1, 0);
2406 path.lineTo(0, 2);
2407 path.close();
2408 path.moveTo(0, 0);
2409 path.lineTo(0, 0);
2410 path.quadTo(1, 0, 0, 2);
2411 path.close();
2412 testSimplifyx(path);
2416 SkPath path;
2417 path.moveTo(0, 0);
2418 path.quadTo(0, 0, 0, 0);
2419 path.lineTo(0, 1);
2420 path.close();
2421 path.moveTo(0, 0);
2422 path.lineTo(1, 0);
2423 path.quadTo(0, 1, 0, 2);
2424 path.close();
2425 testSimplifyx(path);
2429 SkPath path;
2430 path.moveTo(0, 0);
2431 path.quadTo(0, 0, 1, 0);
2432 path.lineTo(2, 1);
2433 path.close();
2434 path.moveTo(0, 0);
2435 path.lineTo(0, 0);
2436 path.quadTo(2, 0, 0, 1);
2437 path.close();
2438 testSimplifyx(path);
2442 SkPath path;
2443 path.moveTo(0, 0);
2444 path.quadTo(0, 0, 1, 0);
2445 path.lineTo(3, 1);
2446 path.close();
2447 path.moveTo(0, 0);
2448 path.lineTo(0, 0);
2449 path.quadTo(3, 0, 1, 2);
2450 path.close();
2451 testSimplifyx(path);
2455 SkPath path;
2456 path.moveTo(0, 0);
2457 path.quadTo(0, 0, 1, 0);
2458 path.lineTo(0, 2);
2459 path.close();
2460 path.moveTo(0, 0);
2461 path.lineTo(1, 0);
2462 path.quadTo(0, 1, 1, 2);
2463 path.close();
2464 testSimplifyx(path);
2468 SkPath path;
2469 path.moveTo(0, 0);
2470 path.quadTo(0, 0, 1, 0);
2471 path.lineTo(3, 1);
2472 path.close();
2473 path.moveTo(0, 0);
2474 path.lineTo(1, 0);
2475 path.quadTo(1, 2, 3, 2);
2476 path.close();
2477 testSimplifyx(path);
2481 SkPath path;
2482 path.moveTo(0, 0);
2483 path.quadTo(0, 0, 1, 0);
2484 path.lineTo(3, 2);
2485 path.close();
2486 path.moveTo(0, 0);
2487 path.lineTo(1, 0);
2488 path.quadTo(3, 2, 3, 3);
2489 path.close();
2490 testSimplifyx(path);
2494 SkPath path;
2495 path.moveTo(0, 0);
2496 path.quadTo(0, 0, 1, 0);
2497 path.lineTo(1, 3);
2498 path.close();
2499 path.moveTo(1, 0);
2500 path.lineTo(0, 1);
2501 path.quadTo(1, 1, 0, 3);
2502 path.close();
2503 testSimplifyx(path);
2507 SkPath path;
2508 path.setFillType(SkPath::kEvenOdd_FillType);
2509 path.moveTo(0, 0);
2510 path.quadTo(0, 0, 3, 1);
2511 path.lineTo(0, 2);
2512 path.close();
2513 path.moveTo(0, 0);
2514 path.lineTo(1, 0);
2515 path.quadTo(3, 1, 0, 2);
2516 path.close();
2517 testSimplifyx(path);
2521 SkPath path;
2522 path.moveTo(0, 0);
2523 path.quadTo(1, 0, 0, 1);
2524 path.lineTo(0, 1);
2525 path.close();
2526 path.moveTo(0, 0);
2527 path.lineTo(0, 0);
2528 path.quadTo(1, 0, 1, 1);
2529 path.close();
2530 testSimplifyx(path);
2534 SkPath path;
2535 path.moveTo(0, 0);
2536 path.quadTo(1, 0, 0, 1);
2537 path.lineTo(0, 1);
2538 path.close();
2539 path.moveTo(0, 0);
2540 path.lineTo(0, 0);
2541 path.quadTo(2, 0, 0, 1);
2542 path.close();
2543 testSimplifyx(path);
2547 SkPath path;
2548 path.moveTo(0, 0);
2549 path.quadTo(1, 0, 0, 1);
2550 path.lineTo(0, 1);
2551 path.close();
2552 path.moveTo(0, 0);
2553 path.lineTo(0, 0);
2554 path.quadTo(1, 0, 0, 1);
2555 path.close();
2556 testSimplifyx(path);
2560 SkPath path;
2561 path.moveTo(0, 0);
2562 path.quadTo(1, 0, 0, 1);
2563 path.lineTo(0, 1);
2564 path.close();
2565 path.moveTo(0, 0);
2566 path.lineTo(0, 0);
2567 path.quadTo(1, 0, 0, 2);
2568 path.close();
2569 testSimplifyx(path);
2573 SkPath path;
2574 path.moveTo(0, 0);
2575 path.quadTo(1, 0, 0, 1);
2576 path.lineTo(0, 1);
2577 path.close();
2578 path.moveTo(0, 0);
2579 path.lineTo(0, 0);
2580 path.quadTo(0, 1, 2, 1);
2581 path.close();
2582 testSimplifyx(path);
2586 SkPath path;
2587 path.moveTo(0, 0);
2588 path.quadTo(1, 0, 0, 1);
2589 path.lineTo(0, 1);
2590 path.close();
2591 path.moveTo(0, 0);
2592 path.lineTo(0, 0);
2593 path.quadTo(0, 2, 1, 2);
2594 path.close();
2595 testSimplifyx(path);
2599 SkPath path;
2600 path.moveTo(0, 0);
2601 path.quadTo(1, 0, 0, 1);
2602 path.lineTo(0, 1);
2603 path.close();
2604 path.moveTo(0, 0);
2605 path.lineTo(1, 0);
2606 path.quadTo(2, 0, 0, 1);
2607 path.close();
2608 testSimplifyx(path);
2612 SkPath path;
2613 path.moveTo(0, 0);
2614 path.quadTo(1, 0, 1, 1);
2615 path.lineTo(1, 1);
2616 path.close();
2617 path.moveTo(0, 0);
2618 path.lineTo(0, 0);
2619 path.quadTo(2, 1, 0, 2);
2620 path.close();
2621 testSimplifyx(path);
2625 SkPath path;
2626 path.moveTo(0, 0);
2627 path.quadTo(1, 0, 1, 1);
2628 path.lineTo(0, 2);
2629 path.close();
2630 path.moveTo(0, 0);
2631 path.lineTo(0, 0);
2632 path.quadTo(1, 0, 0, 1);
2633 path.close();
2634 testSimplifyx(path);
2638 SkPath path;
2639 path.moveTo(0, 0);
2640 path.quadTo(1, 0, 1, 1);
2641 path.lineTo(2, 1);
2642 path.close();
2643 path.moveTo(0, 0);
2644 path.lineTo(0, 0);
2645 path.quadTo(2, 1, 0, 2);
2646 path.close();
2647 testSimplifyx(path);
2651 SkPath path;
2652 path.moveTo(0, 0);
2653 path.quadTo(1, 0, 0, 1);
2654 path.lineTo(0, 1);
2655 path.close();
2656 path.moveTo(0, 0);
2657 path.lineTo(0, 2);
2658 path.quadTo(1, 2, 0, 3);
2659 path.close();
2660 testSimplifyx(path);
2664 SkPath path;
2665 path.moveTo(0, 0);
2666 path.quadTo(1, 0, 2, 1);
2667 path.lineTo(0, 2);
2668 path.close();
2669 path.moveTo(0, 0);
2670 path.lineTo(0, 0);
2671 path.quadTo(1, 0, 0, 1);
2672 path.close();
2673 testSimplifyx(path);
2677 SkPath path;
2678 path.moveTo(0, 0);
2679 path.quadTo(1, 0, 1, 2);
2680 path.lineTo(1, 2);
2681 path.close();
2682 path.moveTo(0, 0);
2683 path.lineTo(1, 0);
2684 path.quadTo(0, 1, 1, 2);
2685 path.close();
2686 testSimplifyx(path);
2690 SkPath path;
2691 path.moveTo(0, 0);
2692 path.quadTo(1, 0, 1, 2);
2693 path.lineTo(1, 2);
2694 path.close();
2695 path.moveTo(0, 0);
2696 path.lineTo(1, 0);
2697 path.quadTo(0, 1, 1, 3);
2698 path.close();
2699 testSimplifyx(path);
2703 SkPath path;
2704 path.moveTo(0, 0);
2705 path.quadTo(1, 0, 2, 3);
2706 path.lineTo(2, 3);
2707 path.close();
2708 path.moveTo(0, 0);
2709 path.lineTo(0, 0);
2710 path.quadTo(3, 1, 0, 2);
2711 path.close();
2712 testSimplifyx(path);
2716 SkPath path;
2717 path.moveTo(0, 0);
2718 path.quadTo(2, 0, 0, 1);
2719 path.lineTo(0, 1);
2720 path.close();
2721 path.moveTo(0, 0);
2722 path.lineTo(1, 1);
2723 path.quadTo(2, 1, 2, 2);
2724 path.close();
2725 testSimplifyx(path);
2729 SkPath path;
2730 path.moveTo(0, 0);
2731 path.quadTo(2, 0, 0, 1);
2732 path.lineTo(0, 1);
2733 path.close();
2734 path.moveTo(1, 0);
2735 path.lineTo(1, 1);
2736 path.quadTo(2, 1, 1, 2);
2737 path.close();
2738 testSimplifyx(path);
2742 SkPath path;
2743 path.moveTo(0, 0);
2744 path.quadTo(0, 1, 1, 1);
2745 path.lineTo(1, 3);
2746 path.close();
2747 path.moveTo(2, 0);
2748 path.lineTo(3, 0);
2749 path.quadTo(0, 1, 1, 1);
2750 path.close();
2751 testSimplifyx(path);
2755 SkPath path;
2756 path.moveTo(0, 0);
2757 path.quadTo(2, 1, 2, 3);
2758 path.lineTo(2, 3);
2759 path.close();
2760 path.moveTo(3, 1);
2761 path.lineTo(1, 2);
2762 path.quadTo(3, 2, 1, 3);
2763 path.close();
2764 testSimplifyx(path);
2768 SkPath path;
2769 path.moveTo(0, 0);
2770 path.quadTo(0, 2, 1, 2);
2771 path.lineTo(1, 2);
2772 path.close();
2773 path.moveTo(0, 0);
2774 path.lineTo(3, 1);
2775 path.quadTo(0, 2, 1, 2);
2776 path.close();
2777 testSimplifyx(path);
2781 SkPath path;
2782 path.moveTo(1, 0);
2783 path.quadTo(0, 1, 1, 1);
2784 path.lineTo(1, 1);
2785 path.close();
2786 path.moveTo(1, 0);
2787 path.lineTo(1, 2);
2788 path.quadTo(2, 2, 1, 3);
2789 path.close();
2790 testSimplifyx(path);
2794 SkPath path;
2795 path.moveTo(369.863983f, 145.645813f);
2796 path.quadTo(382.380371f, 121.254936f, 406.236359f, 121.254936f);
2797 path.lineTo(369.863983f, 145.645813f);
2798 path.close();
2799 path.moveTo(369.970581f, 137.94342f);
2800 path.quadTo(383.98465f, 121.254936f, 406.235992f, 121.254936f);
2801 path.lineTo(369.970581f, 137.94342f);
2802 path.close();
2803 testSimplifyx(path);
2807 SkPath path;
2808 path.moveTo(303.12088f, 141.299606f);
2809 path.lineTo(330.463562f, 217.659027f);
2810 path.lineTo(303.12088f, 141.299606f);
2811 path.close();
2812 path.moveTo(371.919067f, 205.854996f);
2813 path.lineTo(326.236786f, 205.854996f);
2814 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2815 path.lineTo(371.919067f, 205.854996f);
2816 path.close();
2817 testSimplifyx(path);
2820 SkPath path;
2821 path.moveTo(303.12088f, 141.299606f);
2822 path.lineTo(330.463562f, 217.659027f);
2823 path.lineTo(358.606506f, 141.299606f);
2824 path.lineTo(303.12088f, 141.299606f);
2825 path.close();
2826 path.moveTo(326.236786f, 205.854996f);
2827 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2828 path.lineTo(326.236786f, 205.854996f);
2829 path.close();
2830 testSimplifyx(path);
2834 SkPath path;
2835 path.moveTo(366.608826f, 151.196014f);
2836 path.quadTo(378.803101f, 136.674606f, 398.164948f, 136.674606f);
2837 path.lineTo(354.009216f, 208.816208f);
2838 path.lineTo(393.291473f, 102.232819f);
2839 path.lineTo(359.978058f, 136.581512f);
2840 path.quadTo(378.315979f, 136.581512f, 388.322723f, 149.613556f);
2841 path.lineTo(364.390686f, 157.898193f);
2842 path.quadTo(375.281769f, 136.674606f, 396.039917f, 136.674606f);
2843 path.lineTo(350, 120);
2844 path.lineTo(366.608826f, 151.196014f);
2845 path.close();
2846 testSimplifyx(path);
2850 SkPath path;
2851 path.moveTo(4, 0);
2852 path.lineTo(3, 7);
2853 path.lineTo(7, 5);
2854 path.lineTo(2, 2);
2855 path.close();
2856 path.moveTo(0, 6);
2857 path.lineTo(6, 12);
2858 path.lineTo(8, 3);
2859 path.close();
2860 testSimplifyx(path);
2864 SkPath path;
2865 path.moveTo(283.714233f, 240);
2866 path.lineTo(283.714233f, 141.299606f);
2867 path.lineTo(303.12088f, 141.299606f);
2868 path.lineTo(330.463562f, 217.659027f);
2869 path.lineTo(358.606506f, 141.299606f);
2870 path.lineTo(362.874634f, 159.705902f);
2871 path.lineTo(335.665344f, 233.397751f);
2872 path.lineTo(322.12738f, 233.397751f);
2873 path.lineTo(295.718353f, 159.505829f);
2874 path.lineTo(295.718353f, 240);
2875 path.lineTo(283.714233f, 240);
2876 path.close();
2877 path.moveTo(322.935669f, 231.030273f);
2878 path.quadTo(312.832214f, 220.393295f, 312.832214f, 203.454178f);
2879 path.quadTo(312.832214f, 186.981888f, 321.73526f, 176.444946f);
2880 path.quadTo(330.638306f, 165.90802f, 344.509705f, 165.90802f);
2881 path.quadTo(357.647522f, 165.90802f, 364.81665f, 175.244537f);
2882 path.lineTo(371.919067f, 205.854996f);
2883 path.lineTo(326.236786f, 205.854996f);
2884 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2885 path.lineTo(322.935669f, 231.030273f);
2886 path.close();
2887 path.moveTo(326.837006f, 195.984955f);
2888 path.lineTo(358.78125f, 195.984955f);
2889 path.quadTo(358.78125f, 175.778046f, 343.709442f, 175.778046f);
2890 path.quadTo(328.570923f, 175.778046f, 326.837006f, 195.984955f);
2891 path.close();
2892 testSimplifyx(path);
2896 SkPath path;
2897 path.setFillType(SkPath::kEvenOdd_FillType);
2898 path.moveTo(0, 0);
2899 path.quadTo(0, 0, 0, 0);
2900 path.lineTo(2, 2);
2901 path.close();
2902 path.moveTo(0, 0);
2903 path.lineTo(2, 0);
2904 path.quadTo(3, 1, 1, 2);
2905 path.close();
2906 testSimplifyx(path);
2910 SkPath path;
2911 path.setFillType(SkPath::kWinding_FillType);
2912 path.moveTo(0, 0);
2913 path.quadTo(0, 0, 0, 0);
2914 path.lineTo(2, 2);
2915 path.close();
2916 path.moveTo(0, 0);
2917 path.lineTo(2, 0);
2918 path.quadTo(3, 1, 1, 2);
2919 path.close();
2920 testSimplifyx(path);
2924 SkPath path;
2925 path.moveTo(0, 0);
2926 path.quadTo(0, 0, 0, 0);
2927 path.lineTo(3, 2);
2928 path.close();
2929 path.moveTo(1, 0);
2930 path.lineTo(2, 1);
2931 path.quadTo(2, 1, 2, 2);
2932 path.close();
2933 testSimplifyx(path);
2937 SkPath path;
2938 path.moveTo(0, 0);
2939 path.quadTo(0, 0, 0, 0);
2940 path.lineTo(2, 3);
2941 path.close();
2942 path.moveTo(1, 2);
2943 path.lineTo(2, 2);
2944 path.quadTo(0, 3, 3, 3);
2945 path.close();
2946 testSimplifyx(path);
2950 SkPath path;
2951 path.moveTo(0, 0);
2952 path.quadTo(0, 0, 0, 0);
2953 path.lineTo(3, 2);
2954 path.close();
2955 path.moveTo(2, 1);
2956 path.lineTo(2, 2);
2957 path.quadTo(0, 3, 1, 3);
2958 path.close();
2959 testSimplifyx(path);
2963 SkPath path;
2964 path.setFillType(SkPath::kEvenOdd_FillType);
2965 path.moveTo(0, 0);
2966 path.quadTo(0, 0, 2, 1);
2967 path.lineTo(2, 2);
2968 path.close();
2969 path.moveTo(0, 0);
2970 path.lineTo(2, 0);
2971 path.quadTo(1, 1, 3, 2);
2972 path.close();
2973 testSimplifyx(path);
2977 SkPath path;
2978 path.moveTo(0, 0);
2979 path.quadTo(1, 0, 0, 1);
2980 path.lineTo(1, 2);
2981 path.close();
2982 path.moveTo(0, 0);
2983 path.lineTo(0, 0);
2984 path.quadTo(0, 1, 2, 1);
2985 path.close();
2986 testSimplifyx(path);
2990 SkPath path;
2991 path.moveTo(0, 0);
2992 path.quadTo(0, 0, 0, 1);
2993 path.lineTo(3, 2);
2994 path.close();
2995 path.moveTo(2, 0);
2996 path.lineTo(1, 1);
2997 path.quadTo(3, 2, 2, 3);
2998 path.close();
2999 testSimplifyx(path);
3003 SkPath path;
3004 path.setFillType(SkPath::kEvenOdd_FillType);
3005 path.moveTo(0, 0);
3006 path.quadTo(1, 0, 0, 1);
3007 path.lineTo(1, 2);
3008 path.close();
3009 path.moveTo(0, 0);
3010 path.lineTo(0, 0);
3011 path.quadTo(0, 1, 2, 1);
3012 path.close();
3013 testSimplifyx(path);
3017 SkPath path;
3018 path.moveTo(0, 0);
3019 path.quadTo(1, 0, 1, 1);
3020 path.lineTo(3, 2);
3021 path.close();
3022 path.moveTo(0, 0);
3023 path.lineTo(0, 0);
3024 path.quadTo(1, 1, 3, 1);
3025 path.close();
3026 testSimplifyx(path);
3030 SkPath path;
3031 path.moveTo(0, 0);
3032 path.quadTo(1, 0, 1, 2);
3033 path.lineTo(1, 2);
3034 path.close();
3035 path.moveTo(0, 0);
3036 path.lineTo(1, 0);
3037 path.quadTo(0, 1, 3, 2);
3038 path.close();
3039 testSimplifyx(path);
3043 SkPath path;
3044 path.moveTo(0, 0);
3045 path.quadTo(1, 0, 0, 3);
3046 path.lineTo(0, 3);
3047 path.close();
3048 path.moveTo(0, 0);
3049 path.lineTo(1, 0);
3050 path.quadTo(0, 1, 1, 1);
3051 path.close();
3052 testSimplifyx(path);
3056 SkPath path;
3057 path.moveTo(0, 0);
3058 path.quadTo(1, 0, 1, 3);
3059 path.lineTo(1, 3);
3060 path.close();
3061 path.moveTo(0, 0);
3062 path.lineTo(0, 1);
3063 path.quadTo(3, 2, 2, 3);
3064 path.close();
3065 testSimplifyx(path);
3069 SkPath path;
3070 path.moveTo(0, 0);
3071 path.quadTo(1, 0, 1, 3);
3072 path.lineTo(2, 3);
3073 path.close();
3074 path.moveTo(0, 0);
3075 path.lineTo(0, 1);
3076 path.quadTo(3, 2, 2, 3);
3077 path.close();
3078 testSimplifyx(path);
3082 SkPath path;
3083 path.moveTo(0, 0);
3084 path.quadTo(0, 0, 0, 0);
3085 path.lineTo(2, 3);
3086 path.close();
3087 path.moveTo(1, 0);
3088 path.lineTo(1, 2);
3089 path.quadTo(1, 2, 2, 2);
3090 path.close();
3091 testSimplifyx(path);
3095 SkPath path;
3096 path.moveTo(0, 0);
3097 path.quadTo(1, 0, 1, 1);
3098 path.lineTo(3, 1);
3099 path.close();
3100 path.moveTo(0, 0);
3101 path.lineTo(1, 0);
3102 path.quadTo(0, 1, 3, 2);
3103 path.close();
3104 testSimplifyx(path);
3108 SkPath path;
3109 path.moveTo(0, 0);
3110 path.quadTo(1, 0, 1, 2);
3111 path.lineTo(3, 2);
3112 path.close();
3113 path.moveTo(0, 0);
3114 path.lineTo(0, 0);
3115 path.quadTo(2, 1, 0, 2);
3116 path.close();
3117 testSimplifyx(path);
3121 SkPath path;
3122 path.moveTo(0, 0);
3123 path.quadTo(1, 0, 1, 2);
3124 path.lineTo(3, 2);
3125 path.close();
3126 path.moveTo(0, 0);
3127 path.lineTo(1, 0);
3128 path.quadTo(0, 1, 3, 2);
3129 path.close();
3130 testSimplifyx(path);
3134 SkPath path;
3135 path.moveTo(0, 0);
3136 path.lineTo(2, 2);
3137 path.lineTo(0, 2);
3138 path.lineTo(2, 0);
3139 path.close();
3140 testSimplifyx(path);
3144 SkPath path;
3145 path.moveTo(0, 0);
3146 path.lineTo(2, 0);
3147 path.lineTo(0, 2);
3148 path.lineTo(2, 2);
3149 path.close();
3150 testSimplifyx(path);
3154 SkPath path;
3155 path.moveTo(0, 0);
3156 path.lineTo(0, 2);
3157 path.lineTo(2, 0);
3158 path.lineTo(2, 2);
3159 path.close();
3160 testSimplifyx(path);
3164 SkPath path;
3165 path.moveTo(0, 0);
3166 path.lineTo(2, 2);
3167 path.lineTo(2, 0);
3168 path.lineTo(0, 2);
3169 path.close();
3170 testSimplifyx(path);
3174 SkPath path;
3175 path.moveTo(1, 0);
3176 path.lineTo(1, 2);
3177 path.lineTo(0, 2);
3178 path.lineTo(2, 0);
3179 path.close();
3180 testSimplifyx(path);
3184 SkPath path;
3185 path.moveTo(1, 0);
3186 path.lineTo(2, 0);
3187 path.lineTo(0, 2);
3188 path.lineTo(1, 2);
3189 path.close();
3190 testSimplifyx(path);
3194 SkPath path;
3195 path.moveTo(0, 0);
3196 path.lineTo(0, 1);
3197 path.lineTo(2, 1);
3198 path.lineTo(2, 2);
3199 path.close();
3200 testSimplifyx(path);
3204 SkPath path;
3205 path.moveTo(0, 0);
3206 path.lineTo(2, 2);
3207 path.lineTo(2, 1);
3208 path.lineTo(0, 1);
3209 path.close();
3210 testSimplifyx(path);
3214 SkPath path;
3215 path.moveTo(1, 0);
3216 path.lineTo(1, 2);
3217 path.lineTo(2, 1);
3218 path.lineTo(0, 1);
3219 path.close();
3220 testSimplifyx(path);
3224 SkPath path;
3225 path.moveTo(1, 0);
3226 path.lineTo(0, 1);
3227 path.lineTo(2, 1);
3228 path.lineTo(1, 2);
3229 path.close();
3230 testSimplifyx(path);
3234 SkPath path;
3235 path.moveTo(0, 0);
3236 path.quadTo(1, 0, 2, 3);
3237 path.lineTo(2, 3);
3238 path.close();
3239 path.moveTo(1, 0);
3240 path.lineTo(3, 0);
3241 path.quadTo(0, 1, 1, 1);
3242 path.close();
3243 testSimplifyx(path);
3247 SkPath path;
3248 path.moveTo(0, 0);
3249 path.quadTo(2, 0, 1, 1);
3250 path.lineTo(1, 1);
3251 path.close();
3252 path.moveTo(0, 0);
3253 path.lineTo(0, 0);
3254 path.quadTo(2, 1, 0, 2);
3255 path.close();
3256 testSimplifyx(path);
3260 SkPath path;
3261 path.moveTo(0, 0);
3262 path.quadTo(2, 0, 1, 1);
3263 path.lineTo(0, 3);
3264 path.close();
3265 path.moveTo(0, 0);
3266 path.lineTo(0, 0);
3267 path.quadTo(2, 1, 0, 2);
3268 path.close();
3269 testSimplifyx(path);
3273 SkPath path;
3274 path.moveTo(0, 0);
3275 path.quadTo(0, 0, 2, 0);
3276 path.lineTo(2, 2);
3277 path.close();
3278 path.moveTo(0, 1);
3279 path.lineTo(0, 2);
3280 path.quadTo(2, 2, 1, 3);
3281 path.close();
3282 testSimplifyx(path);
3286 SkPath path;
3287 path.moveTo(0, 0);
3288 path.quadTo(2, 0, 1, 1);
3289 path.lineTo(2, 1);
3290 path.close();
3291 path.moveTo(1, 0);
3292 path.lineTo(2, 0);
3293 path.quadTo(0, 1, 2, 2);
3294 path.close();
3295 testSimplifyx(path);
3299 SkPath path;
3300 path.moveTo(0, 0);
3301 path.quadTo(3, 0, 1, 1);
3302 path.lineTo(1, 1);
3303 path.close();
3304 path.moveTo(1, 0);
3305 path.lineTo(3, 0);
3306 path.quadTo(0, 1, 1, 2);
3307 path.close();
3308 testSimplifyx(path);
3312 SkPath path;
3313 path.moveTo(0, 0);
3314 path.quadTo(0, 1, 1, 1);
3315 path.lineTo(2, 3);
3316 path.close();
3317 path.moveTo(0, 0);
3318 path.lineTo(0, 0);
3319 path.quadTo(1, 1, 1, 3);
3320 path.close();
3321 testSimplifyx(path);
3325 SkPath path;
3326 path.moveTo(0, 0);
3327 path.quadTo(2, 1, 0, 2);
3328 path.lineTo(2, 3);
3329 path.close();
3330 path.moveTo(0, 0);
3331 path.lineTo(1, 1);
3332 path.quadTo(0, 2, 3, 2);
3333 path.close();
3334 testSimplifyx(path);
3338 SkPath path;
3339 path.moveTo(0, 0);
3340 path.quadTo(2, 1, 0, 2);
3341 path.lineTo(2, 2);
3342 path.close();
3343 path.moveTo(1, 0);
3344 path.lineTo(1, 1);
3345 path.quadTo(0, 2, 2, 2);
3346 path.close();
3347 testSimplifyx(path);
3351 SkPath path;
3352 path.setFillType(SkPath::kEvenOdd_FillType);
3353 path.moveTo(0, 0);
3354 path.quadTo(3, 1, 2, 2);
3355 path.lineTo(0, 3);
3356 path.close();
3357 path.moveTo(0, 0);
3358 path.lineTo(2, 1);
3359 path.quadTo(3, 1, 3, 3);
3360 path.close();
3361 testSimplifyx(path);
3365 SkPath path;
3366 path.setFillType(SkPath::kEvenOdd_FillType);
3367 path.moveTo(0, 0);
3368 path.quadTo(3, 0, 2, 2);
3369 path.lineTo(1, 3);
3370 path.close();
3371 path.moveTo(0, 0);
3372 path.lineTo(0, 1);
3373 path.quadTo(3, 2, 2, 3);
3374 path.close();
3375 testSimplifyx(path);
3379 SkPath path;
3380 path.moveTo(0, 0);
3381 path.quadTo(3, 2, 2, 3);
3382 path.lineTo(2, 3);
3383 path.close();
3384 path.moveTo(0, 0);
3385 path.lineTo(1, 1);
3386 path.quadTo(2, 1, 2, 3);
3387 path.close();
3388 testSimplifyx(path);
3392 SkPath path;
3393 path.setFillType(SkPath::kEvenOdd_FillType);
3394 path.moveTo(1, 0);
3395 path.quadTo(3, 0, 2, 2);
3396 path.lineTo(2, 2);
3397 path.close();
3398 path.moveTo(2, 0);
3399 path.lineTo(0, 1);
3400 path.quadTo(3, 2, 2, 3);
3401 path.close();
3402 testSimplifyx(path);
3406 SkPath path;
3407 path.addRect(20, 0, 40, 40, SkPath::kCCW_Direction);
3408 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
3409 path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
3410 testSimplifyx(path);
3414 SkPath path;
3415 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3416 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3417 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3418 testSimplifyx(path);
3422 SkPath path;
3423 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3424 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3425 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3426 testSimplifyx(path);
3430 SkPath path;
3431 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3432 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3433 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3434 testSimplifyx(path);
3438 SkPath path;
3439 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3440 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3441 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3442 testSimplifyx(path);
3446 SkPath path;
3447 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3448 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3449 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3450 testSimplifyx(path);
3454 SkPath path;
3455 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3456 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3457 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3458 testSimplifyx(path);
3462 SkPath path;
3463 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3464 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3465 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3466 testSimplifyx(path);
3470 SkPath path;
3471 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3472 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3473 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3474 testSimplifyx(path);
3478 SkPath path;
3479 path.addRect(10, 30, 30, 40, SkPath::kCCW_Direction);
3480 path.addRect(0, 12, 12, 18, SkPath::kCCW_Direction);
3481 path.addRect(4, 13, 13, 16, SkPath::kCCW_Direction);
3482 testSimplifyx(path);
3486 SkPath path;
3487 path.addRect(0, 12, 60, 30, SkPath::kCCW_Direction);
3488 path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
3489 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
3490 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
3491 testSimplifyx(path);
3495 SkPath path;
3496 path.setFillType(SkPath::kEvenOdd_FillType);
3497 path.addRect(0, 12, 60, 30, SkPath::kCCW_Direction);
3498 path.addRect(10, 20, 40, 30, SkPath::kCCW_Direction);
3499 path.addRect(0, 12, 12, 12, SkPath::kCCW_Direction);
3500 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
3501 testSimplifyx(path);
3505 SkPath path;
3506 path.addRect(36, 0, 66, 60, SkPath::kCCW_Direction);
3507 path.addRect(20, 0, 40, 40, SkPath::kCCW_Direction);
3508 path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
3509 path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
3510 testSimplifyx(path);
3514 SkPath path;
3515 path.moveTo(0, 0);
3516 path.lineTo(0, 0);
3517 path.lineTo(0, 0);
3518 path.lineTo(3, 2);
3519 path.close();
3520 path.moveTo(0, 0);
3521 path.lineTo(2, 1);
3522 path.lineTo(2, 2);
3523 path.lineTo(2, 3);
3524 path.close();
3525 testSimplifyx(path);
3529 SkPath path;
3530 path.moveTo(0, 0);
3531 path.cubicTo(0, 1, 1, 1, 1, 0);
3532 path.close();
3533 path.moveTo(1, 0);
3534 path.cubicTo(0, 0, 0, 1, 1, 1);
3535 path.close();
3536 testSimplifyx(path);
3540 SkPath path;
3541 path.moveTo(3, 0);
3542 path.quadTo(0, 1, 3, 2);
3543 path.lineTo(0, 3);
3544 path.close();
3545 path.moveTo(1, 0);
3546 path.lineTo(2, 0);
3547 path.quadTo(1, 1, 2, 2);
3548 path.close();
3549 testSimplifyx(path);
3553 SkPath path, pathB;
3554 path.setFillType(SkPath::kWinding_FillType);
3555 path.moveTo(0,1);
3556 path.cubicTo(0,2, 1,0, 1,0);
3557 path.close();
3562 testShapeOp(path, pathB, kDifference_Op);
3566 SkPath path, pathB;
3567 path.setFillType(SkPath::kWinding_FillType);
3568 path.moveTo(0,2);
3569 path.cubicTo(0,1, 1,0, 1,0);
3570 path.close();
3575 testShapeOp(path, pathB, kDifference_Op);
3579 SkPath path, pathB;
3580 path.setFillType(SkPath::kWinding_FillType);
3581 path.moveTo(0,1);
3582 path.cubicTo(2,3, 1,0, 1,0);
3583 path.close();
3588 testShapeOp(path, pathB, kDifference_Op);
3592 SkPath path, pathB;
3593 path.setFillType(SkPath::kWinding_FillType);
3594 path.moveTo(0,1);
3595 path.cubicTo(0,2, 1,0, 2,0);
3596 path.close();
3601 testShapeOp(path, pathB, kDifference_Op);
3605 SkPath path, pathB;
3606 path.setFillType(SkPath::kWinding_FillType);
3607 path.moveTo(0,1);
3608 path.cubicTo(0,6, 1,0, 3,0);
3609 path.close();
3614 testShapeOp(path, pathB, kDifference_Op);
3618 SkPath path, pathB;
3619 path.setFillType(SkPath::kWinding_FillType);
3620 path.moveTo(0,1);
3621 path.cubicTo(3,4, 1,0, 3,0);
3622 path.close();
3627 testShapeOp(path, pathB, kDifference_Op);
3631 SkPath path, pathB;
3632 path.setFillType(SkPath::kWinding_FillType);
3633 path.moveTo(0,1);
3634 path.cubicTo(0,5, 1,0, 4,0);
3635 path.close();
3640 testShapeOp(path, pathB, kDifference_Op);
3644 SkPath path, pathB;
3645 path.setFillType(SkPath::kWinding_FillType);
3646 path.moveTo(0,1);
3647 path.cubicTo(1,6, 1,0, 2,1);
3648 path.close();
3653 testShapeOp(path, pathB, kDifference_Op);
3657 SkPath path, pathB;
3658 path.setFillType(SkPath::kWinding_FillType);
3659 path.moveTo(0,1);
3660 path.quadTo(1,6, 1.5f,1);
3661 path.quadTo(1.5f,0.5f, 2,1);
3662 path.close();
3668 testShapeOp(path, pathB, kDifference_Op);
3672 SkPath path, pathB;
3673 path.setFillType(SkPath::kWinding_FillType);
3674 path.moveTo(0,1);
3675 path.lineTo(1,6);
3676 path.lineTo(1.5f,1);
3677 path.lineTo(1.8f,0.8f);
3678 path.lineTo(2,1);
3679 path.close();
3687 testShapeOp(path, pathB, kDifference_Op);
3691 SkPath path, pathB;
3692 path.setFillType(SkPath::kWinding_FillType);
3693 path.moveTo(0,1);
3694 path.cubicTo(1,2, 1,0, 2,1);
3695 path.close();
3700 testShapeOp(path, pathB, kIntersect_Op);
3704 SkPath path, pathB;
3705 path.setFillType(SkPath::kWinding_FillType);
3706 path.moveTo(0,1);
3707 path.cubicTo(1,3, 1,0, 4,1);
3708 path.close();
3713 testShapeOp(path, pathB, kDifference_Op);
3717 SkPath path, pathB;
3718 path.setFillType(SkPath::kWinding_FillType);
3719 path.moveTo(0,1);
3720 path.cubicTo(3,4, 1,0, 5,1);
3721 path.close();
3726 testShapeOp(path, pathB, kDifference_Op);
3730 SkPath path, pathB;
3731 path.setFillType(SkPath::kWinding_FillType);
3732 path.moveTo(0,1);
3733 path.cubicTo(1,6, 1,0, 1,0);
3734 path.close();
3739 testShapeOp(path, pathB, kDifference_Op);
3743 SkPath path, pathB;
3744 path.setFillType(SkPath::kWinding_FillType);
3745 path.moveTo(0,1);
3746 path.cubicTo(4,5, 1,0, 5,3);
3747 path.close();
3752 testShapeOp(path, pathB, kDifference_Op);
3756 SkPath path, pathB;
3757 path.setFillType(SkPath::kWinding_FillType);
3758 path.moveTo(0,1);
3759 path.cubicTo(0,2, 2,0, 2,1);
3760 path.close();
3765 testShapeOp(path, pathB, kDifference_Op);
3769 SkPath path, pathB;
3770 path.setFillType(SkPath::kWinding_FillType);
3771 path.moveTo(0,1);
3772 path.cubicTo(3,6, 2,0, 2,1);
3773 path.close();
3778 testShapeOp(path, pathB, kDifference_Op);
3782 SkPath path, pathB;
3783 path.setFillType(SkPath::kWinding_FillType);
3784 path.moveTo(0,2);
3785 path.cubicTo(0,1, 3,0, 1,0);
3786 path.close();
3791 testShapeOp(path, pathB, kDifference_Op);
3795 SkPath path, pathB;
3796 path.setFillType(SkPath::kWinding_FillType);
3797 path.moveTo(0,2);
3798 path.cubicTo(0,2, 4,0, 2,1);
3799 path.close();
3804 testShapeOp(path, pathB, kDifference_Op);
3808 SkPath path, pathB;
3809 path.setFillType(SkPath::kWinding_FillType);
3810 path.moveTo(0,1);
3811 path.cubicTo(3,5, 2,0, 2,1);
3812 path.close();
3817 testShapeOp(path, pathB, kDifference_Op);
3821 SkPath path, pathB;
3822 path.setFillType(SkPath::kWinding_FillType);
3823 path.moveTo(0,2);
3824 path.cubicTo(0,1, 2,1, 6,2);
3825 path.close();
3830 testShapeOp(path, pathB, kIntersect_Op);
3834 SkPath path, pathB;
3835 path.setFillType(SkPath::kWinding_FillType);
3836 path.moveTo(0,1);
3837 path.cubicTo(0,1, 6,0, 2,1);
3838 path.close();
3843 testShapeOp(path, pathB, kDifference_Op);
3847 SkPath path, pathB;
3848 path.setFillType(SkPath::kWinding_FillType);
3849 path.moveTo(0,1);
3850 path.cubicTo(0,1, 2,1, 6,5);
3851 path.close();
3856 testShapeOp(path, pathB, kDifference_Op);
3860 SkPath path, pathB;
3861 path.setFillType(SkPath::kWinding_FillType);
3862 path.moveTo(0,1);
3863 path.cubicTo(2,3, 3,0, 2,1);
3864 path.close();
3869 testShapeOp(path, pathB, kDifference_Op);
3873 SkPath path, pathB;
3874 path.setFillType(SkPath::kWinding_FillType);
3875 path.moveTo(0,1);
3876 path.cubicTo(1,2, 4,0, 2,1);
3877 path.close();
3882 testShapeOp(path, pathB, kDifference_Op);
3886 SkPath path, pathB;
3887 path.setFillType(SkPath::kWinding_FillType);
3888 path.moveTo(0,1);
3889 path.cubicTo(1,2, 2,0, 3,2);
3890 path.close();
3895 testShapeOp(path, pathB, kDifference_Op);
3955 SkPath path, pathB;
3956 path.setFillType(SkPath::kWinding_FillType);
3957 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
3958 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
3962 testShapeOp(path, pathB, kDifference_Op);
3966 SkPath path, pathB;
3967 path.setFillType(SkPath::kWinding_FillType);
3968 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
3969 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
3973 testShapeOp(path, pathB, kDifference_Op);
3977 SkPath path, pathB;
3978 path.setFillType(SkPath::kWinding_FillType);
3979 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
3980 path.addRect(1, 1, 2, 2, SkPath::kCW_Direction);
3984 testShapeOp(path, pathB, kDifference_Op);
3988 SkPath path, pathB;
3989 path.setFillType(SkPath::kWinding_FillType);
3990 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
3991 path.addRect(0, 0, 3, 3, SkPath::kCW_Direction);
3995 testShapeOp(path, pathB, kUnion_Op);
3999 SkPath path, pathB;
4000 path.setFillType(SkPath::kWinding_FillType);
4001 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
4002 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
4006 testShapeOp(path, pathB, kDifference_Op);
4010 SkPath path, pathB;
4011 path.setFillType(SkPath::kEvenOdd_FillType);
4012 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
4013 path.addRect(0, 0, 3, 3, SkPath::kCW_Direction);
4017 testShapeOp(path, pathB, kDifference_Op);
4021 SkPath path, pathB;
4022 path.setFillType(SkPath::kEvenOdd_FillType);
4023 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
4024 path.addRect(0, 0, 3, 3, SkPath::kCW_Direction);
4028 testShapeOp(path, pathB, kDifference_Op);
4032 SkPath path, pathB;
4033 path.setFillType(SkPath::kEvenOdd_FillType);
4034 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
4035 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
4039 testShapeOp(path, pathB, kDifference_Op);
4043 SkPath path, pathB;
4044 path.setFillType(SkPath::kEvenOdd_FillType);
4045 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
4046 path.addRect(0, 0, 2, 2, SkPath::kCW_Direction);
4050 testShapeOp(path, pathB, kUnion_Op);
4054 SkPath path, pathB;
4055 path.addRect(0, 0, 640, 480);
4059 testShapeOp(path, pathB, kDifference_Op);
4062 SkPath path, pathB;
4063 path.setFillType(SkPath::kWinding_FillType);
4064 path.moveTo(0,1);
4065 path.cubicTo(2,4, 5,0, 3,2);
4066 path.close();
4071 testShapeOp(path, pathB, kIntersect_Op);
4075 SkPath path, pathB;
4076 path.setFillType(SkPath::kWinding_FillType);
4077 path.moveTo(0,1);
4078 path.cubicTo(3,4, 4,0, 3,2);
4079 path.close();
4084 testShapeOp(path, pathB, kDifference_Op);
4088 SkPath path, pathB;
4089 path.setFillType(SkPath::kWinding_FillType);
4090 path.moveTo(0,1);
4091 path.cubicTo(3,6, 1,0, 5,2);
4092 path.close();
4097 testShapeOp(path, pathB, kDifference_Op);
4101 SkPath path, pathB;
4102 path.setFillType(SkPath::kWinding_FillType);
4103 path.moveTo(0,1);
4104 path.cubicTo(1,4, 6,0, 3,2);
4105 path.close();
4110 testShapeOp(path, pathB, kUnion_Op);
4114 SkPath path, pathB;
4115 path.setFillType(SkPath::kWinding_FillType);
4116 path.moveTo(0,1);
4117 path.cubicTo(2,5, 6,0, 4,2);
4118 path.close();
4123 testShapeOp(path, pathB, kDifference_Op);
4127 SkPath path, pathB;
4128 path.setFillType(SkPath::kWinding_FillType);
4129 path.moveTo(0,1);
4130 path.cubicTo(2,5, 6,0, 5,3);
4131 path.close();
4136 testShapeOp(path, pathB, kDifference_Op);
4140 SkPath path, pathB;
4141 path.setFillType(SkPath::kWinding_FillType);
4142 path.moveTo(0,2);
4143 path.cubicTo(0,3, 2,1, 4,0);
4144 path.close();
4149 testShapeOp(path, pathB, kDifference_Op);
4153 SkPath path, pathB;
4154 path.setFillType(SkPath::kWinding_FillType);
4155 path.moveTo(0,2);
4156 path.cubicTo(0,3, 2,1, 4,0);
4157 path.close();
4162 testShapeOp(path, pathB, kUnion_Op);
4166 SkPath path, pathB;
4167 path.setFillType(SkPath::kWinding_FillType);
4168 path.moveTo(0,2);
4169 path.cubicTo(0,3, 2,1, 4,0);
4170 path.close();
4175 testShapeOp(path, pathB, kXor_Op);
4179 SkPath path;
4180 path.moveTo(0,2);
4181 path.cubicTo(0,3, 2,1, 4,0);
4182 path.close();
4183 path.moveTo(1,2);
4184 path.cubicTo(0,4, 2,0, 3,0);
4185 path.close();
4186 testSimplifyx(path);
4190 SkPath path, pathB;
4191 path.setFillType(SkPath::kWinding_FillType);
4192 path.moveTo(0,1);
4193 path.cubicTo(1,2, 6,0, 3,1);
4194 path.close();
4199 testShapeOp(path, pathB, kDifference_Op);
4203 SkPath path, pathB;
4204 path.setFillType(SkPath::kWinding_FillType);
4205 path.moveTo(0,1);
4206 path.cubicTo(1,2, 6,0, 3,1);
4207 path.close();
4212 testShapeOp(path, pathB, kIntersect_Op);
4216 SkPath path, pathB;
4217 path.setFillType(SkPath::kWinding_FillType);
4218 path.moveTo(0,1);
4219 path.cubicTo(3,5, 2,1, 3,1);
4220 path.close();
4225 testShapeOp(path, pathB, kDifference_Op);
4229 SkPath path, pathB;
4230 path.setFillType(SkPath::kWinding_FillType);
4231 path.moveTo(0,1);
4232 path.cubicTo(1,5, 2,1, 4,0);
4233 path.close();
4238 testShapeOp(path, pathB, kDifference_Op);
4242 SkPath path, pathB;
4243 path.setFillType(SkPath::kWinding_FillType);
4244 path.moveTo(0,1);
4245 path.cubicTo(1,6, 2,0, 5,1);
4246 path.close();
4251 testShapeOp(path, pathB, kUnion_Op);
4255 SkPath path, pathB;
4256 path.setFillType(SkPath::kWinding_FillType);
4257 path.moveTo(0,1);
4258 path.cubicTo(2,6, 6,1, 4,3);
4259 path.close();
4264 testShapeOp(path, pathB, kDifference_Op);
4274 SkPath path, pathB;
4275 path.setFillType(SkPath::kWinding_FillType);
4276 path.moveTo(0,1);
4277 path.cubicTo(0,6, 3,2, 4,1);
4278 path.close();
4283 testShapeOp(path, pathB, kDifference_Op);
4288 SkPath path, pathB;
4289 path.setFillType(SkPath::kWinding_FillType);
4290 path.moveTo(0,1);
4291 path.cubicTo(2,3, 5,1, 4,3);
4292 path.close();
4297 testShapeOp(path, pathB, kDifference_Op);
4301 SkPath path, pathB;
4302 path.setFillType(SkPath::kWinding_FillType);
4303 path.moveTo(0,1);
4304 path.cubicTo(1,5, 3,2, 4,2);
4305 path.close();
4310 testShapeOp(path, pathB, kDifference_Op);
4314 SkPath path, pathB;
4315 path.setFillType(SkPath::kWinding_FillType);
4316 path.moveTo(0,1);
4317 path.cubicTo(2,6, 4,3, 6,4);
4318 path.close();
4323 testShapeOp(path, pathB, kIntersect_Op);
4327 SkPath path, pathB;
4328 path.setFillType(SkPath::kWinding_FillType);
4329 path.moveTo(0,1);
4330 path.cubicTo(1,2, 6,5, 5,4);
4331 path.close();
4336 testShapeOp(path, pathB, kDifference_Op);
4340 SkPath path, pathB;
4341 path.setFillType(SkPath::kWinding_FillType);
4342 path.moveTo(0,2);
4343 path.cubicTo(1,2, 4,0, 3,1);
4344 path.close();
4349 testShapeOp(path, pathB, kDifference_Op);
4353 SkPath path, pathB;
4354 path.setFillType(SkPath::kWinding_FillType);
4355 path.moveTo(0,2);
4356 path.cubicTo(3,6, 4,0, 3,2);
4357 path.close();
4362 testShapeOp(path, pathB, kDifference_Op);
4366 SkPath path, pathB;
4367 path.setFillType(SkPath::kWinding_FillType);
4368 path.moveTo(0,2);
4369 path.cubicTo(2,4, 4,0, 3,2);
4370 path.close();
4375 testShapeOp(path, pathB, kDifference_Op);
4379 SkPath path, pathB;
4380 path.setFillType(SkPath::kWinding_FillType);
4381 path.moveTo(0,2);
4382 path.cubicTo(3,5, 5,0, 4,2);
4383 path.close();
4388 testShapeOp(path, pathB, kDifference_Op);
4392 SkPath path, pathB;
4393 path.setFillType(SkPath::kWinding_FillType);
4394 path.moveTo(0,1);
4395 path.cubicTo(1,6, 6,2, 5,4);
4396 path.close();
4401 testShapeOp(path, pathB, kDifference_Op);
4405 SkPath path, pathB;
4406 path.setFillType(SkPath::kWinding_FillType);
4407 path.moveTo(0,2);
4408 path.cubicTo(2,3, 5,1, 3,2);
4409 path.close();
4414 testShapeOp(path, pathB, kDifference_Op);
4418 SkPath path, pathB;
4419 path.setFillType(SkPath::kWinding_FillType);
4420 path.moveTo(0,2);
4421 path.cubicTo(1,5, 3,2, 4,1);
4422 path.close();
4427 testShapeOp(path, pathB, kDifference_Op);
4431 SkPath path, pathB;
4432 path.setFillType(SkPath::kWinding_FillType);
4433 path.moveTo(0,3);
4434 path.cubicTo(1,6, 5,0, 5,1);
4435 path.close();
4440 testShapeOp(path, pathB, kDifference_Op);
4444 SkPath path, pathB;
4445 path.setFillType(SkPath::kWinding_FillType);
4446 path.moveTo(0,3);
4447 path.cubicTo(1,2, 4,1, 6,0);
4448 path.close();
4453 testShapeOp(path, pathB, kDifference_Op);
4457 SkPath path, pathB;
4458 path.setFillType(SkPath::kWinding_FillType);
4459 path.moveTo(0,2);
4460 path.cubicTo(1,2, 5,4, 4,3);
4461 path.close();
4466 testShapeOp(path, pathB, kDifference_Op);
4470 SkPath path, pathB;
4471 path.setFillType(SkPath::kWinding_FillType);
4472 path.moveTo(0,3);
4473 path.cubicTo(1,2, 5,3, 2,1);
4474 path.close();
4479 testShapeOp(path, pathB, kDifference_Op);
4483 SkPath path, pathB;
4484 path.setFillType(SkPath::kWinding_FillType);
4485 path.moveTo(0,4);
4486 path.cubicTo(1,3, 5,4, 4,2);
4487 path.close();
4492 testShapeOp(path, pathB, kDifference_Op);
4496 SkPath path, pathB;
4497 path.setFillType(SkPath::kWinding_FillType);
4498 path.moveTo(0,5);
4499 path.cubicTo(1,3, 3,2, 5,0);
4500 path.close();
4505 testShapeOp(path, pathB, kDifference_Op);
4509 SkPath path, pathB;
4510 path.setFillType(SkPath::kWinding_FillType);
4511 path.moveTo(0,1);
4512 path.cubicTo(2,6, 5,0, 2,1);
4513 path.close();
4518 testShapeOp(path, pathB, kDifference_Op);
4522 SkPath path, pathB;
4523 path.setFillType(SkPath::kWinding_FillType);
4524 path.moveTo(0,5);
4525 path.cubicTo(0,5, 5,4, 6,4);
4526 path.close();
4531 testShapeOp(path, pathB, kDifference_Op);
4535 SkPath path, pathB;
4536 path.setFillType(SkPath::kWinding_FillType);
4537 path.moveTo(0,5);
4538 path.cubicTo(3,4, 6,5, 5,3);
4539 path.close();
4544 testShapeOp(path, pathB, kDifference_Op);
4548 SkPath path, pathB;
4549 path.setFillType(SkPath::kWinding_FillType);
4550 path.moveTo(0,1);
4551 path.cubicTo(5,6, 4,0, 4,1);
4552 path.close();
4557 testShapeOp(path, pathB, kDifference_Op);
4561 SkPath path, pathB;
4562 path.setFillType(SkPath::kWinding_FillType);
4563 path.moveTo(0,2);
4564 path.cubicTo(4,6, 6,0, 5,2);
4565 path.close();
4570 testShapeOp(path, pathB, kDifference_Op);
4574 SkPath path, pathB;
4575 path.setFillType(SkPath::kWinding_FillType);
4576 path.moveTo(1,2);
4577 path.cubicTo(0,5, 3,2, 6,1);
4578 path.close();
4583 testShapeOp(path, pathB, kDifference_Op);
4587 SkPath path, pathB;
4588 path.setFillType(SkPath::kWinding_FillType);
4589 path.moveTo(1,3);
4590 path.cubicTo(5,6, 5,3, 5,4);
4591 path.close();
4596 testShapeOp(path, pathB, kDifference_Op);
4600 SkPath path, pathB;
4601 path.setFillType(SkPath::kWinding_FillType);
4602 path.moveTo(2,3);
4603 path.cubicTo(0,4, 3,2, 5,3);
4604 path.close();
4609 testShapeOp(path, pathB, kDifference_Op);
4613 SkPath path;
4614 path.moveTo(0,0);
4615 path.quadTo(0,0, 0,1);
4616 path.lineTo(1,1);
4617 path.close();
4618 path.moveTo(0,0);
4619 path.quadTo(1,1, 0,2);
4620 path.close();
4621 testSimplifyx(path);
4625 SkPath path;
4626 path.moveTo(0,0);
4627 path.quadTo(0,0, 0,1);
4628 path.lineTo(1,1);
4629 path.close();
4630 path.moveTo(0,0);
4631 path.lineTo(0.5f,1);
4632 path.lineTo(0,2);
4633 path.close();
4634 testSimplifyx(path);
4638 SkPath path;
4639 path.moveTo(0,0);
4640 path.quadTo(0,0, 0,1);
4641 path.lineTo(1,1);
4642 path.close();
4643 path.moveTo(0,0);
4644 path.cubicTo(0.5f,0.5f, 0.5f,1.5f, 0,2);
4645 path.close();
4646 testSimplifyx(path);
4650 SkPath path, pathB;
4651 path.moveTo(0,1);
4652 path.cubicTo(0,1, 1,0, 3,0);
4653 path.lineTo(0,1);
4654 path.close();
4659 testShapeOp(path, pathB, kDifference_Op);
4663 SkPath path, pathB;
4664 path.setFillType(SkPath::kWinding_FillType);
4665 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
4666 path.addRect(2, 2, 3, 3, SkPath::kCW_Direction);
4670 testShapeOp(path, pathB, kDifference_Op);