Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: tests/PathOpsSkpTest.cpp

Issue 1037573004: cumulative pathops patch (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix pathopsinverse gm Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsSimplifyTest.cpp ('k') | tests/PathOpsTSectDebug.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 8
9 #define TEST(name) { name, #name } 9 #define TEST(name) { name, #name }
10 10
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 pathB.cubicTo(717.766663f, 416.906738f, 720.162537f, 415.845551f, 722.354797 f, 414.073608f); 359 pathB.cubicTo(717.766663f, 416.906738f, 720.162537f, 415.845551f, 722.354797 f, 414.073608f);
360 pathB.cubicTo(724.059875f, 412.69397f, 726.55957f, 410.981903f, 730.675537f, 410.124359f); 360 pathB.cubicTo(724.059875f, 412.69397f, 726.55957f, 410.981903f, 730.675537f, 410.124359f);
361 pathB.cubicTo(729.75708f, 409.143066f, 729.213013f, 407.993042f, 729.213013f , 406.683289f); 361 pathB.cubicTo(729.75708f, 409.143066f, 729.213013f, 407.993042f, 729.213013f , 406.683289f);
362 pathB.cubicTo(729.213013f, 399.630402f, 729.209045f, 396.103455f, 729.209045 f, 389.047546f); 362 pathB.cubicTo(729.213013f, 399.630402f, 729.209045f, 396.103455f, 729.209045 f, 389.047546f);
363 pathB.cubicTo(729.209045f, 387.648956f, 730.577698f, 385.292023f, 730.583679 f, 385.149261f); 363 pathB.cubicTo(729.209045f, 387.648956f, 730.577698f, 385.292023f, 730.583679 f, 385.149261f);
364 pathB.cubicTo(730.583679f, 385.149261f, 720.888306f, 378.762207f, 719.609497 f, 378.947906f); 364 pathB.cubicTo(730.583679f, 385.149261f, 720.888306f, 378.762207f, 719.609497 f, 378.947906f);
365 pathB.cubicTo(719.275085f, 378.996826f, 717.872498f, 381.118164f, 716.868225 f, 381.896851f); 365 pathB.cubicTo(719.275085f, 378.996826f, 717.872498f, 381.118164f, 716.868225 f, 381.896851f);
366 pathB.lineTo(716.868225f, 365.046783f); 366 pathB.lineTo(716.868225f, 365.046783f);
367 pathB.cubicTo(716.868225f, 363.740021f, 716.960083f, 363.043213f, 717.597961 f, 362); 367 pathB.cubicTo(716.868225f, 363.740021f, 716.960083f, 363.043213f, 717.597961 f, 362);
368 pathB.cubicTo(715.331848f, 363.104095f, 714.19873f, 363.657166f, 711.928711f , 364.782227f); 368 pathB.cubicTo(715.331848f, 363.104095f, 714.19873f, 363.657166f, 711.928711f , 364.782227f);
369 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 369 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
370 } 370 }
371 371
372 static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const char* filename) { 372 static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const char* filename) {
373 SkPath path; 373 SkPath path;
374 path.setFillType(SkPath::kEvenOdd_FillType); 374 path.setFillType(SkPath::kEvenOdd_FillType);
375 path.moveTo(1074.29285f, 627.292786f); 375 path.moveTo(1074.29285f, 627.292786f);
376 path.quadTo(1074.58582f, 627, 1075, 627); 376 path.quadTo(1074.58582f, 627, 1075, 627);
377 path.lineTo(1117, 627); 377 path.lineTo(1117, 627);
378 path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f); 378 path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f);
379 path.quadTo(1134, 636.958374f, 1134, 644); 379 path.quadTo(1134, 636.958374f, 1134, 644);
(...skipping 13 matching lines...) Expand all
393 path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660); 393 path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660);
394 path.lineTo(1076, 660); 394 path.lineTo(1076, 660);
395 path.lineTo(1076, 629); 395 path.lineTo(1076, 629);
396 path.close(); 396 path.close();
397 SkPath pathB; 397 SkPath pathB;
398 pathB.setFillType(SkPath::kWinding_FillType); 398 pathB.setFillType(SkPath::kWinding_FillType);
399 pathB.moveTo(1074, 627); 399 pathB.moveTo(1074, 627);
400 pathB.lineTo(1075, 628); 400 pathB.lineTo(1075, 628);
401 pathB.lineTo(1116.5f, 644.5f); 401 pathB.lineTo(1116.5f, 644.5f);
402 pathB.lineTo(1134, 627); 402 pathB.lineTo(1134, 627);
403 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 403 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
404 } 404 }
405 405
406 static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) { 406 static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) {
407 SkPath path; 407 SkPath path;
408 path.setFillType(SkPath::kEvenOdd_FillType); 408 path.setFillType(SkPath::kEvenOdd_FillType);
409 path.moveTo(301.464081f, 424); 409 path.moveTo(301.464081f, 424);
410 path.lineTo(296, 433.46405f); 410 path.lineTo(296, 433.46405f);
411 path.lineTo(296, 433.810822f); 411 path.lineTo(296, 433.810822f);
412 path.lineTo(303.25589f, 438); 412 path.lineTo(303.25589f, 438);
413 path.lineTo(304.729736f, 438); 413 path.lineTo(304.729736f, 438);
414 path.lineTo(311, 427.139557f); 414 path.lineTo(311, 427.139557f);
415 path.lineTo(311, 426.305237f); 415 path.lineTo(311, 426.305237f);
416 path.lineTo(307.007202f, 424); 416 path.lineTo(307.007202f, 424);
417 path.lineTo(301.464081f, 424); 417 path.lineTo(301.464081f, 424);
418 path.close(); 418 path.close();
419 SkPath pathB; 419 SkPath pathB;
420 pathB.setFillType(SkPath::kWinding_FillType); 420 pathB.setFillType(SkPath::kWinding_FillType);
421 pathB.moveTo(302.849854f, 421.599762f); 421 pathB.moveTo(302.849854f, 421.599762f);
422 pathB.lineTo(311.510101f, 426.599762f); 422 pathB.lineTo(311.510101f, 426.599762f);
423 pathB.lineTo(304.510101f, 438.724121f); 423 pathB.lineTo(304.510101f, 438.724121f);
424 pathB.lineTo(295.849854f, 433.724121f); 424 pathB.lineTo(295.849854f, 433.724121f);
425 pathB.close(); 425 pathB.close();
426 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 426 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
427 } 427 }
428 428
429 static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename) { 429 static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename) {
430 SkPath path; 430 SkPath path;
431 path.setFillType(SkPath::kEvenOdd_FillType); 431 path.setFillType(SkPath::kEvenOdd_FillType);
432 path.moveTo(818, 157); 432 path.moveTo(818, 157);
433 path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142); 433 path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142);
434 path.lineTo(909, 142); 434 path.lineTo(909, 142);
435 path.lineTo(909, 143); 435 path.lineTo(909, 143);
436 path.lineTo(833, 143); 436 path.lineTo(833, 143);
(...skipping 11 matching lines...) Expand all
448 path.lineTo(1170, 143); 448 path.lineTo(1170, 143);
449 path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157); 449 path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157);
450 path.lineTo(1184, 926); 450 path.lineTo(1184, 926);
451 path.close(); 451 path.close();
452 SkPath pathB; 452 SkPath pathB;
453 pathB.setFillType(SkPath::kWinding_FillType); 453 pathB.setFillType(SkPath::kWinding_FillType);
454 pathB.moveTo(1185, 142); 454 pathB.moveTo(1185, 142);
455 pathB.lineTo(1001.5f, 325.5f); 455 pathB.lineTo(1001.5f, 325.5f);
456 pathB.lineTo(1001.5f, 782.5f); 456 pathB.lineTo(1001.5f, 782.5f);
457 pathB.lineTo(1185, 966); 457 pathB.lineTo(1185, 966);
458 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 458 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
459 } 459 }
460 460
461 static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* fi lename) { 461 static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* fi lename) {
462 SkPath path; 462 SkPath path;
463 path.setFillType(SkPath::kEvenOdd_FillType); 463 path.setFillType(SkPath::kEvenOdd_FillType);
464 path.moveTo(540.74231f, 215.922546f); 464 path.moveTo(540.74231f, 215.922546f);
465 path.cubicTo(540.893127f, 215.391159f, 541.443909f, 215.090134f, 541.972473f , 215.250168f); 465 path.cubicTo(540.893127f, 215.391159f, 541.443909f, 215.090134f, 541.972473f , 215.250168f);
466 path.lineTo(581.213318f, 227.131104f); 466 path.lineTo(581.213318f, 227.131104f);
467 path.cubicTo(581.741882f, 227.291153f, 582.048157f, 227.851654f, 581.897339f , 228.383041f); 467 path.cubicTo(581.741882f, 227.291153f, 582.048157f, 227.851654f, 581.897339f , 228.383041f);
468 path.lineTo(576.708923f, 246.663925f); 468 path.lineTo(576.708923f, 246.663925f);
469 path.cubicTo(576.558167f, 247.195297f, 576.007324f, 247.496338f, 575.47876f, 247.336288f); 469 path.cubicTo(576.558167f, 247.195297f, 576.007324f, 247.496338f, 575.47876f, 247.336288f);
470 path.lineTo(536.237915f, 235.455353f); 470 path.lineTo(536.237915f, 235.455353f);
471 path.cubicTo(535.709351f, 235.295319f, 535.403137f, 234.734802f, 535.553894f , 234.20343f); 471 path.cubicTo(535.709351f, 235.295319f, 535.403137f, 234.734802f, 535.553894f , 234.20343f);
472 path.lineTo(540.74231f, 215.922546f); 472 path.lineTo(540.74231f, 215.922546f);
473 path.close(); 473 path.close();
474 SkPath pathB; 474 SkPath pathB;
475 pathB.setFillType(SkPath::kWinding_FillType); 475 pathB.setFillType(SkPath::kWinding_FillType);
476 pathB.moveTo(541.015381f, 214.960388f); 476 pathB.moveTo(541.015381f, 214.960388f);
477 pathB.lineTo(582.17041f, 227.420883f); 477 pathB.lineTo(582.17041f, 227.420883f);
478 pathB.lineTo(576.435852f, 247.626068f); 478 pathB.lineTo(576.435852f, 247.626068f);
479 pathB.lineTo(535.280823f, 235.165573f); 479 pathB.lineTo(535.280823f, 235.165573f);
480 pathB.close(); 480 pathB.close();
481 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 481 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
482 } 482 }
483 483
484 static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) { 484 static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) {
485 SkPath path; 485 SkPath path;
486 path.setFillType(SkPath::kEvenOdd_FillType); 486 path.setFillType(SkPath::kEvenOdd_FillType);
487 path.moveTo(33, 787); 487 path.moveTo(33, 787);
488 path.lineTo(33, 412); 488 path.lineTo(33, 412);
489 path.lineTo(1233, 412); 489 path.lineTo(1233, 412);
490 path.lineTo(1233, 787); 490 path.lineTo(1233, 787);
491 path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f); 491 path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f);
492 path.quadTo(1224.21326f, 802, 1218, 802); 492 path.quadTo(1224.21326f, 802, 1218, 802);
493 path.lineTo(48, 802); 493 path.lineTo(48, 802);
494 path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f); 494 path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f);
495 path.quadTo(33, 793.213196f, 33, 787); 495 path.quadTo(33, 793.213196f, 33, 787);
496 path.close(); 496 path.close();
497 SkPath pathB; 497 SkPath pathB;
498 pathB.setFillType(SkPath::kWinding_FillType); 498 pathB.setFillType(SkPath::kWinding_FillType);
499 pathB.moveTo(33, 412); 499 pathB.moveTo(33, 412);
500 pathB.lineTo(1233, 412); 500 pathB.lineTo(1233, 412);
501 pathB.lineTo(1233, 787); 501 pathB.lineTo(1233, 787);
502 pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f); 502 pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f);
503 pathB.quadTo(1224.21313f, 802, 1218, 802); 503 pathB.quadTo(1224.21313f, 802, 1218, 802);
504 pathB.lineTo(48, 802); 504 pathB.lineTo(48, 802);
505 pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f); 505 pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f);
506 pathB.quadTo(33, 793.213196f, 33, 787); 506 pathB.quadTo(33, 793.213196f, 33, 787);
507 pathB.close(); 507 pathB.close();
508 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 508 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
509 } 509 }
510 510
511 static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* fi lename) { 511 static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* fi lename) {
512 SkPath path; 512 SkPath path;
513 path.setFillType(SkPath::kEvenOdd_FillType); 513 path.setFillType(SkPath::kEvenOdd_FillType);
514 path.moveTo(808, 886); 514 path.moveTo(808, 886);
515 path.cubicTo(805.581055f, 886, 803.563293f, 887.717773f, 803.100037f, 890); 515 path.cubicTo(805.581055f, 886, 803.563293f, 887.717773f, 803.100037f, 890);
516 path.lineTo(1122.90002f, 890); 516 path.lineTo(1122.90002f, 890);
517 path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886); 517 path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886);
518 path.lineTo(808, 886); 518 path.lineTo(808, 886);
519 path.close(); 519 path.close();
520 SkPath pathB; 520 SkPath pathB;
521 pathB.setFillType(SkPath::kInverseWinding_FillType); 521 pathB.setFillType(SkPath::kInverseWinding_FillType);
522 pathB.moveTo(808, 886); 522 pathB.moveTo(808, 886);
523 pathB.lineTo(1118, 886); 523 pathB.lineTo(1118, 886);
524 pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891); 524 pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891);
525 pathB.lineTo(1123, 1521); 525 pathB.lineTo(1123, 1521);
526 pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525); 526 pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525);
527 pathB.lineTo(808, 1525); 527 pathB.lineTo(808, 1525);
528 pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521); 528 pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521);
529 pathB.lineTo(803, 891); 529 pathB.lineTo(803, 891);
530 pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886); 530 pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886);
531 pathB.close(); 531 pathB.close();
532 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 532 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
533 } 533 }
534 534
535 static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename) { 535 static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename) {
536 SkPath path; 536 SkPath path;
537 path.setFillType(SkPath::kEvenOdd_FillType); 537 path.setFillType(SkPath::kEvenOdd_FillType);
538 path.moveTo(184, 734); 538 path.moveTo(184, 734);
539 path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f); 539 path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f);
540 path.quadTo(61, 806.051758f, 61, 857); 540 path.quadTo(61, 806.051758f, 61, 857);
541 path.quadTo(61, 895.835083f, 81.9317017f, 926); 541 path.quadTo(61, 895.835083f, 81.9317017f, 926);
542 path.lineTo(286.068298f, 926); 542 path.lineTo(286.068298f, 926);
543 path.quadTo(307, 895.835083f, 307, 857); 543 path.quadTo(307, 895.835083f, 307, 857);
544 path.quadTo(307, 806.051758f, 270.974121f, 770.025879f); 544 path.quadTo(307, 806.051758f, 270.974121f, 770.025879f);
545 path.quadTo(234.948273f, 734, 184, 734); 545 path.quadTo(234.948273f, 734, 184, 734);
546 path.close(); 546 path.close();
547 SkPath pathB; 547 SkPath pathB;
548 pathB.setFillType(SkPath::kWinding_FillType); 548 pathB.setFillType(SkPath::kWinding_FillType);
549 pathB.moveTo(185, 734); 549 pathB.moveTo(185, 734);
550 pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857); 550 pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857);
551 pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980); 551 pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980);
552 pathB.lineTo(184, 980); 552 pathB.lineTo(184, 980);
553 pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857); 553 pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857);
554 pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734); 554 pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734);
555 pathB.lineTo(185, 734); 555 pathB.lineTo(185, 734);
556 pathB.close(); 556 pathB.close();
557 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 557 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
558 } 558 }
559 559
560 static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filen ame) { 560 static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filen ame) {
561 SkPath path; 561 SkPath path;
562 path.setFillType(SkPath::kEvenOdd_FillType); 562 path.setFillType(SkPath::kEvenOdd_FillType);
563 path.moveTo(363, 493); 563 path.moveTo(363, 493);
564 path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497); 564 path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497);
565 path.lineTo(359, 656); 565 path.lineTo(359, 656);
566 path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660); 566 path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660);
567 path.lineTo(623.001709f, 660); 567 path.lineTo(623.001709f, 660);
568 path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657); 568 path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657);
569 path.lineTo(626, 496); 569 path.lineTo(626, 496);
570 path.cubicTo(626, 494.343872f, 624.657959f, 493.00116f, 623.002075f, 493); 570 path.cubicTo(626, 494.343872f, 624.657959f, 493.00116f, 623.002075f, 493);
571 path.lineTo(363, 493); 571 path.lineTo(363, 493);
572 path.close(); 572 path.close();
573 SkPath pathB; 573 SkPath pathB;
574 pathB.setFillType(SkPath::kInverseWinding_FillType); 574 pathB.setFillType(SkPath::kInverseWinding_FillType);
575 pathB.moveTo(362, 494); 575 pathB.moveTo(362, 494);
576 pathB.lineTo(623, 494); 576 pathB.lineTo(623, 494);
577 pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496); 577 pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496);
578 pathB.lineTo(626, 657); 578 pathB.lineTo(626, 657);
579 pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660); 579 pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660);
580 pathB.lineTo(362, 660); 580 pathB.lineTo(362, 660);
581 pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657); 581 pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657);
582 pathB.lineTo(359, 496); 582 pathB.lineTo(359, 496);
583 pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494); 583 pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494);
584 pathB.close(); 584 pathB.close();
585 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 585 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
586 } 586 }
587 587
588 static void skpsciality_com161(skiatest::Reporter* reporter, const char* filenam e) { 588 static void skpsciality_com161(skiatest::Reporter* reporter, const char* filenam e) {
589 SkPath path; 589 SkPath path;
590 path.setFillType(SkPath::kEvenOdd_FillType); 590 path.setFillType(SkPath::kEvenOdd_FillType);
591 path.moveTo(656, 728); 591 path.moveTo(656, 728);
592 path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732); 592 path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732);
593 path.lineTo(652, 789); 593 path.lineTo(652, 789);
594 path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793); 594 path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793);
595 path.lineTo(769.001282f, 793); 595 path.lineTo(769.001282f, 793);
596 path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790); 596 path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790);
597 path.lineTo(772, 731); 597 path.lineTo(772, 731);
598 path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728); 598 path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728);
599 path.lineTo(656, 728); 599 path.lineTo(656, 728);
600 path.close(); 600 path.close();
601 SkPath pathB; 601 SkPath pathB;
602 pathB.setFillType(SkPath::kInverseWinding_FillType); 602 pathB.setFillType(SkPath::kInverseWinding_FillType);
603 pathB.moveTo(655, 729); 603 pathB.moveTo(655, 729);
604 pathB.lineTo(769, 729); 604 pathB.lineTo(769, 729);
605 pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731); 605 pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731);
606 pathB.lineTo(772, 790); 606 pathB.lineTo(772, 790);
607 pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793); 607 pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793);
608 pathB.lineTo(655, 793); 608 pathB.lineTo(655, 793);
609 pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790); 609 pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790);
610 pathB.lineTo(652, 731); 610 pathB.lineTo(652, 731);
611 pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729); 611 pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729);
612 pathB.close(); 612 pathB.close();
613 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 613 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
614 } 614 }
615 615
616 static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char* filename) { 616 static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char* filename) {
617 SkPath path; 617 SkPath path;
618 path.setFillType(SkPath::kEvenOdd_FillType); 618 path.setFillType(SkPath::kEvenOdd_FillType);
619 path.moveTo(0, 495); 619 path.moveTo(0, 495);
620 path.lineTo(1.23685242e-14f, 293); 620 path.lineTo(1.23685242e-14f, 293);
621 path.lineTo(44, 293); 621 path.lineTo(44, 293);
622 path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f); 622 path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f);
623 path.quadTo(48, 295.34314f, 48, 297); 623 path.quadTo(48, 295.34314f, 48, 297);
624 path.lineTo(48, 491); 624 path.lineTo(48, 491);
625 path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f); 625 path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f);
626 path.quadTo(45.6568527f, 495, 44, 495); 626 path.quadTo(45.6568527f, 495, 44, 495);
627 path.lineTo(0, 495); 627 path.lineTo(0, 495);
628 path.close(); 628 path.close();
629 path.moveTo(1, 294); 629 path.moveTo(1, 294);
630 path.lineTo(44, 294); 630 path.lineTo(44, 294);
631 path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297); 631 path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297);
632 path.lineTo(47, 491); 632 path.lineTo(47, 491);
633 path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494); 633 path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494);
634 path.lineTo(1, 494); 634 path.lineTo(1, 494);
635 path.lineTo(1, 294); 635 path.lineTo(1, 294);
636 path.close(); 636 path.close();
637 SkPath pathB; 637 SkPath pathB;
638 pathB.setFillType(SkPath::kWinding_FillType); 638 pathB.setFillType(SkPath::kWinding_FillType);
639 pathB.moveTo(48, 495); 639 pathB.moveTo(48, 495);
640 pathB.lineTo(24, 471); 640 pathB.lineTo(24, 471);
641 pathB.lineTo(24, 317); 641 pathB.lineTo(24, 317);
642 pathB.lineTo(48, 293); 642 pathB.lineTo(48, 293);
643 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 643 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
644 } 644 }
645 645
646 static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* f ilename) { 646 static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* f ilename) {
647 SkPath path; 647 SkPath path;
648 path.setFillType(SkPath::kEvenOdd_FillType); 648 path.setFillType(SkPath::kEvenOdd_FillType);
649 path.moveTo(863.439026f, 692); 649 path.moveTo(863.439026f, 692);
650 path.lineTo(863.283264f, 692); 650 path.lineTo(863.283264f, 692);
651 path.lineTo(802, 708.420837f); 651 path.lineTo(802, 708.420837f);
652 path.lineTo(802, 718.773621f); 652 path.lineTo(802, 718.773621f);
653 path.lineTo(866, 701.624817f); 653 path.lineTo(866, 701.624817f);
654 path.lineTo(866, 701.557922f); 654 path.lineTo(866, 701.557922f);
655 path.lineTo(863.439026f, 692); 655 path.lineTo(863.439026f, 692);
656 path.close(); 656 path.close();
657 SkPath pathB; 657 SkPath pathB;
658 pathB.setFillType(SkPath::kWinding_FillType); 658 pathB.setFillType(SkPath::kWinding_FillType);
659 pathB.moveTo(783.256775f, 713.443054f); 659 pathB.moveTo(783.256775f, 713.443054f);
660 pathB.lineTo(863.428589f, 691.96106f); 660 pathB.lineTo(863.428589f, 691.96106f);
661 pathB.lineTo(866.016724f, 701.620361f); 661 pathB.lineTo(866.016724f, 701.620361f);
662 pathB.lineTo(785.84491f, 723.102356f); 662 pathB.lineTo(785.84491f, 723.102356f);
663 pathB.close(); 663 pathB.close();
664 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 664 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
665 } 665 }
666 666
667 static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename ) { 667 static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename ) {
668 SkPath path; 668 SkPath path;
669 path.setFillType(SkPath::kEvenOdd_FillType); 669 path.setFillType(SkPath::kEvenOdd_FillType);
670 path.moveTo(6.66133815e-16f, 648); 670 path.moveTo(6.66133815e-16f, 648);
671 path.lineTo(25.8522835f, 648); 671 path.lineTo(25.8522835f, 648);
672 path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f); 672 path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f);
673 path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644); 673 path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644);
674 path.lineTo(29.8522835f, 467); 674 path.lineTo(29.8522835f, 467);
675 path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f); 675 path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f);
676 path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463); 676 path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463);
677 path.lineTo(2.22044605e-16f, 463); 677 path.lineTo(2.22044605e-16f, 463);
678 path.lineTo(6.66133815e-16f, 648); 678 path.lineTo(6.66133815e-16f, 648);
679 path.close(); 679 path.close();
680 SkPath pathB; 680 SkPath pathB;
681 pathB.setFillType(SkPath::kWinding_FillType); 681 pathB.setFillType(SkPath::kWinding_FillType);
682 pathB.moveTo(0, 463); 682 pathB.moveTo(0, 463);
683 pathB.lineTo(30, 463); 683 pathB.lineTo(30, 463);
684 pathB.lineTo(30, 648); 684 pathB.lineTo(30, 648);
685 pathB.lineTo(0, 648); 685 pathB.lineTo(0, 648);
686 pathB.close(); 686 pathB.close();
687 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 687 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
688 } 688 }
689 689
690 static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* f ilename) { 690 static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* f ilename) {
691 SkPath path; 691 SkPath path;
692 path.setFillType(SkPath::kEvenOdd_FillType); 692 path.setFillType(SkPath::kEvenOdd_FillType);
693 path.moveTo(0, 926); 693 path.moveTo(0, 926);
694 path.lineTo(0, 0); 694 path.lineTo(0, 0);
695 path.lineTo(1265, 0); 695 path.lineTo(1265, 0);
696 path.lineTo(1265, 926); 696 path.lineTo(1265, 926);
697 path.lineTo(0, 926); 697 path.lineTo(0, 926);
698 path.close(); 698 path.close();
699 SkPath pathB; 699 SkPath pathB;
700 pathB.setFillType(SkPath::kInverseWinding_FillType); 700 pathB.setFillType(SkPath::kInverseWinding_FillType);
701 pathB.moveTo(37, 374); 701 pathB.moveTo(37, 374);
702 pathB.lineTo(37, 535); 702 pathB.lineTo(37, 535);
703 pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538); 703 pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538);
704 pathB.lineTo(1.02866934e-14f, 538); 704 pathB.lineTo(1.02866934e-14f, 538);
705 pathB.lineTo(6.12303177e-17f, 371); 705 pathB.lineTo(6.12303177e-17f, 371);
706 pathB.lineTo(34, 371); 706 pathB.lineTo(34, 371);
707 pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374); 707 pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374);
708 pathB.close(); 708 pathB.close();
709 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 709 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
710 } 710 }
711 711
712 static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filenam e) { 712 static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filenam e) {
713 SkPath path; 713 SkPath path;
714 path.setFillType(SkPath::kEvenOdd_FillType); 714 path.setFillType(SkPath::kEvenOdd_FillType);
715 path.moveTo(16, 56); 715 path.moveTo(16, 56);
716 path.lineTo(32, 56); 716 path.lineTo(32, 56);
717 path.lineTo(32, 72); 717 path.lineTo(32, 72);
718 path.lineTo(16, 72); 718 path.lineTo(16, 72);
719 path.lineTo(16, 56); 719 path.lineTo(16, 56);
(...skipping 13 matching lines...) Expand all
733 pathB.cubicTo(30.2668133f, 71.875f, 30.5524693f, 71.9992828f, 30.868f, 71.99 92828f); 733 pathB.cubicTo(30.2668133f, 71.875f, 30.5524693f, 71.9992828f, 30.868f, 71.99 92828f);
734 pathB.cubicTo(31.4994049f, 71.9992828f, 32.0014687f, 71.4909363f, 32.0014687 f, 70.8595276f); 734 pathB.cubicTo(31.4994049f, 71.9992828f, 32.0014687f, 71.4909363f, 32.0014687 f, 70.8595276f);
735 pathB.cubicTo(32.0015335f, 70.5439072f, 31.875f, 70.2623444f, 31.65625f, 70. 0555649f); 735 pathB.cubicTo(32.0015335f, 70.5439072f, 31.875f, 70.2623444f, 31.65625f, 70. 0555649f);
736 pathB.close(); 736 pathB.close();
737 pathB.moveTo(18.0054054f, 62.0027809f); 737 pathB.moveTo(18.0054054f, 62.0027809f);
738 pathB.cubicTo(18.0054054f, 59.7925949f, 19.7970943f, 58.0009079f, 22.0072823 f, 58.0009079f); 738 pathB.cubicTo(18.0054054f, 59.7925949f, 19.7970943f, 58.0009079f, 22.0072823 f, 58.0009079f);
739 pathB.cubicTo(24.2174377f, 58.0009079f, 26.0091248f, 59.7925949f, 26.0091248 f, 62.0027809f); 739 pathB.cubicTo(24.2174377f, 58.0009079f, 26.0091248f, 59.7925949f, 26.0091248 f, 62.0027809f);
740 pathB.cubicTo(26.0091248f, 64.2129364f, 24.2174377f, 66.0046234f, 22.0072803 f, 66.0046234f); 740 pathB.cubicTo(26.0091248f, 64.2129364f, 24.2174377f, 66.0046234f, 22.0072803 f, 66.0046234f);
741 pathB.cubicTo(19.7970943f, 66.0045929f, 18.0054054f, 64.2129059f, 18.0054054 f, 62.0027809f); 741 pathB.cubicTo(19.7970943f, 66.0045929f, 18.0054054f, 64.2129059f, 18.0054054 f, 62.0027809f);
742 pathB.close(); 742 pathB.close();
743 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 743 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
744 } 744 }
745 745
746 static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filenam e) { 746 static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filenam e) {
747 SkPath path; 747 SkPath path;
748 path.setFillType(SkPath::kEvenOdd_FillType); 748 path.setFillType(SkPath::kEvenOdd_FillType);
749 path.moveTo(0, 926); 749 path.moveTo(0, 926);
750 path.lineTo(0, 0); 750 path.lineTo(0, 0);
751 path.lineTo(1265, 0); 751 path.lineTo(1265, 0);
752 path.lineTo(1265, 926); 752 path.lineTo(1265, 926);
753 path.lineTo(0, 926); 753 path.lineTo(0, 926);
754 path.close(); 754 path.close();
755 SkPath pathB; 755 SkPath pathB;
756 pathB.setFillType(SkPath::kWinding_FillType); 756 pathB.setFillType(SkPath::kWinding_FillType);
757 pathB.moveTo(21, 162); 757 pathB.moveTo(21, 162);
758 pathB.lineTo(21, 301); 758 pathB.lineTo(21, 301);
759 pathB.lineTo(8.57224448e-15f, 301); 759 pathB.lineTo(8.57224448e-15f, 301);
760 pathB.lineTo(6.12303177e-17f, 162); 760 pathB.lineTo(6.12303177e-17f, 162);
761 pathB.close(); 761 pathB.close();
762 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 762 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
763 } 763 }
764 764
765 static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* fi lename) { 765 static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* fi lename) {
766 SkPath path; 766 SkPath path;
767 path.setFillType(SkPath::kEvenOdd_FillType); 767 path.setFillType(SkPath::kEvenOdd_FillType);
768 path.moveTo(179, 407); 768 path.moveTo(179, 407);
769 path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410); 769 path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410);
770 path.lineTo(176, 436); 770 path.lineTo(176, 436);
771 path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439); 771 path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439);
772 path.lineTo(337.002289f, 439); 772 path.lineTo(337.002289f, 439);
773 path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437); 773 path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437);
774 path.lineTo(339, 409); 774 path.lineTo(339, 409);
775 path.cubicTo(339, 407.896362f, 338.10611f, 407.001526f, 337.002838f, 407); 775 path.cubicTo(339, 407.896362f, 338.10611f, 407.001526f, 337.002838f, 407);
776 path.lineTo(179, 407); 776 path.lineTo(179, 407);
777 path.close(); 777 path.close();
778 SkPath pathB; 778 SkPath pathB;
779 pathB.setFillType(SkPath::kInverseWinding_FillType); 779 pathB.setFillType(SkPath::kInverseWinding_FillType);
780 pathB.moveTo(179, 408); 780 pathB.moveTo(179, 408);
781 pathB.lineTo(337, 408); 781 pathB.lineTo(337, 408);
782 pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410); 782 pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410);
783 pathB.lineTo(340, 436); 783 pathB.lineTo(340, 436);
784 pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439); 784 pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439);
785 pathB.lineTo(179, 439); 785 pathB.lineTo(179, 439);
786 pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436); 786 pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436);
787 pathB.lineTo(177, 410); 787 pathB.lineTo(177, 410);
788 pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408); 788 pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408);
789 pathB.close(); 789 pathB.close();
790 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 790 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
791 } 791 }
792 792
793 static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filen ame) { 793 static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filen ame) {
794 SkPath path; 794 SkPath path;
795 path.setFillType(SkPath::kEvenOdd_FillType); 795 path.setFillType(SkPath::kEvenOdd_FillType);
796 path.moveTo(807, 817); 796 path.moveTo(807, 817);
797 path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f); 797 path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f);
798 path.quadTo(806.000122f, 817.585876f, 806, 818); 798 path.quadTo(806.000122f, 817.585876f, 806, 818);
799 path.lineTo(806, 881); 799 path.lineTo(806, 881);
800 path.lineTo(1111, 881); 800 path.lineTo(1111, 881);
801 path.lineTo(1111, 818); 801 path.lineTo(1111, 818);
802 path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f); 802 path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f);
803 path.quadTo(1110.41406f, 817.000122f, 1110, 817); 803 path.quadTo(1110.41406f, 817.000122f, 1110, 817);
804 path.lineTo(807, 817); 804 path.lineTo(807, 817);
805 path.close(); 805 path.close();
806 SkPath pathB; 806 SkPath pathB;
807 pathB.setFillType(SkPath::kInverseWinding_FillType); 807 pathB.setFillType(SkPath::kInverseWinding_FillType);
808 pathB.moveTo(807, 817); 808 pathB.moveTo(807, 817);
809 pathB.lineTo(1110, 817); 809 pathB.lineTo(1110, 817);
810 pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818); 810 pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818);
811 pathB.lineTo(1111, 880); 811 pathB.lineTo(1111, 880);
812 pathB.lineTo(806, 880); 812 pathB.lineTo(806, 880);
813 pathB.lineTo(806, 818); 813 pathB.lineTo(806, 818);
814 pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817); 814 pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817);
815 pathB.close(); 815 pathB.close();
816 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 816 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
817 } 817 }
818 818
819 static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filena me) { 819 static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filena me) {
820 SkPath path; 820 SkPath path;
821 path.setFillType(SkPath::kEvenOdd_FillType); 821 path.setFillType(SkPath::kEvenOdd_FillType);
822 path.moveTo(967, 263); 822 path.moveTo(967, 263);
823 path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f); 823 path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f);
824 path.quadTo(966.000122f, 263.585876f, 966, 264); 824 path.quadTo(966.000122f, 263.585876f, 966, 264);
825 path.lineTo(966, 301); 825 path.lineTo(966, 301);
826 path.lineTo(1214, 301); 826 path.lineTo(1214, 301);
827 path.lineTo(1214, 264); 827 path.lineTo(1214, 264);
828 path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f); 828 path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f);
829 path.quadTo(1213.41406f, 263.000092f, 1213, 263); 829 path.quadTo(1213.41406f, 263.000092f, 1213, 263);
830 path.lineTo(967, 263); 830 path.lineTo(967, 263);
831 path.close(); 831 path.close();
832 SkPath pathB; 832 SkPath pathB;
833 pathB.setFillType(SkPath::kInverseWinding_FillType); 833 pathB.setFillType(SkPath::kInverseWinding_FillType);
834 pathB.moveTo(967, 263); 834 pathB.moveTo(967, 263);
835 pathB.lineTo(1213, 263); 835 pathB.lineTo(1213, 263);
836 pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264); 836 pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264);
837 pathB.lineTo(1214, 300); 837 pathB.lineTo(1214, 300);
838 pathB.lineTo(966, 300); 838 pathB.lineTo(966, 300);
839 pathB.lineTo(966, 264); 839 pathB.lineTo(966, 264);
840 pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263); 840 pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263);
841 pathB.close(); 841 pathB.close();
842 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 842 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
843 } 843 }
844 844
845 static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* file name) { 845 static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* file name) {
846 SkPath path; 846 SkPath path;
847 path.setFillType(SkPath::kEvenOdd_FillType); 847 path.setFillType(SkPath::kEvenOdd_FillType);
848 path.moveTo(271.032867f, -5.32907052e-15f); 848 path.moveTo(271.032867f, -5.32907052e-15f);
849 path.lineTo(56.9671326f, -5.16253706e-15f); 849 path.lineTo(56.9671326f, -5.16253706e-15f);
850 path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f); 850 path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f);
851 path.quadTo(1, 55.4831848f, 1, 123); 851 path.quadTo(1, 55.4831848f, 1, 123);
852 path.quadTo(1, 190.516815f, 48.7416f, 238.258392f); 852 path.quadTo(1, 190.516815f, 48.7416f, 238.258392f);
853 path.quadTo(96.4831848f, 286, 164, 286); 853 path.quadTo(96.4831848f, 286, 164, 286);
854 path.quadTo(231.516815f, 286, 279.258392f, 238.258392f); 854 path.quadTo(231.516815f, 286, 279.258392f, 238.258392f);
855 path.quadTo(327, 190.516815f, 327, 123); 855 path.quadTo(327, 190.516815f, 327, 123);
856 path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f); 856 path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f);
857 path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f); 857 path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f);
858 path.close(); 858 path.close();
859 SkPath pathB; 859 SkPath pathB;
860 pathB.setFillType(SkPath::kWinding_FillType); 860 pathB.setFillType(SkPath::kWinding_FillType);
861 pathB.moveTo(327, 123); 861 pathB.moveTo(327, 123);
862 pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f); 862 pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f);
863 pathB.quadTo(231.516815f, 286, 164, 286); 863 pathB.quadTo(231.516815f, 286, 164, 286);
864 pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f); 864 pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f);
865 pathB.quadTo(1, 190.516815f, 1, 123); 865 pathB.quadTo(1, 190.516815f, 1, 123);
866 pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f); 866 pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f);
867 pathB.quadTo(96.4831848f, -40, 164, -40); 867 pathB.quadTo(96.4831848f, -40, 164, -40);
868 pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f); 868 pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f);
869 pathB.quadTo(327, 55.4831848f, 327, 123); 869 pathB.quadTo(327, 55.4831848f, 327, 123);
870 pathB.close(); 870 pathB.close();
871 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 871 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
872 } 872 }
873 873
874 static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filen ame) { 874 static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filen ame) {
875 SkPath path; 875 SkPath path;
876 path.setFillType(SkPath::kEvenOdd_FillType); 876 path.setFillType(SkPath::kEvenOdd_FillType);
877 path.moveTo(475.421448f, 836.985962f); 877 path.moveTo(475.421448f, 836.985962f);
878 path.lineTo(461.280975f, 841.990662f); 878 path.lineTo(461.280975f, 841.990662f);
879 path.cubicTo(466.80899f, 857.609802f, 458.62854f, 874.752991f, 443.009399f, 880.281006f); 879 path.cubicTo(466.80899f, 857.609802f, 458.62854f, 874.752991f, 443.009399f, 880.281006f);
880 path.cubicTo(435.199829f, 883.044983f, 427.009247f, 882.381897f, 420.080048f , 879.075378f); 880 path.cubicTo(435.199829f, 883.044983f, 427.009247f, 882.381897f, 420.080048f , 879.075378f);
881 path.lineTo(413.620056f, 892.613037f); 881 path.lineTo(413.620056f, 892.613037f);
882 path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f); 882 path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f);
883 path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f); 883 path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f);
884 path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f); 884 path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f);
885 path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f); 885 path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f);
886 path.quadTo(477.351227f, 863.546143f, 478, 855.549866f); 886 path.quadTo(477.351227f, 863.546143f, 478, 855.549866f);
887 path.lineTo(478, 848.804321f); 887 path.lineTo(478, 848.804321f);
888 path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f); 888 path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f);
889 path.close(); 889 path.close();
890 SkPath pathB; 890 SkPath pathB;
891 pathB.setFillType(SkPath::kWinding_FillType); 891 pathB.setFillType(SkPath::kWinding_FillType);
892 pathB.moveTo(405.592621f, 909.435547f); 892 pathB.moveTo(405.592621f, 909.435547f);
893 pathB.lineTo(390.578583f, 867.014099f); 893 pathB.lineTo(390.578583f, 867.014099f);
894 pathB.lineTo(433, 852.000061f); 894 pathB.lineTo(433, 852.000061f);
895 pathB.lineTo(490.435486f, 879.40741f); 895 pathB.lineTo(490.435486f, 879.40741f);
896 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 896 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
897 } 897 }
898 898
899 /* this cubic/quad pair
900 c = 430,280 430,278.895416 473.876068,278 528,278
901 q = 430,280 430.009796,277.101196 458.703552,275.050262
902 only intersect at the shared point (430,280)
903 they sort backwards because the tangent from pt[0] to control pt[1]
904 c' = (0.00000000000000000, -1.1045837402343750)
905 q' = (0.0097961425781250000, -2.8988037109375000)
906 suggests that the quad is counterclockwise of the cubic, when the reverse is tr ue
907 the angle code is fooled because the control pt[1] of both the quad and cubic
908 is far away from cubic cntl [2] and quad pt [2].
909 Maybe in angle setup, this instability can be detected to suppress sorting on t he initial tangent
910 Or the error term can be passed to NearRay that is magnified by the distance fr om the next ctrl?
911 */
912 static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename) { 899 static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename) {
913 SkPath path; 900 SkPath path;
914 path.setFillType(SkPath::kEvenOdd_FillType); 901 path.setFillType(SkPath::kEvenOdd_FillType);
915 path.moveTo(458.703552f, 275.050262f); 902 path.moveTo(458.703552f, 275.050262f);
916 path.quadTo(487.41687f, 273.000702f, 528, 273); 903 path.quadTo(487.41687f, 273.000702f, 528, 273);
917 path.lineTo(529, 273); 904 path.lineTo(529, 273);
918 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); 905 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f);
919 path.quadTo(531.999695f, 274.75766f, 532, 276); 906 path.quadTo(531.999695f, 274.75766f, 532, 276);
920 path.lineTo(532, 378); 907 path.lineTo(532, 378);
921 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); 908 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f);
922 path.quadTo(474.58313f, 384.999298f, 434, 385); 909 path.quadTo(474.58313f, 384.999298f, 434, 385);
923 path.lineTo(433, 385); 910 path.lineTo(433, 385);
924 path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f); 911 path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f);
925 path.quadTo(430.000305f, 383.24234f, 430, 382); 912 path.quadTo(430.000305f, 383.24234f, 430, 382);
926 path.lineTo(430, 280); 913 path.lineTo(430, 280);
927 path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f); 914 path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f);
928 path.close(); 915 path.close();
929 SkPath pathB; 916 SkPath pathB;
930 pathB.setFillType(SkPath::kInverseWinding_FillType); 917 pathB.setFillType(SkPath::kInverseWinding_FillType);
931 pathB.moveTo(528, 278); 918 pathB.moveTo(528, 278);
932 pathB.lineTo(529, 278); 919 pathB.lineTo(529, 278);
933 pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278); 920 pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278);
934 pathB.lineTo(532, 378); 921 pathB.lineTo(532, 378);
935 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); 922 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380);
936 pathB.lineTo(433, 380); 923 pathB.lineTo(433, 380);
937 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); 924 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380);
938 pathB.lineTo(430, 280); 925 pathB.lineTo(430, 280);
939 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); 926 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278);
940 pathB.close(); 927 pathB.close();
941 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 928 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
942 } 929 }
943 930
944 /* didn't investigate thoroughly, but looks to be missorting quad and cubic
945 {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}}
946 {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676}, {468.507751,560.724426}}
947 decision maker is case 14 leftLessThanRight
948 */
949 static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam e) { 931 static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam e) {
950 SkPath path; 932 SkPath path;
951 path.setFillType(SkPath::kEvenOdd_FillType); 933 path.setFillType(SkPath::kEvenOdd_FillType);
952 path.moveTo(465.503998f, 546); 934 path.moveTo(465.503998f, 546);
953 path.lineTo(347, 546); 935 path.lineTo(347, 546);
954 path.lineTo(347, 632); 936 path.lineTo(347, 632);
955 path.lineTo(469.104248f, 632); 937 path.lineTo(469.104248f, 632);
956 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); 938 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f);
957 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); 939 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f);
958 path.lineTo(468.507751f, 560.724426f); 940 path.lineTo(468.507751f, 560.724426f);
959 path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f); 941 path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f);
960 path.quadTo(465.670349f, 546.601501f, 465.503998f, 546); 942 path.quadTo(465.670349f, 546.601501f, 465.503998f, 546);
961 path.close(); 943 path.close();
962 SkPath pathB; 944 SkPath pathB;
963 pathB.setFillType(SkPath::kInverseWinding_FillType); 945 pathB.setFillType(SkPath::kInverseWinding_FillType);
964 pathB.moveTo(363.052246f, 542.495361f); 946 pathB.moveTo(363.052246f, 542.495361f);
965 pathB.lineTo(463.779907f, 542.671143f); 947 pathB.lineTo(463.779907f, 542.671143f);
966 pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751 f, 560.724426f); 948 pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751 f, 560.724426f);
967 pathB.lineTo(470.591064f, 574.024353f); 949 pathB.lineTo(470.591064f, 574.024353f);
968 pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f , 639.537781f); 950 pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f , 639.537781f);
969 pathB.lineTo(368.727936f, 639.378601f); 951 pathB.lineTo(368.727936f, 639.378601f);
970 pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249 f, 621.275574f); 952 pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249 f, 621.275574f);
971 pathB.lineTo(325.968597f, 560.475708f); 953 pathB.lineTo(325.968597f, 560.475708f);
972 pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f , 542.495361f); 954 pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f , 542.495361f);
973 pathB.close(); 955 pathB.close();
974 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 956 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
975 } 957 }
976 958
977 static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char* filename) { 959 static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char* filename) {
978 SkPath path; 960 SkPath path;
979 path.setFillType(SkPath::kEvenOdd_FillType); 961 path.setFillType(SkPath::kEvenOdd_FillType);
980 path.moveTo(936.765625f, 458.965302f); 962 path.moveTo(936.765625f, 458.965302f);
981 path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f , 450.033905f); 963 path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f , 450.033905f);
982 path.lineTo(661.882263f, 458.958862f); 964 path.lineTo(661.882263f, 458.958862f);
983 path.lineTo(661.875366f, 458.959106f); 965 path.lineTo(661.875366f, 458.959106f);
984 path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f, 468.496124f); 966 path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f, 468.496124f);
(...skipping 10 matching lines...) Expand all
995 pathB.moveTo(661.882263f, 458.958862f); 977 pathB.moveTo(661.882263f, 458.958862f);
996 pathB.lineTo(928.093445f, 450.033905f); 978 pathB.lineTo(928.093445f, 450.033905f);
997 pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.2 10663f); 979 pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.2 10663f);
998 pathB.lineTo(926.210693f, 522.029724f); 980 pathB.lineTo(926.210693f, 522.029724f);
999 pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f , 526.710083f); 981 pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f , 526.710083f);
1000 pathB.lineTo(657.931885f, 535.635071f); 982 pathB.lineTo(657.931885f, 535.635071f);
1001 pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729 f, 531.322754f); 983 pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729 f, 531.322754f);
1002 pathB.lineTo(652.258179f, 468.503662f); 984 pathB.lineTo(652.258179f, 468.503662f);
1003 pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263 f, 458.958862f); 985 pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263 f, 458.958862f);
1004 pathB.close(); 986 pathB.close();
1005 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 987 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1006 } 988 }
1007 989
1008 static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* fi lename) { 990 static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* fi lename) {
1009 SkPath path; 991 SkPath path;
1010 path.setFillType(SkPath::kEvenOdd_FillType); 992 path.setFillType(SkPath::kEvenOdd_FillType);
1011 path.moveTo(156, 126); 993 path.moveTo(156, 126);
1012 path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f); 994 path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f);
1013 path.quadTo(152.000397f, 128.343552f, 152, 130); 995 path.quadTo(152.000397f, 128.343552f, 152, 130);
1014 path.lineTo(152, 174); 996 path.lineTo(152, 174);
1015 path.lineTo(1114, 174); 997 path.lineTo(1114, 174);
1016 path.lineTo(1114, 130); 998 path.lineTo(1114, 130);
1017 path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f); 999 path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f);
1018 path.quadTo(1111.65649f, 126.000397f, 1110, 126); 1000 path.quadTo(1111.65649f, 126.000397f, 1110, 126);
1019 path.lineTo(156, 126); 1001 path.lineTo(156, 126);
1020 path.close(); 1002 path.close();
1021 SkPath pathB; 1003 SkPath pathB;
1022 pathB.setFillType(SkPath::kInverseWinding_FillType); 1004 pathB.setFillType(SkPath::kInverseWinding_FillType);
1023 pathB.moveTo(156, 126); 1005 pathB.moveTo(156, 126);
1024 pathB.lineTo(1110, 126); 1006 pathB.lineTo(1110, 126);
1025 pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130); 1007 pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130);
1026 pathB.lineTo(1113, 174); 1008 pathB.lineTo(1113, 174);
1027 pathB.lineTo(153, 174); 1009 pathB.lineTo(153, 174);
1028 pathB.lineTo(153, 130); 1010 pathB.lineTo(153, 130);
1029 pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126); 1011 pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126);
1030 pathB.close(); 1012 pathB.close();
1031 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1013 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1032 } 1014 }
1033 1015
1034 static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char* filename) { 1016 static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char* filename) {
1035 SkPath path; 1017 SkPath path;
1036 path.setFillType(SkPath::kEvenOdd_FillType); 1018 path.setFillType(SkPath::kEvenOdd_FillType);
1037 path.moveTo(182.000015f, 645); 1019 path.moveTo(182.000015f, 645);
1038 path.lineTo(182, 640); 1020 path.lineTo(182, 640);
1039 path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.21 3196f); 1021 path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.21 3196f);
1040 path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f , 588.786804f); 1022 path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f , 588.786804f);
1041 path.lineTo(157.251266f, 585.251221f); 1023 path.lineTo(157.251266f, 585.251221f);
1042 path.quadTo(147, 595.502502f, 147.000015f, 610); 1024 path.quadTo(147, 595.502502f, 147.000015f, 610);
1043 path.quadTo(147, 624.482605f, 157.230255f, 634.727722f); 1025 path.quadTo(147, 624.482605f, 157.230255f, 634.727722f);
1044 path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f); 1026 path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f);
1045 path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f); 1027 path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f);
1046 path.quadTo(167.517334f, 645, 182.000015f, 645); 1028 path.quadTo(167.517334f, 645, 182.000015f, 645);
1047 path.close(); 1029 path.close();
1048 SkPath pathB; 1030 SkPath pathB;
1049 pathB.setFillType(SkPath::kWinding_FillType); 1031 pathB.setFillType(SkPath::kWinding_FillType);
1050 pathB.moveTo(182, 659.497498f); 1032 pathB.moveTo(182, 659.497498f);
1051 pathB.lineTo(206.748749f, 634.748718f); 1033 pathB.lineTo(206.748749f, 634.748718f);
1052 pathB.lineTo(182.000015f, 610); 1034 pathB.lineTo(182.000015f, 610);
1053 pathB.lineTo(132.502533f, 610); 1035 pathB.lineTo(132.502533f, 610);
1054 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1036 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1055 } 1037 }
1056 1038
1057 static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) { 1039 static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) {
1058 SkPath path; 1040 SkPath path;
1059 path.setFillType(SkPath::kEvenOdd_FillType); 1041 path.setFillType(SkPath::kEvenOdd_FillType);
1060 path.moveTo(154, 670); 1042 path.moveTo(154, 670);
1061 path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675); 1043 path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675);
1062 path.lineTo(149, 710.001465f); 1044 path.lineTo(149, 710.001465f);
1063 path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714); 1045 path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714);
1064 path.lineTo(189, 714); 1046 path.lineTo(189, 714);
1065 path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710); 1047 path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710);
1066 path.lineTo(193, 675); 1048 path.lineTo(193, 675);
1067 path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670); 1049 path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670);
1068 path.lineTo(154, 670); 1050 path.lineTo(154, 670);
1069 path.close(); 1051 path.close();
1070 SkPath pathB; 1052 SkPath pathB;
1071 pathB.setFillType(SkPath::kInverseWinding_FillType); 1053 pathB.setFillType(SkPath::kInverseWinding_FillType);
1072 pathB.moveTo(154, 671); 1054 pathB.moveTo(154, 671);
1073 pathB.lineTo(188, 671); 1055 pathB.lineTo(188, 671);
1074 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); 1056 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675);
1075 pathB.lineTo(193, 710); 1057 pathB.lineTo(193, 710);
1076 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); 1058 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715);
1077 pathB.lineTo(154, 715); 1059 pathB.lineTo(154, 715);
1078 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); 1060 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710);
1079 pathB.lineTo(149, 675); 1061 pathB.lineTo(149, 675);
1080 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); 1062 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671);
1081 pathB.close(); 1063 pathB.close();
1082 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1064 testPathOpCheck(reporter, path, pathB, kIntersect_SkPathOp, filename, FLAGS_ runFail);
1083 } 1065 }
1084 1066
1085 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi lename) { 1067 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi lename) {
1086 SkPath path; 1068 SkPath path;
1087 path.setFillType(SkPath::kEvenOdd_FillType); 1069 path.setFillType(SkPath::kEvenOdd_FillType);
1088 path.moveTo(50, 182); 1070 path.moveTo(50, 182);
1089 path.lineTo(1215, 182); 1071 path.lineTo(1215, 182);
1090 path.lineTo(1215, 202); 1072 path.lineTo(1215, 202);
1091 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); 1073 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f);
1092 path.quadTo(1212.07056f, 206.999496f, 1210, 207); 1074 path.quadTo(1212.07056f, 206.999496f, 1210, 207);
1093 path.lineTo(55, 207); 1075 path.lineTo(55, 207);
1094 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); 1076 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f);
1095 path.quadTo(50.0004997f, 204.070572f, 50, 202); 1077 path.quadTo(50.0004997f, 204.070572f, 50, 202);
1096 path.lineTo(50, 182); 1078 path.lineTo(50, 182);
1097 path.close(); 1079 path.close();
1098 SkPath pathB; 1080 SkPath pathB;
1099 pathB.setFillType(SkPath::kInverseWinding_FillType); 1081 pathB.setFillType(SkPath::kInverseWinding_FillType);
1100 pathB.moveTo(50, 183); 1082 pathB.moveTo(50, 183);
1101 pathB.lineTo(1215, 183); 1083 pathB.lineTo(1215, 183);
1102 pathB.lineTo(1215, 202); 1084 pathB.lineTo(1215, 202);
1103 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); 1085 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207);
1104 pathB.lineTo(55, 207); 1086 pathB.lineTo(55, 207);
1105 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); 1087 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202);
1106 pathB.lineTo(50, 183); 1088 pathB.lineTo(50, 183);
1107 pathB.close(); 1089 pathB.close();
1108 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1090 // FIXME: this generates quads and cubics that are (correctly) not coinciden t unlike the old code
1091 // however, somewhere the angles are sorted incorrectly and the winding is c omputed to be -1/-2
1092 // but I can't find the error
1093 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1109 } 1094 }
1110 1095
1111 /* cubic ends just above opp line */
1112 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam e) { 1096 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam e) {
1113 SkPath path; 1097 SkPath path;
1114 path.setFillType(SkPath::kEvenOdd_FillType); 1098 path.setFillType(SkPath::kEvenOdd_FillType);
1115 path.moveTo(172, 201); 1099 path.moveTo(172, 201);
1116 path.lineTo(172, 202); 1100 path.lineTo(172, 202);
1117 path.lineTo(220, 202); 1101 path.lineTo(220, 202);
1118 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); 1102 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199);
1119 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); 1103 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201);
1120 path.lineTo(172, 201); 1104 path.lineTo(172, 201);
1121 path.close(); 1105 path.close();
1122 SkPath pathB; 1106 SkPath pathB;
1123 pathB.setFillType(SkPath::kWinding_FillType); 1107 pathB.setFillType(SkPath::kWinding_FillType);
1124 pathB.moveTo(161, 202); 1108 pathB.moveTo(161, 202);
1125 pathB.lineTo(161, 199); 1109 pathB.lineTo(161, 199);
1126 pathB.lineTo(223, 199.000015f); 1110 pathB.lineTo(223, 199.000015f);
1127 pathB.lineTo(223, 202); 1111 pathB.lineTo(223, 202);
1128 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1112 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1129 } 1113 }
1130 1114
1131 // pair of lines are not quite coincident, so sorting line/cubic fails (i think)
1132 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char* filename) { 1115 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char* filename) {
1133 SkPath path; 1116 SkPath path;
1134 path.setFillType(SkPath::kEvenOdd_FillType); 1117 path.setFillType(SkPath::kEvenOdd_FillType);
1135 path.moveTo(806, 57); 1118 path.moveTo(806, 57);
1136 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); 1119 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54);
1137 path.lineTo(930, 54); 1120 path.lineTo(930, 54);
1138 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); 1121 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57);
1139 path.lineTo(933, 91); 1122 path.lineTo(933, 91);
1140 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); 1123 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94);
1141 path.lineTo(809, 94); 1124 path.lineTo(809, 94);
1142 path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91); 1125 path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91);
1143 path.lineTo(806, 57); 1126 path.lineTo(806, 57);
1144 path.close(); 1127 path.close();
1145 path.moveTo(808, 58); 1128 path.moveTo(808, 58);
1146 path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56); 1129 path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56);
1147 path.lineTo(929, 56); 1130 path.lineTo(929, 56);
1148 path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58); 1131 path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58);
1149 path.lineTo(931, 90); 1132 path.lineTo(931, 90);
1150 path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92); 1133 path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92);
1151 path.lineTo(810, 92); 1134 path.lineTo(810, 92);
1152 path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90); 1135 path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90);
1153 path.lineTo(808, 58); 1136 path.lineTo(808, 58);
1154 path.close(); 1137 path.close();
1155 SkPath pathB; 1138 SkPath pathB;
1156 pathB.setFillType(SkPath::kWinding_FillType); 1139 pathB.setFillType(SkPath::kWinding_FillType);
1157 pathB.moveTo(806, 54); 1140 pathB.moveTo(806, 54);
1158 pathB.lineTo(808, 56); 1141 pathB.lineTo(808, 56);
1159 pathB.lineTo(935.02002f, 56.0200005f); 1142 pathB.lineTo(935.02002f, 56.0200005f);
1160 pathB.lineTo(933, 54); 1143 pathB.lineTo(933, 54);
1161 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1144 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1162 } 1145 }
1163 1146
1164 // pair of curves have nearly the same initial tangent but are sorting by
1165 // that alone sorts them incorrectly. Need to detect that tangents are nearly
1166 // identical and not reliable by themselves
1167 static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) { 1147 static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) {
1168 SkPath path; 1148 SkPath path;
1169 path.setFillType(SkPath::kEvenOdd_FillType); 1149 path.setFillType(SkPath::kEvenOdd_FillType);
1170 path.moveTo(173, 5342); 1150 path.moveTo(173, 5342);
1171 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); 1151 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f);
1172 path.quadTo(169.000397f, 5344.34375f, 169, 5346); 1152 path.quadTo(169.000397f, 5344.34375f, 169, 5346);
1173 path.lineTo(169, 5372); 1153 path.lineTo(169, 5372);
1174 path.lineTo(234, 5372); 1154 path.lineTo(234, 5372);
1175 path.lineTo(234, 5346); 1155 path.lineTo(234, 5346);
1176 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); 1156 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f);
1177 path.quadTo(231.656464f, 5342.00049f, 230, 5342); 1157 path.quadTo(231.656464f, 5342.00049f, 230, 5342);
1178 path.lineTo(173, 5342); 1158 path.lineTo(173, 5342);
1179 path.close(); 1159 path.close();
1180 SkPath pathB; 1160 SkPath pathB;
1181 pathB.setFillType(SkPath::kInverseWinding_FillType); 1161 pathB.setFillType(SkPath::kInverseWinding_FillType);
1182 pathB.moveTo(173, 5342); 1162 pathB.moveTo(173, 5342);
1183 pathB.lineTo(230, 5342); 1163 pathB.lineTo(230, 5342);
1184 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); 1164 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346);
1185 pathB.lineTo(233, 5372); 1165 pathB.lineTo(233, 5372);
1186 pathB.lineTo(169, 5372); 1166 pathB.lineTo(169, 5372);
1187 pathB.lineTo(169, 5346); 1167 pathB.lineTo(169, 5346);
1188 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); 1168 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342);
1189 pathB.close(); 1169 pathB.close();
1190 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1170 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1191 } 1171 }
1192 1172
1193 // nearly identical to lavoixdunord -- to not-quite-coincident lines
1194 static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file name) { 1173 static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file name) {
1195 SkPath path; 1174 SkPath path;
1196 path.setFillType(SkPath::kEvenOdd_FillType); 1175 path.setFillType(SkPath::kEvenOdd_FillType);
1197 path.moveTo(90, 187); 1176 path.moveTo(90, 187);
1198 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); 1177 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184);
1199 path.lineTo(588, 184); 1178 path.lineTo(588, 184);
1200 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); 1179 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187);
1201 path.lineTo(591, 218); 1180 path.lineTo(591, 218);
1202 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); 1181 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221);
1203 path.lineTo(93, 221); 1182 path.lineTo(93, 221);
1204 path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218); 1183 path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218);
1205 path.lineTo(90, 187); 1184 path.lineTo(90, 187);
1206 path.close(); 1185 path.close();
1207 path.moveTo(92, 188); 1186 path.moveTo(92, 188);
1208 path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186); 1187 path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186);
1209 path.lineTo(587, 186); 1188 path.lineTo(587, 186);
1210 path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188); 1189 path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188);
1211 path.lineTo(589, 217); 1190 path.lineTo(589, 217);
1212 path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219); 1191 path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219);
1213 path.lineTo(94, 219); 1192 path.lineTo(94, 219);
1214 path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217); 1193 path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217);
1215 path.lineTo(92, 188); 1194 path.lineTo(92, 188);
1216 path.close(); 1195 path.close();
1217 SkPath pathB; 1196 SkPath pathB;
1218 pathB.setFillType(SkPath::kWinding_FillType); 1197 pathB.setFillType(SkPath::kWinding_FillType);
1219 pathB.moveTo(90, 184); 1198 pathB.moveTo(90, 184);
1220 pathB.lineTo(92, 186); 1199 pathB.lineTo(92, 186);
1221 pathB.lineTo(593.02002f, 186.020004f); 1200 pathB.lineTo(593.02002f, 186.020004f);
1222 pathB.lineTo(591, 184); 1201 pathB.lineTo(591, 184);
1223 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1202 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1224 } 1203 }
1225 1204
1226 // visually looks like lavoixdunord and www_booking_com
1227 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char* filename) { 1205 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char* filename) {
1228 SkPath path; 1206 SkPath path;
1229 path.setFillType(SkPath::kEvenOdd_FillType); 1207 path.setFillType(SkPath::kEvenOdd_FillType);
1230 path.moveTo(635, 1788); 1208 path.moveTo(635, 1788);
1231 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); 1209 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785);
1232 path.lineTo(832, 1785); 1210 path.lineTo(832, 1785);
1233 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); 1211 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788);
1234 path.lineTo(835, 1812); 1212 path.lineTo(835, 1812);
1235 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); 1213 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815);
1236 path.lineTo(638, 1815); 1214 path.lineTo(638, 1815);
1237 path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812); 1215 path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812);
1238 path.lineTo(635, 1788); 1216 path.lineTo(635, 1788);
1239 path.close(); 1217 path.close();
1240 path.moveTo(637, 1789); 1218 path.moveTo(637, 1789);
1241 path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787); 1219 path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787);
1242 path.lineTo(831, 1787); 1220 path.lineTo(831, 1787);
1243 path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789); 1221 path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789);
1244 path.lineTo(833, 1811); 1222 path.lineTo(833, 1811);
1245 path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813); 1223 path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813);
1246 path.lineTo(639, 1813); 1224 path.lineTo(639, 1813);
1247 path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811); 1225 path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811);
1248 path.lineTo(637, 1789); 1226 path.lineTo(637, 1789);
1249 path.close(); 1227 path.close();
1250 SkPath pathB; 1228 SkPath pathB;
1251 pathB.setFillType(SkPath::kWinding_FillType); 1229 pathB.setFillType(SkPath::kWinding_FillType);
1252 pathB.moveTo(835, 1785); 1230 pathB.moveTo(835, 1785);
1253 pathB.lineTo(833, 1787); 1231 pathB.lineTo(833, 1787);
1254 pathB.lineTo(832.97998f, 1817.02002f); 1232 pathB.lineTo(832.97998f, 1817.02002f);
1255 pathB.lineTo(835, 1815); 1233 pathB.lineTo(835, 1815);
1256 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1234 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1257 } 1235 }
1258 1236
1259 static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filen ame) { 1237 static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filen ame) {
1260 SkPath path; 1238 SkPath path;
1261 path.setFillType(SkPath::kEvenOdd_FillType); 1239 path.setFillType(SkPath::kEvenOdd_FillType);
1262 path.moveTo(320, 347); 1240 path.moveTo(320, 347);
1263 path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342); 1241 path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342);
1264 path.lineTo(416, 342); 1242 path.lineTo(416, 342);
1265 path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347); 1243 path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347);
1266 path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343); 1244 path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343);
1267 path.lineTo(325, 343); 1245 path.lineTo(325, 343);
1268 path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347); 1246 path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347);
1269 path.close(); 1247 path.close();
1270 path.moveTo(320, 378); 1248 path.moveTo(320, 378);
1271 path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383); 1249 path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383);
1272 path.lineTo(416, 383); 1250 path.lineTo(416, 383);
1273 path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378); 1251 path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378);
1274 path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382); 1252 path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382);
1275 path.lineTo(325, 382); 1253 path.lineTo(325, 382);
1276 path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378); 1254 path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378);
1277 path.close(); 1255 path.close();
1278 SkPath pathB; 1256 SkPath pathB;
1279 pathB.setFillType(SkPath::kWinding_FillType); 1257 pathB.setFillType(SkPath::kWinding_FillType);
1280 pathB.moveTo(320, 383); 1258 pathB.moveTo(320, 383);
1281 pathB.lineTo(320, 378); 1259 pathB.lineTo(320, 378);
1282 pathB.lineTo(421, 378.000031f); 1260 pathB.lineTo(421, 378.000031f);
1283 pathB.lineTo(421, 383); 1261 pathB.lineTo(421, 383);
1284 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1262 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1285 } 1263 }
1286 1264
1287 static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* f ilename) { 1265 static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* f ilename) {
1288 SkPath path; 1266 SkPath path;
1289 path.setFillType(SkPath::kEvenOdd_FillType); 1267 path.setFillType(SkPath::kEvenOdd_FillType);
1290 path.moveTo(136, 14089); 1268 path.moveTo(136, 14089);
1291 path.lineTo(136, 14056); 1269 path.lineTo(136, 14056);
1292 path.lineTo(778, 14056); 1270 path.lineTo(778, 14056);
1293 path.lineTo(778, 14089); 1271 path.lineTo(778, 14089);
1294 path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f); 1272 path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f);
1295 path.quadTo(775.656433f, 14093, 774, 14093); 1273 path.quadTo(775.656433f, 14093, 774, 14093);
1296 path.lineTo(140, 14093); 1274 path.lineTo(140, 14093);
1297 path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f); 1275 path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f);
1298 path.quadTo(136.000397f, 14090.6562f, 136, 14089); 1276 path.quadTo(136.000397f, 14090.6562f, 136, 14089);
1299 path.close(); 1277 path.close();
1300 SkPath pathB; 1278 SkPath pathB;
1301 pathB.setFillType(SkPath::kInverseWinding_FillType); 1279 pathB.setFillType(SkPath::kInverseWinding_FillType);
1302 pathB.moveTo(136, 14057); 1280 pathB.moveTo(136, 14057);
1303 pathB.lineTo(778, 14057); 1281 pathB.lineTo(778, 14057);
1304 pathB.lineTo(778, 14089); 1282 pathB.lineTo(778, 14089);
1305 pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093); 1283 pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093);
1306 pathB.lineTo(140, 14093); 1284 pathB.lineTo(140, 14093);
1307 pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089); 1285 pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089);
1308 pathB.lineTo(136, 14057); 1286 pathB.lineTo(136, 14057);
1309 pathB.close(); 1287 pathB.close();
1310 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1288 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1311 } 1289 }
1312 1290
1313 static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* fi lename) { 1291 static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* fi lename) {
1314 SkPath path; 1292 SkPath path;
1315 path.setFillType(SkPath::kEvenOdd_FillType); 1293 path.setFillType(SkPath::kEvenOdd_FillType);
1316 path.moveTo(377.1716f, 5910.17139f); 1294 path.moveTo(377.1716f, 5910.17139f);
1317 path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913); 1295 path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913);
1318 path.lineTo(376, 5972); 1296 path.lineTo(376, 5972);
1319 path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976); 1297 path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976);
1320 path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972); 1298 path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972);
1321 path.lineTo(377, 5913); 1299 path.lineTo(377, 5913);
1322 path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.8 7891f); 1300 path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.8 7891f);
1323 path.lineTo(377.1716f, 5910.17139f); 1301 path.lineTo(377.1716f, 5910.17139f);
1324 path.close(); 1302 path.close();
1325 SkPath pathB; 1303 SkPath pathB;
1326 pathB.setFillType(SkPath::kWinding_FillType); 1304 pathB.setFillType(SkPath::kWinding_FillType);
1327 pathB.moveTo(376, 5909); 1305 pathB.moveTo(376, 5909);
1328 pathB.lineTo(378.481873f, 5909); 1306 pathB.lineTo(378.481873f, 5909);
1329 pathB.lineTo(379.999878f, 5976); 1307 pathB.lineTo(379.999878f, 5976);
1330 pathB.lineTo(376, 5976); 1308 pathB.lineTo(376, 5976);
1331 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1309 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1332 } 1310 }
1333 1311
1334 static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filen ame) { 1312 static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filen ame) {
1335 SkPath path; 1313 SkPath path;
1336 path.setFillType(SkPath::kEvenOdd_FillType); 1314 path.setFillType(SkPath::kEvenOdd_FillType);
1337 path.moveTo(843, 216); 1315 path.moveTo(843, 216);
1338 path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211); 1316 path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211);
1339 path.lineTo(1191, 211); 1317 path.lineTo(1191, 211);
1340 path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216); 1318 path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216);
1341 path.lineTo(1196, 779); 1319 path.lineTo(1196, 779);
(...skipping 11 matching lines...) Expand all
1353 path.lineTo(849, 781); 1331 path.lineTo(849, 781);
1354 path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778); 1332 path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778);
1355 path.lineTo(844, 217); 1333 path.lineTo(844, 217);
1356 path.close(); 1334 path.close();
1357 SkPath pathB; 1335 SkPath pathB;
1358 pathB.setFillType(SkPath::kWinding_FillType); 1336 pathB.setFillType(SkPath::kWinding_FillType);
1359 pathB.moveTo(843, 784); 1337 pathB.moveTo(843, 784);
1360 pathB.lineTo(843, 779); 1338 pathB.lineTo(843, 779);
1361 pathB.lineTo(1196, 779.000061f); 1339 pathB.lineTo(1196, 779.000061f);
1362 pathB.lineTo(1196, 784); 1340 pathB.lineTo(1196, 784);
1363 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1341 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1364 } 1342 }
1365 1343
1366 static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* fi lename) { 1344 static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* fi lename) {
1367 SkPath path; 1345 SkPath path;
1368 path.setFillType(SkPath::kEvenOdd_FillType); 1346 path.setFillType(SkPath::kEvenOdd_FillType);
1369 path.moveTo(162, 468); 1347 path.moveTo(162, 468);
1370 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); 1348 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472);
1371 path.lineTo(158, 528); 1349 path.lineTo(158, 528);
1372 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); 1350 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532);
1373 path.lineTo(275, 532); 1351 path.lineTo(275, 532);
1374 path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528); 1352 path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528);
1375 path.lineTo(279, 472); 1353 path.lineTo(279, 472);
1376 path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468); 1354 path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468);
1377 path.lineTo(162, 468); 1355 path.lineTo(162, 468);
1378 path.close(); 1356 path.close();
1379 SkPath pathB; 1357 SkPath pathB;
1380 pathB.setFillType(SkPath::kWinding_FillType); 1358 pathB.setFillType(SkPath::kWinding_FillType);
1381 pathB.moveTo(275, 468); 1359 pathB.moveTo(275, 468);
1382 pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471); 1360 pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471);
1383 pathB.lineTo(278, 529); 1361 pathB.lineTo(278, 529);
1384 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); 1362 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532);
1385 pathB.lineTo(161, 532); 1363 pathB.lineTo(161, 532);
1386 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); 1364 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529);
1387 pathB.lineTo(158, 471); 1365 pathB.lineTo(158, 471);
1388 pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468); 1366 pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468);
1389 pathB.lineTo(275, 468); 1367 pathB.lineTo(275, 468);
1390 pathB.close(); 1368 pathB.close();
1391 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1369 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1392 } 1370 }
1393 1371
1394 static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* fi lename) { 1372 static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* fi lename) {
1395 SkPath path; 1373 SkPath path;
1396 path.setFillType(SkPath::kEvenOdd_FillType); 1374 path.setFillType(SkPath::kEvenOdd_FillType);
1397 path.moveTo(162, 468); 1375 path.moveTo(162, 468);
1398 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); 1376 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472);
1399 path.lineTo(158, 528); 1377 path.lineTo(158, 528);
1400 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); 1378 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532);
1401 path.lineTo(275.009186f, 532); 1379 path.lineTo(275.009186f, 532);
1402 path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529); 1380 path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529);
1403 path.lineTo(278, 471); 1381 path.lineTo(278, 471);
1404 path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468); 1382 path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468);
1405 path.lineTo(162, 468); 1383 path.lineTo(162, 468);
1406 path.close(); 1384 path.close();
1407 SkPath pathB; 1385 SkPath pathB;
1408 pathB.setFillType(SkPath::kInverseWinding_FillType); 1386 pathB.setFillType(SkPath::kInverseWinding_FillType);
1409 pathB.moveTo(161, 469); 1387 pathB.moveTo(161, 469);
1410 pathB.lineTo(275, 469); 1388 pathB.lineTo(275, 469);
1411 pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471); 1389 pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471);
1412 pathB.lineTo(278, 529); 1390 pathB.lineTo(278, 529);
1413 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); 1391 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532);
1414 pathB.lineTo(161, 532); 1392 pathB.lineTo(161, 532);
1415 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); 1393 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529);
1416 pathB.lineTo(158, 471); 1394 pathB.lineTo(158, 471);
1417 pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469); 1395 pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469);
1418 pathB.close(); 1396 pathB.close();
1419 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1397 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1420 } 1398 }
1421 1399
1422 static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filena me) { 1400 static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filena me) {
1423 SkPath path; 1401 SkPath path;
1424 path.setFillType(SkPath::kEvenOdd_FillType); 1402 path.setFillType(SkPath::kEvenOdd_FillType);
1425 path.moveTo(137.34314f, 145.34314f); 1403 path.moveTo(137.34314f, 145.34314f);
1426 path.quadTo(139.687088f, 143.000793f, 143, 143); 1404 path.quadTo(139.687088f, 143.000793f, 143, 143);
1427 path.lineTo(242, 143); 1405 path.lineTo(242, 143);
1428 path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f); 1406 path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f);
1429 path.quadTo(249.999207f, 147.687088f, 250, 151); 1407 path.quadTo(249.999207f, 147.687088f, 250, 151);
1430 path.lineTo(250, 177); 1408 path.lineTo(250, 177);
1431 path.lineTo(135, 177); 1409 path.lineTo(135, 177);
1432 path.lineTo(135, 151); 1410 path.lineTo(135, 151);
1433 path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f); 1411 path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f);
1434 path.close(); 1412 path.close();
1435 SkPath pathB; 1413 SkPath pathB;
1436 pathB.setFillType(SkPath::kWinding_FillType); 1414 pathB.setFillType(SkPath::kWinding_FillType);
1437 pathB.moveTo(135, 143); 1415 pathB.moveTo(135, 143);
1438 pathB.lineTo(250, 143); 1416 pathB.lineTo(250, 143);
1439 pathB.lineTo(250, 177); 1417 pathB.lineTo(250, 177);
1440 pathB.lineTo(135, 177); 1418 pathB.lineTo(135, 177);
1441 pathB.close(); 1419 pathB.close();
1442 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1420 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1443 } 1421 }
1444 1422
1445 static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filena me) { 1423 static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filena me) {
1446 SkPath path; 1424 SkPath path;
1447 path.setFillType(SkPath::kEvenOdd_FillType); 1425 path.setFillType(SkPath::kEvenOdd_FillType);
1448 path.moveTo(143, 143); 1426 path.moveTo(143, 143);
1449 path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f); 1427 path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f);
1450 path.quadTo(135.000793f, 147.687088f, 135, 151); 1428 path.quadTo(135.000793f, 147.687088f, 135, 151);
1451 path.lineTo(135, 177); 1429 path.lineTo(135, 177);
1452 path.lineTo(250, 177); 1430 path.lineTo(250, 177);
1453 path.lineTo(250, 151); 1431 path.lineTo(250, 151);
1454 path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f); 1432 path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f);
1455 path.quadTo(245.312912f, 143.000793f, 242, 143); 1433 path.quadTo(245.312912f, 143.000793f, 242, 143);
1456 path.lineTo(143, 143); 1434 path.lineTo(143, 143);
1457 path.close(); 1435 path.close();
1458 SkPath pathB; 1436 SkPath pathB;
1459 pathB.setFillType(SkPath::kInverseWinding_FillType); 1437 pathB.setFillType(SkPath::kInverseWinding_FillType);
1460 pathB.moveTo(143, 143); 1438 pathB.moveTo(143, 143);
1461 pathB.lineTo(242, 143); 1439 pathB.lineTo(242, 143);
1462 pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151); 1440 pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151);
1463 pathB.lineTo(249, 177); 1441 pathB.lineTo(249, 177);
1464 pathB.lineTo(135, 177); 1442 pathB.lineTo(135, 177);
1465 pathB.lineTo(135, 151); 1443 pathB.lineTo(135, 151);
1466 pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143); 1444 pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143);
1467 pathB.close(); 1445 pathB.close();
1468 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1446 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1469 } 1447 }
1470 1448
1471 static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename) { 1449 static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename) {
1472 SkPath path; 1450 SkPath path;
1473 path.setFillType(SkPath::kEvenOdd_FillType); 1451 path.setFillType(SkPath::kEvenOdd_FillType);
1474 path.moveTo(1001.87866f, 14.8786793f); 1452 path.moveTo(1001.87866f, 14.8786793f);
1475 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); 1453 path.quadTo(1002.75745f, 14.0001001f, 1004, 14);
1476 path.lineTo(1105, 14); 1454 path.lineTo(1105, 14);
1477 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); 1455 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f);
1478 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); 1456 path.quadTo(1107.99988f, 15.7574596f, 1108, 17);
(...skipping 11 matching lines...) Expand all
1490 pathB.moveTo(1005, 16); 1468 pathB.moveTo(1005, 16);
1491 pathB.lineTo(1104, 16); 1469 pathB.lineTo(1104, 16);
1492 pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18); 1470 pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18);
1493 pathB.lineTo(1106, 40); 1471 pathB.lineTo(1106, 40);
1494 pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42); 1472 pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42);
1495 pathB.lineTo(1005, 42); 1473 pathB.lineTo(1005, 42);
1496 pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); 1474 pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40);
1497 pathB.lineTo(1003, 18); 1475 pathB.lineTo(1003, 18);
1498 pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16); 1476 pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16);
1499 pathB.close(); 1477 pathB.close();
1500 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1478 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1501 } 1479 }
1502 1480
1503 static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename) { 1481 static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename) {
1504 SkPath path; 1482 SkPath path;
1505 path.setFillType(SkPath::kEvenOdd_FillType); 1483 path.setFillType(SkPath::kEvenOdd_FillType);
1506 path.moveTo(1001.87866f, 14.8786793f); 1484 path.moveTo(1001.87866f, 14.8786793f);
1507 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); 1485 path.quadTo(1002.75745f, 14.0001001f, 1004, 14);
1508 path.lineTo(1105, 14); 1486 path.lineTo(1105, 14);
1509 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); 1487 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f);
1510 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); 1488 path.quadTo(1107.99988f, 15.7574596f, 1108, 17);
(...skipping 15 matching lines...) Expand all
1526 path.lineTo(1005, 42); 1504 path.lineTo(1005, 42);
1527 path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); 1505 path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40);
1528 path.lineTo(1003, 18); 1506 path.lineTo(1003, 18);
1529 path.close(); 1507 path.close();
1530 SkPath pathB; 1508 SkPath pathB;
1531 pathB.setFillType(SkPath::kWinding_FillType); 1509 pathB.setFillType(SkPath::kWinding_FillType);
1532 pathB.moveTo(1108, 14); 1510 pathB.moveTo(1108, 14);
1533 pathB.lineTo(1106, 16); 1511 pathB.lineTo(1106, 16);
1534 pathB.lineTo(1105.97998f, 46.0200005f); 1512 pathB.lineTo(1105.97998f, 46.0200005f);
1535 pathB.lineTo(1108, 44); 1513 pathB.lineTo(1108, 44);
1536 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1514 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1537 } 1515 }
1538 1516
1539 static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) { 1517 static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) {
1540 SkPath path; 1518 SkPath path;
1541 path.setFillType(SkPath::kEvenOdd_FillType); 1519 path.setFillType(SkPath::kEvenOdd_FillType);
1542 path.moveTo(0, 994); 1520 path.moveTo(0, 994);
1543 path.lineTo(0, 0); 1521 path.lineTo(0, 0);
1544 path.lineTo(512, 0); 1522 path.lineTo(512, 0);
1545 path.lineTo(512, 994); 1523 path.lineTo(512, 994);
1546 path.lineTo(0, 994); 1524 path.lineTo(0, 994);
1547 path.close(); 1525 path.close();
1548 SkPath pathB; 1526 SkPath pathB;
1549 pathB.setFillType(SkPath::kWinding_FillType); 1527 pathB.setFillType(SkPath::kWinding_FillType);
1550 pathB.moveTo(-317, 168); 1528 pathB.moveTo(-317, 168);
1551 pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f); 1529 pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f);
1552 pathB.quadTo(-315.242645f, 165, -314, 165); 1530 pathB.quadTo(-315.242645f, 165, -314, 165);
1553 pathB.lineTo(320, 165); 1531 pathB.lineTo(320, 165);
1554 pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f); 1532 pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f);
1555 pathB.quadTo(323, 166.757385f, 323, 168); 1533 pathB.quadTo(323, 166.757385f, 323, 168);
1556 pathB.lineTo(323, 193); 1534 pathB.lineTo(323, 193);
1557 pathB.lineTo(-317, 193); 1535 pathB.lineTo(-317, 193);
1558 pathB.close(); 1536 pathB.close();
1559 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1537 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1560 } 1538 }
1561 1539
1562 static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) { 1540 static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) {
1563 SkPath path; 1541 SkPath path;
1564 path.setFillType(SkPath::kEvenOdd_FillType); 1542 path.setFillType(SkPath::kEvenOdd_FillType);
1565 path.moveTo(0, 193); 1543 path.moveTo(0, 193);
1566 path.lineTo(323, 193); 1544 path.lineTo(323, 193);
1567 path.lineTo(323, 168); 1545 path.lineTo(323, 168);
1568 path.quadTo(323, 166.757385f, 322.121338f, 165.878662f); 1546 path.quadTo(323, 166.757385f, 322.121338f, 165.878662f);
1569 path.quadTo(321.242615f, 165, 320, 165); 1547 path.quadTo(321.242615f, 165, 320, 165);
1570 path.lineTo(0, 165); 1548 path.lineTo(0, 165);
1571 path.lineTo(0, 193); 1549 path.lineTo(0, 193);
1572 path.close(); 1550 path.close();
1573 SkPath pathB; 1551 SkPath pathB;
1574 pathB.setFillType(SkPath::kInverseWinding_FillType); 1552 pathB.setFillType(SkPath::kInverseWinding_FillType);
1575 pathB.moveTo(-314, 165); 1553 pathB.moveTo(-314, 165);
1576 pathB.lineTo(320, 165); 1554 pathB.lineTo(320, 165);
1577 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); 1555 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168);
1578 pathB.lineTo(323, 192); 1556 pathB.lineTo(323, 192);
1579 pathB.lineTo(-317, 192); 1557 pathB.lineTo(-317, 192);
1580 pathB.lineTo(-317, 168); 1558 pathB.lineTo(-317, 168);
1581 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); 1559 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165);
1582 pathB.close(); 1560 pathB.close();
1583 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1561 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1584 } 1562 }
1585 1563
1586 /* Three edges are partially coincident. Only one of the three knows about the o ther two.
1587 Subsequently, when the angle loop is created, it misses one of the edges.
1588 After coincident edges are processed, probably need a check-and-correct that makes sure the
1589 coincidences are all self-consistent.
1590 */
1591 static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename) { 1564 static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename) {
1592 SkPath path; 1565 SkPath path;
1593 path.setFillType(SkPath::kEvenOdd_FillType); 1566 path.setFillType(SkPath::kEvenOdd_FillType);
1594 path.moveTo(183, 8507); 1567 path.moveTo(183, 8507);
1595 path.lineTo(552, 8506.99023f); 1568 path.lineTo(552, 8506.99023f);
1596 path.lineTo(552, 8508); 1569 path.lineTo(552, 8508);
1597 path.lineTo(183, 8508); 1570 path.lineTo(183, 8508);
1598 path.lineTo(183, 8507); 1571 path.lineTo(183, 8507);
1599 path.close(); 1572 path.close();
1600 SkPath pathB; 1573 SkPath pathB;
1601 pathB.setFillType(SkPath::kWinding_FillType); 1574 pathB.setFillType(SkPath::kWinding_FillType);
1602 pathB.moveTo(183, 8508); 1575 pathB.moveTo(183, 8508);
1603 pathB.lineTo(183, 8506.99023f); 1576 pathB.lineTo(183, 8506.99023f);
1604 pathB.lineTo(552, 8507); 1577 pathB.lineTo(552, 8507);
1605 pathB.lineTo(552, 8508); 1578 pathB.lineTo(552, 8508);
1606 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1579 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1607 } 1580 }
1608 1581
1609 /* this generates a pair of lines that are essentially coincident; but the next line at a right
1610 angle is not treated as if it intersects at the same point.
1611 There are several of options:
1612 move the intersection of the right angle line to the coincident point (shou ld 'near' do this?
1613 construct another coincident pair from the right angle line to the coincide nt point
1614 treat the intersection as simple and not coincident
1615 */
1616 static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filen ame) { 1582 static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filen ame) {
1617 SkPath path; 1583 SkPath path;
1618 path.setFillType(SkPath::kEvenOdd_FillType); 1584 path.setFillType(SkPath::kEvenOdd_FillType);
1619 path.moveTo(140, 1000); 1585 path.moveTo(140, 1000);
1620 path.lineTo(140, 842); 1586 path.lineTo(140, 842);
1621 path.lineTo(141, 842); 1587 path.lineTo(141, 842);
1622 path.lineTo(141.14502f, 1000); 1588 path.lineTo(141.14502f, 1000);
1623 path.lineTo(140, 1000); 1589 path.lineTo(140, 1000);
1624 path.close(); 1590 path.close();
1625 SkPath pathB; 1591 SkPath pathB;
1626 pathB.setFillType(SkPath::kWinding_FillType); 1592 pathB.setFillType(SkPath::kWinding_FillType);
1627 pathB.moveTo(140, 842); 1593 pathB.moveTo(140, 842);
1628 pathB.lineTo(141.008835f, 837.9646f); 1594 pathB.lineTo(141.008835f, 837.9646f);
1629 pathB.lineTo(141.235291f, 1109.05884f); 1595 pathB.lineTo(141.235291f, 1109.05884f);
1630 pathB.lineTo(140, 1114); 1596 pathB.lineTo(140, 1114);
1631 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1597 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1632 } 1598 }
1633 1599
1634 // fails on angle insert -- haven't investigated yet
1635 static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil ename) { 1600 static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil ename) {
1636 SkPath path; 1601 SkPath path;
1637 path.setFillType(SkPath::kEvenOdd_FillType); 1602 path.setFillType(SkPath::kEvenOdd_FillType);
1638 path.moveTo(134.34314f, 9802.34277f); 1603 path.moveTo(134.34314f, 9802.34277f);
1639 path.quadTo(132, 9804.68652f, 132, 9808); 1604 path.quadTo(132, 9804.68652f, 132, 9808);
1640 path.lineTo(132, 9822); 1605 path.lineTo(132, 9822);
1641 path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f); 1606 path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f);
1642 path.quadTo(136.686295f, 9830, 140, 9830); 1607 path.quadTo(136.686295f, 9830, 140, 9830);
1643 path.lineTo(140.028473f, 9830); 1608 path.lineTo(140.028473f, 9830);
1644 path.lineTo(139.877213f, 9828.90723f); 1609 path.lineTo(139.877213f, 9828.90723f);
1645 path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f); 1610 path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f);
1646 path.quadTo(134, 9824.31348f, 134, 9821); 1611 path.quadTo(134, 9824.31348f, 134, 9821);
1647 path.lineTo(134, 9809); 1612 path.lineTo(134, 9809);
1648 path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f); 1613 path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f);
1649 path.lineTo(134.34314f, 9802.34277f); 1614 path.lineTo(134.34314f, 9802.34277f);
1650 path.close(); 1615 path.close();
1651 SkPath pathB; 1616 SkPath pathB;
1652 pathB.setFillType(SkPath::kWinding_FillType); 1617 pathB.setFillType(SkPath::kWinding_FillType);
1653 pathB.moveTo(132, 9800); 1618 pathB.moveTo(132, 9800);
1654 pathB.lineTo(135.962357f, 9800); 1619 pathB.lineTo(135.962357f, 9800);
1655 pathB.lineTo(140, 9830); 1620 pathB.lineTo(140, 9830);
1656 pathB.lineTo(132, 9830); 1621 pathB.lineTo(132, 9830);
1657 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1622 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1658 } 1623 }
1659 1624
1660 /* asserts in alignSpanState looks like a coincident related bug */
1661 static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file name) { 1625 static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file name) {
1662 SkPath path; 1626 SkPath path;
1663 path.setFillType(SkPath::kEvenOdd_FillType); 1627 path.setFillType(SkPath::kEvenOdd_FillType);
1664 path.moveTo(817.464478f, 11.4644661f); 1628 path.moveTo(817.464478f, 11.4644661f);
1665 path.quadTo(818.928955f, 10, 821, 10); 1629 path.quadTo(818.928955f, 10, 821, 10);
1666 path.lineTo(998, 10); 1630 path.lineTo(998, 10);
1667 path.quadTo(999.082947f, 10, 1000, 10.4003992f); 1631 path.quadTo(999.082947f, 10, 1000, 10.4003992f);
1668 path.lineTo(1000, 13.3527431f); 1632 path.lineTo(1000, 13.3527431f);
1669 path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f); 1633 path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f);
1670 path.quadTo(998.65686f, 12, 997, 12); 1634 path.quadTo(998.65686f, 12, 997, 12);
(...skipping 13 matching lines...) Expand all
1684 path.quadTo(816, 31.0710678f, 816, 29); 1648 path.quadTo(816, 31.0710678f, 816, 29);
1685 path.lineTo(816, 15); 1649 path.lineTo(816, 15);
1686 path.quadTo(816, 12.9289322f, 817.464478f, 11.4644661f); 1650 path.quadTo(816, 12.9289322f, 817.464478f, 11.4644661f);
1687 path.close(); 1651 path.close();
1688 SkPath pathB; 1652 SkPath pathB;
1689 pathB.setFillType(SkPath::kWinding_FillType); 1653 pathB.setFillType(SkPath::kWinding_FillType);
1690 pathB.moveTo(1003, 10); 1654 pathB.moveTo(1003, 10);
1691 pathB.lineTo(1000, 13); 1655 pathB.lineTo(1000, 13);
1692 pathB.lineTo(999.969971f, 37.0299988f); 1656 pathB.lineTo(999.969971f, 37.0299988f);
1693 pathB.lineTo(1003, 34); 1657 pathB.lineTo(1003, 34);
1694 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1658 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1695 } 1659 }
1696 1660
1697 // fails on angle insert
1698 static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi lename) { 1661 static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi lename) {
1699 SkPath path; 1662 SkPath path;
1700 path.setFillType(SkPath::kEvenOdd_FillType); 1663 path.setFillType(SkPath::kEvenOdd_FillType);
1701 path.moveTo(966.464478f, 4261.46436f); 1664 path.moveTo(966.464478f, 4261.46436f);
1702 path.quadTo(965, 4262.92871f, 965, 4265); 1665 path.quadTo(965, 4262.92871f, 965, 4265);
1703 path.lineTo(965, 4276); 1666 path.lineTo(965, 4276);
1704 path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f); 1667 path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f);
1705 path.quadTo(967.928955f, 4281, 970, 4281); 1668 path.quadTo(967.928955f, 4281, 970, 4281);
1706 path.lineTo(970.020325f, 4281); 1669 path.lineTo(970.020325f, 4281);
1707 path.lineTo(969.887512f, 4279.81641f); 1670 path.lineTo(969.887512f, 4279.81641f);
1708 path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f); 1671 path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f);
1709 path.quadTo(967, 4277.07129f, 967, 4275); 1672 path.quadTo(967, 4277.07129f, 967, 4275);
1710 path.lineTo(967, 4266); 1673 path.lineTo(967, 4266);
1711 path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f); 1674 path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f);
1712 path.lineTo(968, 4263); 1675 path.lineTo(968, 4263);
1713 path.lineTo(966.464478f, 4261.46436f); 1676 path.lineTo(966.464478f, 4261.46436f);
1714 path.close(); 1677 path.close();
1715 SkPath pathB; 1678 SkPath pathB;
1716 pathB.setFillType(SkPath::kWinding_FillType); 1679 pathB.setFillType(SkPath::kWinding_FillType);
1717 pathB.moveTo(965, 4260); 1680 pathB.moveTo(965, 4260);
1718 pathB.lineTo(967.716675f, 4260); 1681 pathB.lineTo(967.716675f, 4260);
1719 pathB.lineTo(970, 4281); 1682 pathB.lineTo(970, 4281);
1720 pathB.lineTo(965, 4281); 1683 pathB.lineTo(965, 4281);
1721 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1684 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1722 } 1685 }
1723 1686
1724 // fails in intersections insert
1725 static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha r* filename) { 1687 static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha r* filename) {
1726 SkPath path; 1688 SkPath path;
1727 path.setFillType(SkPath::kEvenOdd_FillType); 1689 path.setFillType(SkPath::kEvenOdd_FillType);
1728 path.moveTo(991.633911f, 1839); 1690 path.moveTo(991.633911f, 1839);
1729 path.lineTo(964.265015f, 1839); 1691 path.lineTo(964.265015f, 1839);
1730 path.lineTo(963.734985f, 1893.73242f); 1692 path.lineTo(963.734985f, 1893.73242f);
1731 path.lineTo(991.3703f, 1894); 1693 path.lineTo(991.3703f, 1894);
1732 path.lineTo(1018.23492f, 1894); 1694 path.lineTo(1018.23492f, 1894);
1733 path.lineTo(1018.76501f, 1839.2627f); 1695 path.lineTo(1018.76501f, 1839.2627f);
1734 path.lineTo(991.638184f, 1839); 1696 path.lineTo(991.638184f, 1839);
1735 path.lineTo(991.633911f, 1839); 1697 path.lineTo(991.633911f, 1839);
1736 path.close(); 1698 path.close();
1737 SkPath pathB; 1699 SkPath pathB;
1738 pathB.setFillType(SkPath::kWinding_FillType); 1700 pathB.setFillType(SkPath::kWinding_FillType);
1739 pathB.moveTo(964.267578f, 1838.73499f); 1701 pathB.moveTo(964.267578f, 1838.73499f);
1740 pathB.lineTo(1019.26501f, 1839.26758f); 1702 pathB.lineTo(1019.26501f, 1839.26758f);
1741 pathB.lineTo(1018.73242f, 1894.26501f); 1703 pathB.lineTo(1018.73242f, 1894.26501f);
1742 pathB.lineTo(963.734985f, 1893.73242f); 1704 pathB.lineTo(963.734985f, 1893.73242f);
1743 pathB.close(); 1705 pathB.close();
1744 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1706 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1745 } 1707 }
1746 1708
1747 static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char* filename) { 1709 static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char* filename) {
1748 SkPath path; 1710 SkPath path;
1749 path.setFillType(SkPath::kEvenOdd_FillType); 1711 path.setFillType(SkPath::kEvenOdd_FillType);
1750 path.moveTo(1129.53552f, 1164.46448f); 1712 path.moveTo(1129.53552f, 1164.46448f);
1751 path.lineTo(1128, 1166); 1713 path.lineTo(1128, 1166);
1752 path.lineTo(1128.12231f, 1166.49548f); 1714 path.lineTo(1128.12231f, 1166.49548f);
1753 path.quadTo(1129, 1167.56592f, 1129, 1169); 1715 path.quadTo(1129, 1167.56592f, 1129, 1169);
1754 path.lineTo(1129, 1170.05054f); 1716 path.lineTo(1129, 1170.05054f);
1755 path.lineTo(1130.34509f, 1175.49878f); 1717 path.lineTo(1130.34509f, 1175.49878f);
1756 path.quadTo(1131, 1174.38513f, 1131, 1173); 1718 path.quadTo(1131, 1174.38513f, 1131, 1173);
1757 path.lineTo(1131, 1168); 1719 path.lineTo(1131, 1168);
1758 path.quadTo(1131, 1165.92896f, 1129.53552f, 1164.46448f); 1720 path.quadTo(1131, 1165.92896f, 1129.53552f, 1164.46448f);
1759 path.close(); 1721 path.close();
1760 SkPath pathB; 1722 SkPath pathB;
1761 pathB.setFillType(SkPath::kWinding_FillType); 1723 pathB.setFillType(SkPath::kWinding_FillType);
1762 pathB.moveTo(1131, 1163); 1724 pathB.moveTo(1131, 1163);
1763 pathB.lineTo(-43515.8555f, -177415.594f); 1725 pathB.lineTo(-43515.8555f, -177415.594f);
1764 pathB.lineTo(1129.76465f, 1173.05884f); 1726 pathB.lineTo(1129.76465f, 1173.05884f);
1765 pathB.lineTo(1131, 1178); 1727 pathB.lineTo(1131, 1178);
1766 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1728 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1767 } 1729 }
1768 1730
1769 // /SkOpContour.cpp:278: failed assertion "!approximately_negative(oEndT - oStar tT)
1770 static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char * filename) { 1731 static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char * filename) {
1771 SkPath path; 1732 SkPath path;
1772 path.setFillType(SkPath::kEvenOdd_FillType); 1733 path.setFillType(SkPath::kEvenOdd_FillType);
1773 path.moveTo(143.292892f, 0.707106769f); 1734 path.moveTo(143.292892f, 0.707106769f);
1774 path.quadTo(143, 0.414213538f, 143, 0); 1735 path.quadTo(143, 0.414213538f, 143, 0);
1775 path.lineTo(1123, 0); 1736 path.lineTo(1123, 0);
1776 path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f); 1737 path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f);
1777 path.quadTo(1122.41418f, 1, 1122, 1); 1738 path.quadTo(1122.41418f, 1, 1122, 1);
1778 path.lineTo(144, 1); 1739 path.lineTo(144, 1);
1779 path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f); 1740 path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f);
1780 path.close(); 1741 path.close();
1781 SkPath pathB; 1742 SkPath pathB;
1782 pathB.setFillType(SkPath::kWinding_FillType); 1743 pathB.setFillType(SkPath::kWinding_FillType);
1783 pathB.moveTo(143, 1); 1744 pathB.moveTo(143, 1);
1784 pathB.lineTo(144, 0); 1745 pathB.lineTo(144, 0);
1785 pathB.lineTo(1122, 0); 1746 pathB.lineTo(1122, 0);
1786 pathB.lineTo(1123, 1); 1747 pathB.lineTo(1123, 1);
1787 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1748 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1788 } 1749 }
1789 1750
1790 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue);
1791 static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons t char* filename) { 1751 static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons t char* filename) {
1792 SkPath path; 1752 SkPath path;
1793 path.setFillType(SkPath::kEvenOdd_FillType); 1753 path.setFillType(SkPath::kEvenOdd_FillType);
1794 path.moveTo(741, 9432); 1754 path.moveTo(741, 9432);
1795 path.lineTo(761, 9431.99023f); 1755 path.lineTo(761, 9431.99023f);
1796 path.lineTo(761, 9433); 1756 path.lineTo(761, 9433);
1797 path.lineTo(741, 9433); 1757 path.lineTo(741, 9433);
1798 path.lineTo(741, 9432); 1758 path.lineTo(741, 9432);
1799 path.close(); 1759 path.close();
1800 SkPath pathB; 1760 SkPath pathB;
1801 pathB.setFillType(SkPath::kWinding_FillType); 1761 pathB.setFillType(SkPath::kWinding_FillType);
1802 pathB.moveTo(741, 9433); 1762 pathB.moveTo(741, 9433);
1803 pathB.lineTo(741, 9431.99023f); 1763 pathB.lineTo(741, 9431.99023f);
1804 pathB.lineTo(761, 9432); 1764 pathB.lineTo(761, 9432);
1805 pathB.lineTo(761, 9433); 1765 pathB.lineTo(761, 9433);
1806 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1766 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1807 } 1767 }
1808 1768
1809 static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char* filename) { 1769 static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char* filename) {
1810 SkPath path; 1770 SkPath path;
1811 path.setFillType(SkPath::kEvenOdd_FillType); 1771 path.setFillType(SkPath::kEvenOdd_FillType);
1812 path.moveTo(1000, 343); 1772 path.moveTo(1000, 343);
1813 path.lineTo(165, 343); 1773 path.lineTo(165, 343);
1814 path.lineTo(165, 364.869873f); 1774 path.lineTo(165, 364.869873f);
1815 path.lineTo(1000, 364.869873f); 1775 path.lineTo(1000, 364.869873f);
1816 path.lineTo(1000, 343); 1776 path.lineTo(1000, 343);
1817 path.close(); 1777 path.close();
1818 SkPath pathB; 1778 SkPath pathB;
1819 pathB.setFillType(SkPath::kWinding_FillType); 1779 pathB.setFillType(SkPath::kWinding_FillType);
1820 pathB.moveTo(165, 343.000031f); 1780 pathB.moveTo(165, 343.000031f);
1821 pathB.lineTo(1000, 343.000031f); 1781 pathB.lineTo(1000, 343.000031f);
1822 pathB.lineTo(1000, 364.869904f); 1782 pathB.lineTo(1000, 364.869904f);
1823 pathB.lineTo(165, 364.869904f); 1783 pathB.lineTo(165, 364.869904f);
1824 pathB.close(); 1784 pathB.close();
1825 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1785 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1826 } 1786 }
1827 1787
1828 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue);
1829 static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi lename) { 1788 static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi lename) {
1830 SkPath path; 1789 SkPath path;
1831 path.setFillType(SkPath::kEvenOdd_FillType); 1790 path.setFillType(SkPath::kEvenOdd_FillType);
1832 path.moveTo(838, 9125); 1791 path.moveTo(838, 9125);
1833 path.lineTo(862, 9124.99023f); 1792 path.lineTo(862, 9124.99023f);
1834 path.lineTo(862, 9126); 1793 path.lineTo(862, 9126);
1835 path.lineTo(838, 9126); 1794 path.lineTo(838, 9126);
1836 path.lineTo(838, 9125); 1795 path.lineTo(838, 9125);
1837 path.close(); 1796 path.close();
1838 SkPath pathB; 1797 SkPath pathB;
1839 pathB.setFillType(SkPath::kWinding_FillType); 1798 pathB.setFillType(SkPath::kWinding_FillType);
1840 pathB.moveTo(838, 9126); 1799 pathB.moveTo(838, 9126);
1841 pathB.lineTo(838, 9124.99023f); 1800 pathB.lineTo(838, 9124.99023f);
1842 pathB.lineTo(862, 9125); 1801 pathB.lineTo(862, 9125);
1843 pathB.lineTo(862, 9126); 1802 pathB.lineTo(862, 9126);
1844 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1803 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1845 } 1804 }
1846 1805
1847 // debugValidateLoop loop sum fails
1848 static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi lename) { 1806 static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi lename) {
1849 SkPath path; 1807 SkPath path;
1850 path.setFillType(SkPath::kEvenOdd_FillType); 1808 path.setFillType(SkPath::kEvenOdd_FillType);
1851 path.moveTo(143, 9075); 1809 path.moveTo(143, 9075);
1852 path.lineTo(316, 9075); 1810 path.lineTo(316, 9075);
1853 path.lineTo(316, 9073.99023f); 1811 path.lineTo(316, 9073.99023f);
1854 path.lineTo(143, 9074); 1812 path.lineTo(143, 9074);
1855 path.lineTo(143, 9075); 1813 path.lineTo(143, 9075);
1856 path.close(); 1814 path.close();
1857 SkPath pathB; 1815 SkPath pathB;
1858 pathB.setFillType(SkPath::kWinding_FillType); 1816 pathB.setFillType(SkPath::kWinding_FillType);
1859 pathB.moveTo(143, 9075); 1817 pathB.moveTo(143, 9075);
1860 pathB.lineTo(143, 9073.99023f); 1818 pathB.lineTo(143, 9073.99023f);
1861 pathB.lineTo(316, 9074); 1819 pathB.lineTo(316, 9074);
1862 pathB.lineTo(316, 9075); 1820 pathB.lineTo(316, 9075);
1863 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1821 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1864 } 1822 }
1865 1823
1866 // debugValidateLoop loop sum fails
1867 static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi lename) { 1824 static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi lename) {
1868 SkPath path; 1825 SkPath path;
1869 path.setFillType(SkPath::kEvenOdd_FillType); 1826 path.setFillType(SkPath::kEvenOdd_FillType);
1870 path.moveTo(541.5f, 4835.99512f); 1827 path.moveTo(541.5f, 4835.99512f);
1871 path.lineTo(91.5f, 4836); 1828 path.lineTo(91.5f, 4836);
1872 path.lineTo(91.5f, 4836.5f); 1829 path.lineTo(91.5f, 4836.5f);
1873 path.lineTo(541.5f, 4836.5f); 1830 path.lineTo(541.5f, 4836.5f);
1874 path.lineTo(541.5f, 4835.99512f); 1831 path.lineTo(541.5f, 4835.99512f);
1875 path.close(); 1832 path.close();
1876 SkPath pathB; 1833 SkPath pathB;
1877 pathB.setFillType(SkPath::kWinding_FillType); 1834 pathB.setFillType(SkPath::kWinding_FillType);
1878 pathB.moveTo(91.5f, 4836.5f); 1835 pathB.moveTo(91.5f, 4836.5f);
1879 pathB.lineTo(91.5f, 4835.99512f); 1836 pathB.lineTo(91.5f, 4835.99512f);
1880 pathB.lineTo(541.5f, 4836); 1837 pathB.lineTo(541.5f, 4836);
1881 pathB.lineTo(541.5f, 4836.5f); 1838 pathB.lineTo(541.5f, 4836.5f);
1882 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1839 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1883 } 1840 }
1884 1841
1885 // SkIntersections::lineVertical fUsed >= fMax
1886 static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file name) { 1842 static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file name) {
1887 SkPath path; 1843 SkPath path;
1888 path.setFillType(SkPath::kEvenOdd_FillType); 1844 path.setFillType(SkPath::kEvenOdd_FillType);
1889 path.moveTo(284.878693f, 10134.8789f); 1845 path.moveTo(284.878693f, 10134.8789f);
1890 path.quadTo(284, 10135.7578f, 284, 10137); 1846 path.quadTo(284, 10135.7578f, 284, 10137);
1891 path.lineTo(284, 10216); 1847 path.lineTo(284, 10216);
1892 path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f); 1848 path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f);
1893 path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f); 1849 path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f);
1894 path.lineTo(286, 10138); 1850 path.lineTo(286, 10138);
1895 path.lineTo(286, 10136); 1851 path.lineTo(286, 10136);
1896 path.lineTo(284.878693f, 10134.8789f); 1852 path.lineTo(284.878693f, 10134.8789f);
1897 path.close(); 1853 path.close();
1898 SkPath pathB; 1854 SkPath pathB;
1899 pathB.setFillType(SkPath::kWinding_FillType); 1855 pathB.setFillType(SkPath::kWinding_FillType);
1900 pathB.moveTo(284, 10134); 1856 pathB.moveTo(284, 10134);
1901 pathB.lineTo(286.05957f, 10129.8809f); 1857 pathB.lineTo(286.05957f, 10129.8809f);
1902 pathB.lineTo(285.399994f, 10216.2002f); 1858 pathB.lineTo(285.399994f, 10216.2002f);
1903 pathB.lineTo(284, 10219); 1859 pathB.lineTo(284, 10219);
1904 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1860 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1905 } 1861 }
1906 1862
1907 // SkOpContour::calcPartialCoincidentWinding SkASSERT(!approximately_negative(en dT - startT));
1908 static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch ar* filename) { 1863 static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch ar* filename) {
1909 SkPath path; 1864 SkPath path;
1910 path.setFillType(SkPath::kEvenOdd_FillType); 1865 path.setFillType(SkPath::kEvenOdd_FillType);
1911 path.moveTo(3.17157292f, 11831.1719f); 1866 path.moveTo(3.17157292f, 11831.1719f);
1912 path.quadTo(4.34314585f, 11830, 6, 11830); 1867 path.quadTo(4.34314585f, 11830, 6, 11830);
1913 path.lineTo(1259, 11830); 1868 path.lineTo(1259, 11830);
1914 path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f); 1869 path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f);
1915 path.quadTo(1263, 11832.3428f, 1263, 11834); 1870 path.quadTo(1263, 11832.3428f, 1263, 11834);
1916 path.lineTo(1263, 11848); 1871 path.lineTo(1263, 11848);
1917 path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f); 1872 path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f);
(...skipping 17 matching lines...) Expand all
1935 path.quadTo(3, 11849.2422f, 3, 11848); 1890 path.quadTo(3, 11849.2422f, 3, 11848);
1936 path.lineTo(3, 11834); 1891 path.lineTo(3, 11834);
1937 path.quadTo(3, 11832.7578f, 3.87867975f, 11831.8789f); 1892 path.quadTo(3, 11832.7578f, 3.87867975f, 11831.8789f);
1938 path.close(); 1893 path.close();
1939 SkPath pathB; 1894 SkPath pathB;
1940 pathB.setFillType(SkPath::kWinding_FillType); 1895 pathB.setFillType(SkPath::kWinding_FillType);
1941 pathB.moveTo(2, 11830); 1896 pathB.moveTo(2, 11830);
1942 pathB.lineTo(4.5f, 11832.5f); 1897 pathB.lineTo(4.5f, 11832.5f);
1943 pathB.lineTo(1260.5f, 11832.5f); 1898 pathB.lineTo(1260.5f, 11832.5f);
1944 pathB.lineTo(1263, 11830); 1899 pathB.lineTo(1263, 11830);
1945 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1900 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1946 } 1901 }
1947 1902
1948 // can't find winding of remaining vertical edges
1949 static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f ilename) { 1903 static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f ilename) {
1950 SkPath path; 1904 SkPath path;
1951 path.setFillType(SkPath::kEvenOdd_FillType); 1905 path.setFillType(SkPath::kEvenOdd_FillType);
1952 path.moveTo(1000, 902.329346f); 1906 path.moveTo(1000, 902.329346f);
1953 path.quadTo(998, 905.250427f, 998, 909); 1907 path.quadTo(998, 905.250427f, 998, 909);
1954 path.lineTo(998, 910); 1908 path.lineTo(998, 910);
1955 path.quadTo(998, 913.749573f, 1000, 916.670654f); 1909 path.quadTo(998, 913.749573f, 1000, 916.670654f);
1956 path.lineTo(1000, 902.329346f); 1910 path.lineTo(1000, 902.329346f);
1957 path.close(); 1911 path.close();
1958 SkPath pathB; 1912 SkPath pathB;
1959 pathB.setFillType(SkPath::kWinding_FillType); 1913 pathB.setFillType(SkPath::kWinding_FillType);
1960 pathB.moveTo(998, 910); 1914 pathB.moveTo(998, 910);
1961 pathB.lineTo(998, 909); 1915 pathB.lineTo(998, 909);
1962 pathB.quadTo(998, 904.029419f, 1001.51471f, 900.514709f); 1916 pathB.quadTo(998, 904.029419f, 1001.51471f, 900.514709f);
1963 pathB.quadTo(1005.02942f, 897, 1010, 897); 1917 pathB.quadTo(1005.02942f, 897, 1010, 897);
1964 pathB.lineTo(1011, 897); 1918 pathB.lineTo(1011, 897);
1965 pathB.quadTo(1015.14215f, 897, 1018.07104f, 900.514709f); 1919 pathB.quadTo(1015.14215f, 897, 1018.07104f, 900.514709f);
1966 pathB.quadTo(1021, 904.029419f, 1021, 909); 1920 pathB.quadTo(1021, 904.029419f, 1021, 909);
1967 pathB.lineTo(1021, 910); 1921 pathB.lineTo(1021, 910);
1968 pathB.quadTo(1021, 914.142151f, 1018.07104f, 917.071045f); 1922 pathB.quadTo(1021, 914.142151f, 1018.07104f, 917.071045f);
1969 pathB.quadTo(1015.14215f, 920, 1011, 920); 1923 pathB.quadTo(1015.14215f, 920, 1011, 920);
1970 pathB.lineTo(1010, 920); 1924 pathB.lineTo(1010, 920);
1971 pathB.quadTo(1005.02942f, 920, 1001.51471f, 917.071045f); 1925 pathB.quadTo(1005.02942f, 920, 1001.51471f, 917.071045f);
1972 pathB.quadTo(998, 914.142151f, 998, 910); 1926 pathB.quadTo(998, 914.142151f, 998, 910);
1973 pathB.close(); 1927 pathB.close();
1974 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 1928 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
1975 } 1929 }
1976 1930
1977 static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter, const char* filename) { 1931 static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter, const char* filename) {
1978 SkPath path; 1932 SkPath path;
1979 path.setFillType(SkPath::kEvenOdd_FillType); 1933 path.setFillType(SkPath::kEvenOdd_FillType);
1980 path.moveTo(610.5f, 5.78626502e-14f); 1934 path.moveTo(610.5f, 5.78626502e-14f);
1981 path.lineTo(1083.5f, -6.12303177e-17f); 1935 path.lineTo(1083.5f, -6.12303177e-17f);
1982 path.lineTo(1083.5f, 469); 1936 path.lineTo(1083.5f, 469);
1983 path.lineTo(610.5f, 469); 1937 path.lineTo(610.5f, 469);
1984 path.lineTo(610.5f, 5.78626502e-14f); 1938 path.lineTo(610.5f, 5.78626502e-14f);
1985 path.close(); 1939 path.close();
1986 SkPath pathB; 1940 SkPath pathB;
1987 pathB.setFillType(SkPath::kWinding_FillType); 1941 pathB.setFillType(SkPath::kWinding_FillType);
1988 pathB.moveTo(611, 0); 1942 pathB.moveTo(611, 0);
1989 pathB.lineTo(1084, 0); 1943 pathB.lineTo(1084, 0);
1990 pathB.lineTo(1084, 469); 1944 pathB.lineTo(1084, 469);
1991 pathB.lineTo(611, 469); 1945 pathB.lineTo(611, 469);
1992 pathB.close(); 1946 pathB.close();
1993 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1947 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
1994 } 1948 }
1995 1949
1996 // asserts in bridgeOp simple->isClosed()
1997 static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c har* filename) { 1950 static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c har* filename) {
1998 SkPath path; 1951 SkPath path;
1999 path.setFillType(SkPath::kEvenOdd_FillType); 1952 path.setFillType(SkPath::kEvenOdd_FillType);
2000 path.moveTo(85.6091843f, 5.92893219f); 1953 path.moveTo(85.6091843f, 5.92893219f);
2001 path.quadTo(89.6041641f, 3, 93.7462997f, 3); 1954 path.quadTo(89.6041641f, 3, 93.7462997f, 3);
2002 path.lineTo(1212.74634f, 3); 1955 path.lineTo(1212.74634f, 3);
2003 path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f); 1956 path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f);
2004 path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f); 1957 path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f);
2005 path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f); 1958 path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f);
2006 path.quadTo(1216.52441f, 4, 1212.38232f, 4); 1959 path.quadTo(1216.52441f, 4, 1212.38232f, 4);
2007 path.lineTo(93.3823318f, 4); 1960 path.lineTo(93.3823318f, 4);
2008 path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f); 1961 path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f);
2009 path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13); 1962 path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13);
2010 path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f); 1963 path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f);
2011 path.close(); 1964 path.close();
2012 SkPath pathB; 1965 SkPath pathB;
2013 pathB.setFillType(SkPath::kWinding_FillType); 1966 pathB.setFillType(SkPath::kWinding_FillType);
2014 pathB.moveTo(83.7462997f, 3); 1967 pathB.moveTo(83.7462997f, 3);
2015 pathB.lineTo(1222.74634f, 3); 1968 pathB.lineTo(1222.74634f, 3);
2016 pathB.lineTo(1219.10657f, 13); 1969 pathB.lineTo(1219.10657f, 13);
2017 pathB.lineTo(80.1065979f, 13); 1970 pathB.lineTo(80.1065979f, 13);
2018 pathB.close(); 1971 pathB.close();
2019 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1972 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2020 } 1973 }
2021 1974
2022 static void skpwww_phototransferapp_com_24x(skiatest::Reporter* reporter, const char* filename) { 1975 static void skpwww_phototransferapp_com_24x(skiatest::Reporter* reporter, const char* filename) {
2023 SkPath path; 1976 SkPath path;
2024 path.setFillType(SkPath::kEvenOdd_FillType); 1977 path.setFillType(SkPath::kEvenOdd_FillType);
2025 path.moveTo(85.6091843f, 5.92893219f); 1978 path.moveTo(85.6091843f, 5.92893219f);
2026 path.quadTo(89.6041641f, 3, 93.7462997f, 3); 1979 path.quadTo(89.6041641f, 3, 93.7462997f, 3);
2027 path.lineTo(112.74634f, 3); 1980 path.lineTo(112.74634f, 3);
2028 path.quadTo(116.88843f, 3, 118.75134f, 5.92893219f); 1981 path.quadTo(116.88843f, 3, 118.75134f, 5.92893219f);
2029 path.quadTo(120.61414f, 8.85775471f, 119.10669f, 12.9996767f); 1982 path.quadTo(120.61414f, 8.85775471f, 119.10669f, 12.9996767f);
2030 path.quadTo(120.46338f, 9.27196693f, 118.4939f, 6.63603878f); 1983 path.quadTo(120.46338f, 9.27196693f, 118.4939f, 6.63603878f);
2031 path.quadTo(116.52441f, 4, 112.38232f, 4); 1984 path.quadTo(116.52441f, 4, 112.38232f, 4);
2032 path.lineTo(93.3823318f, 4); 1985 path.lineTo(93.3823318f, 4);
2033 path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f); 1986 path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f);
2034 path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13); 1987 path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13);
2035 path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f); 1988 path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f);
2036 path.close(); 1989 path.close();
2037 SkPath pathB; 1990 SkPath pathB;
2038 pathB.setFillType(SkPath::kWinding_FillType); 1991 pathB.setFillType(SkPath::kWinding_FillType);
2039 pathB.moveTo(83.7462997f, 3); 1992 pathB.moveTo(83.7462997f, 3);
2040 pathB.lineTo(122.74634f, 3); 1993 pathB.lineTo(122.74634f, 3);
2041 pathB.lineTo(119.10657f, 13); 1994 pathB.lineTo(119.10657f, 13);
2042 pathB.lineTo(80.1065979f, 13); 1995 pathB.lineTo(80.1065979f, 13);
2043 pathB.close(); 1996 pathB.close();
2044 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 1997 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2045 } 1998 }
2046 1999
2047 static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filena me) { 2000 static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filena me) {
2048 SkPath path; 2001 SkPath path;
2049 path.setFillType(SkPath::kEvenOdd_FillType); 2002 path.setFillType(SkPath::kEvenOdd_FillType);
2050 path.moveTo(117.686981f, 3339.08423f); 2003 path.moveTo(117.686981f, 3339.08423f);
2051 path.lineTo(109.533035f, 3350.72925f); 2004 path.lineTo(109.533035f, 3350.72925f);
2052 path.quadTo(107.120552f, 3354.17456f, 103.879379f, 3354.41821f); 2005 path.quadTo(107.120552f, 3354.17456f, 103.879379f, 3354.41821f);
2053 path.quadTo(100.638504f, 3354.66187f, 98.4674301f, 3351.56177f); 2006 path.quadTo(100.638504f, 3354.66187f, 98.4674301f, 3351.56177f);
2054 path.quadTo(100.87973f, 3355.00635f, 104.291222f, 3355.00635f); 2007 path.quadTo(100.87973f, 3355.00635f, 104.291222f, 3355.00635f);
2055 path.quadTo(107.70298f, 3355.00635f, 110.115463f, 3351.56104f); 2008 path.quadTo(107.70298f, 3355.00635f, 110.115463f, 3351.56104f);
2056 path.lineTo(118, 3340.30078f); 2009 path.lineTo(118, 3340.30078f);
2057 path.lineTo(118, 3339.53125f); 2010 path.lineTo(118, 3339.53125f);
2058 path.lineTo(117.686981f, 3339.08423f); 2011 path.lineTo(117.686981f, 3339.08423f);
2059 path.close(); 2012 path.close();
2060 SkPath pathB; 2013 SkPath pathB;
2061 pathB.setFillType(SkPath::kWinding_FillType); 2014 pathB.setFillType(SkPath::kWinding_FillType);
2062 pathB.moveTo(118.269409f, 3339.91602f); 2015 pathB.moveTo(118.269409f, 3339.91602f);
2063 pathB.lineTo(117.686981f, 3339.08423f); 2016 pathB.lineTo(117.686981f, 3339.08423f);
2064 pathB.lineTo(98.4669647f, 3351.56104f); 2017 pathB.lineTo(98.4669647f, 3351.56104f);
2065 pathB.lineTo(104.291214f, 3359.87891f); 2018 pathB.lineTo(104.291214f, 3359.87891f);
2066 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2019 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2067 } 2020 }
2068 2021
2069 static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* fi lename) { 2022 static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* fi lename) {
2070 SkPath path; 2023 SkPath path;
2071 path.setFillType(SkPath::kEvenOdd_FillType); 2024 path.setFillType(SkPath::kEvenOdd_FillType);
2072 path.moveTo(509.34021f, 176); 2025 path.moveTo(509.34021f, 176);
2073 path.lineTo(505, 176); 2026 path.lineTo(505, 176);
2074 path.quadTo(500.964233f, 176, 497.299988f, 176.896912f); 2027 path.quadTo(500.964233f, 176, 497.299988f, 176.896912f);
2075 path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f); 2028 path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f);
2076 path.lineTo(489.316986f, 180.4702f); 2029 path.lineTo(489.316986f, 180.4702f);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2108 pathB.lineTo(490.183014f, 179.9702f); 2061 pathB.lineTo(490.183014f, 179.9702f);
2109 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f); 2062 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f);
2110 pathB.quadTo(526.109497f, 180.196686f, 532.529785f, 191.316986f); 2063 pathB.quadTo(526.109497f, 180.196686f, 532.529785f, 191.316986f);
2111 pathB.lineTo(533.029785f, 192.183014f); 2064 pathB.lineTo(533.029785f, 192.183014f);
2112 pathB.quadTo(539.450134f, 203.303314f, 536.126709f, 215.70639f); 2065 pathB.quadTo(539.450134f, 203.303314f, 536.126709f, 215.70639f);
2113 pathB.quadTo(532.803345f, 228.109497f, 521.683044f, 234.5298f); 2066 pathB.quadTo(532.803345f, 228.109497f, 521.683044f, 234.5298f);
2114 pathB.lineTo(520.817017f, 235.0298f); 2067 pathB.lineTo(520.817017f, 235.0298f);
2115 pathB.quadTo(509.696686f, 241.450104f, 497.29361f, 238.126709f); 2068 pathB.quadTo(509.696686f, 241.450104f, 497.29361f, 238.126709f);
2116 pathB.quadTo(484.890533f, 234.803314f, 478.470215f, 223.683014f); 2069 pathB.quadTo(484.890533f, 234.803314f, 478.470215f, 223.683014f);
2117 pathB.close(); 2070 pathB.close();
2118 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2071 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2119 } 2072 }
2120 2073
2121 static void skpwww_cooksnaps_com_32a(skiatest::Reporter* reporter, const char* f ilename) { 2074 static void skpwww_cooksnaps_com_32a(skiatest::Reporter* reporter, const char* f ilename) {
2122 SkPath path; 2075 SkPath path;
2123 path.setFillType(SkPath::kEvenOdd_FillType); 2076 path.setFillType(SkPath::kEvenOdd_FillType);
2124 path.moveTo(497.299988f, 176.896912f); 2077 path.moveTo(497.299988f, 176.896912f);
2125 path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f); 2078 path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f);
2126 path.lineTo(489.316986f, 180.4702f); 2079 path.lineTo(489.316986f, 180.4702f);
2127 path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f); 2080 path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f);
2128 SkPath pathB; 2081 SkPath pathB;
2129 pathB.setFillType(SkPath::kWinding_FillType); 2082 pathB.setFillType(SkPath::kWinding_FillType);
2130 pathB.moveTo(474.873322f, 199.293594f); 2083 pathB.moveTo(474.873322f, 199.293594f);
2131 pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f); 2084 pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f);
2132 pathB.lineTo(490.183014f, 179.9702f); 2085 pathB.lineTo(490.183014f, 179.9702f);
2133 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f); 2086 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f);
2134 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2087 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2135 } 2088 }
2136 2089
2137 // !simple->isClosed()
2138 static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con st char* filename) { 2090 static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con st char* filename) {
2139 SkPath path; 2091 SkPath path;
2140 path.setFillType(SkPath::kEvenOdd_FillType); 2092 path.setFillType(SkPath::kEvenOdd_FillType);
2141 path.moveTo(460.257355f, 1202.27808f); 2093 path.moveTo(460.257355f, 1202.27808f);
2142 path.lineTo(460.257355f, 1204.27808f); 2094 path.lineTo(460.257355f, 1204.27808f);
2143 path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f); 2095 path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f);
2144 path.lineTo(461.67157f, 1203.69238f); 2096 path.lineTo(461.67157f, 1203.69238f);
2145 path.lineTo(466.621307f, 1198.74268f); 2097 path.lineTo(466.621307f, 1198.74268f);
2146 path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f); 2098 path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f);
2147 path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f); 2099 path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f);
2148 path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f); 2100 path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f);
2149 path.lineTo(465.914215f, 1196.62122f); 2101 path.lineTo(465.914215f, 1196.62122f);
2150 path.lineTo(460.257355f, 1202.27808f); 2102 path.lineTo(460.257355f, 1202.27808f);
2151 path.close(); 2103 path.close();
2152 SkPath pathB; 2104 SkPath pathB;
2153 pathB.setFillType(SkPath::kWinding_FillType); 2105 pathB.setFillType(SkPath::kWinding_FillType);
2154 pathB.moveTo(460.257355f, 1205.10657f); 2106 pathB.moveTo(460.257355f, 1205.10657f);
2155 pathB.lineTo(458.828979f, 1203.67822f); 2107 pathB.lineTo(458.828979f, 1203.67822f);
2156 pathB.lineTo(465.914215f, 1196.62122f); 2108 pathB.lineTo(465.914215f, 1196.62122f);
2157 pathB.lineTo(467.32843f, 1198.03552f); 2109 pathB.lineTo(467.32843f, 1198.03552f);
2158 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2110 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2159 } 2111 }
2160 2112
2161 // line quad intersection SkIntersections::assert
2162 static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi lename) { 2113 static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi lename) {
2163 SkPath path; 2114 SkPath path;
2164 path.setFillType(SkPath::kEvenOdd_FillType); 2115 path.setFillType(SkPath::kEvenOdd_FillType);
2165 path.moveTo(899.17157f, 548.17157f); 2116 path.moveTo(899.17157f, 548.17157f);
2166 path.quadTo(898, 549.34314f, 898, 551); 2117 path.quadTo(898, 549.34314f, 898, 551);
2167 path.lineTo(898, 556); 2118 path.lineTo(898, 556);
2168 path.lineTo(899.027283f, 556); 2119 path.lineTo(899.027283f, 556);
2169 path.lineTo(900.02356f, 551.602844f); 2120 path.lineTo(900.02356f, 551.602844f);
2170 path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f); 2121 path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f);
2171 path.lineTo(900.5f, 549.5f); 2122 path.lineTo(900.5f, 549.5f);
2172 path.lineTo(899.17157f, 548.17157f); 2123 path.lineTo(899.17157f, 548.17157f);
2173 path.close(); 2124 path.close();
2174 SkPath pathB; 2125 SkPath pathB;
2175 pathB.setFillType(SkPath::kWinding_FillType); 2126 pathB.setFillType(SkPath::kWinding_FillType);
2176 pathB.moveTo(898, 547); 2127 pathB.moveTo(898, 547);
2177 pathB.lineTo(901.086914f, 547); 2128 pathB.lineTo(901.086914f, 547);
2178 pathB.lineTo(899, 556); 2129 pathB.lineTo(899, 556);
2179 pathB.lineTo(898, 556); 2130 pathB.lineTo(898, 556);
2180 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2131 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2181 } 2132 }
2182 2133
2183 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0);
2184 static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char* filename) { 2134 static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char* filename) {
2185 SkPath path; 2135 SkPath path;
2186 path.setFillType(SkPath::kEvenOdd_FillType); 2136 path.setFillType(SkPath::kEvenOdd_FillType);
2187 path.moveTo(0, 1431); 2137 path.moveTo(0, 1431);
2188 path.lineTo(0, 775); 2138 path.lineTo(0, 775);
2189 path.lineTo(1265, 775); 2139 path.lineTo(1265, 775);
2190 path.lineTo(1265, 1431); 2140 path.lineTo(1265, 1431);
2191 path.lineTo(0, 1431); 2141 path.lineTo(0, 1431);
2192 path.close(); 2142 path.close();
2193 SkPath pathB; 2143 SkPath pathB;
2194 pathB.setFillType(SkPath::kWinding_FillType); 2144 pathB.setFillType(SkPath::kWinding_FillType);
2195 pathB.moveTo(32.3243904f, 851); 2145 pathB.moveTo(32.3243904f, 851);
2196 pathB.lineTo(459.324402f, 851); 2146 pathB.lineTo(459.324402f, 851);
2197 pathB.lineTo(427, 1081); 2147 pathB.lineTo(427, 1081);
2198 pathB.lineTo(-3.81469727e-06f, 1081); 2148 pathB.lineTo(-3.81469727e-06f, 1081);
2199 pathB.close(); 2149 pathB.close();
2200 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2150 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2201 } 2151 }
2202 2152
2203 static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filena me) { 2153 static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filena me) {
2204 SkPath path; 2154 SkPath path;
2205 path.setFillType(SkPath::kEvenOdd_FillType); 2155 path.setFillType(SkPath::kEvenOdd_FillType);
2206 path.moveTo(1020.79303f, 2252); 2156 path.moveTo(1020.79303f, 2252);
2207 path.quadTo(1018.72198f, 2252, 1016.86798f, 2253.46436f); 2157 path.quadTo(1018.72198f, 2252, 1016.86798f, 2253.46436f);
2208 path.quadTo(1015.02032f, 2254.92383f, 1014.4668f, 2256.98584f); 2158 path.quadTo(1015.02032f, 2254.92383f, 1014.4668f, 2256.98584f);
2209 path.lineTo(1014.46301f, 2257); 2159 path.lineTo(1014.46301f, 2257);
2210 path.lineTo(1011.53705f, 2268); 2160 path.lineTo(1011.53705f, 2268);
(...skipping 18 matching lines...) Expand all
2229 pathB.lineTo(1088.79297f, 2252); 2179 pathB.lineTo(1088.79297f, 2252);
2230 pathB.quadTo(1090.86414f, 2252, 1091.93909f, 2253.46436f); 2180 pathB.quadTo(1090.86414f, 2252, 1091.93909f, 2253.46436f);
2231 pathB.quadTo(1093.01392f, 2254.92896f, 1092.46301f, 2257); 2181 pathB.quadTo(1093.01392f, 2254.92896f, 1092.46301f, 2257);
2232 pathB.lineTo(1089.53711f, 2268); 2182 pathB.lineTo(1089.53711f, 2268);
2233 pathB.quadTo(1088.98608f, 2270.07104f, 1087.13208f, 2271.53564f); 2183 pathB.quadTo(1088.98608f, 2270.07104f, 1087.13208f, 2271.53564f);
2234 pathB.quadTo(1085.27808f, 2273, 1083.20703f, 2273); 2184 pathB.quadTo(1085.27808f, 2273, 1083.20703f, 2273);
2235 pathB.lineTo(1015.20703f, 2273); 2185 pathB.lineTo(1015.20703f, 2273);
2236 pathB.quadTo(1013.13599f, 2273, 1012.06104f, 2271.53564f); 2186 pathB.quadTo(1013.13599f, 2273, 1012.06104f, 2271.53564f);
2237 pathB.quadTo(1010.98615f, 2270.07104f, 1011.53705f, 2268); 2187 pathB.quadTo(1010.98615f, 2270.07104f, 1011.53705f, 2268);
2238 pathB.close(); 2188 pathB.close();
2239 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2189 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2240 } 2190 }
2241 2191
2242 static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* file name) { 2192 static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* file name) {
2243 SkPath path; 2193 SkPath path;
2244 path.setFillType(SkPath::kEvenOdd_FillType); 2194 path.setFillType(SkPath::kEvenOdd_FillType);
2245 path.moveTo(22.5f, 24174.5f); 2195 path.moveTo(22.5f, 24174.5f);
2246 path.lineTo(185.5f, 24174.498f); 2196 path.lineTo(185.5f, 24174.498f);
2247 path.lineTo(185.5f, 24174.75f); 2197 path.lineTo(185.5f, 24174.75f);
2248 path.lineTo(22.5f, 24174.75f); 2198 path.lineTo(22.5f, 24174.75f);
2249 path.lineTo(22.5f, 24174.5f); 2199 path.lineTo(22.5f, 24174.5f);
2250 path.close(); 2200 path.close();
2251 SkPath pathB; 2201 SkPath pathB;
2252 pathB.setFillType(SkPath::kWinding_FillType); 2202 pathB.setFillType(SkPath::kWinding_FillType);
2253 pathB.moveTo(22.5f, 24174.75f); 2203 pathB.moveTo(22.5f, 24174.75f);
2254 pathB.lineTo(22.5f, 24174.498f); 2204 pathB.lineTo(22.5f, 24174.498f);
2255 pathB.lineTo(185.5f, 24174.5f); 2205 pathB.lineTo(185.5f, 24174.5f);
2256 pathB.lineTo(185.5f, 24174.75f); 2206 pathB.lineTo(185.5f, 24174.75f);
2257 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2207 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2258 } 2208 }
2259 2209
2260 static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char* filename) { 2210 static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char* filename) {
2261 SkPath path; 2211 SkPath path;
2262 path.setFillType(SkPath::kEvenOdd_FillType); 2212 path.setFillType(SkPath::kEvenOdd_FillType);
2263 path.moveTo(1000, 866.329346f); 2213 path.moveTo(1000, 866.329346f);
2264 path.quadTo(998, 869.250427f, 998, 873); 2214 path.quadTo(998, 869.250427f, 998, 873);
2265 path.lineTo(998, 874); 2215 path.lineTo(998, 874);
2266 path.quadTo(998, 877.749573f, 1000, 880.670654f); 2216 path.quadTo(998, 877.749573f, 1000, 880.670654f);
2267 path.lineTo(1000, 866.329346f); 2217 path.lineTo(1000, 866.329346f);
2268 path.close(); 2218 path.close();
2269 SkPath pathB; 2219 SkPath pathB;
2270 pathB.setFillType(SkPath::kWinding_FillType); 2220 pathB.setFillType(SkPath::kWinding_FillType);
2271 pathB.moveTo(998, 874); 2221 pathB.moveTo(998, 874);
2272 pathB.lineTo(998, 873); 2222 pathB.lineTo(998, 873);
2273 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); 2223 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f);
2274 pathB.quadTo(1005.02942f, 861, 1010, 861); 2224 pathB.quadTo(1005.02942f, 861, 1010, 861);
2275 pathB.lineTo(1011, 861); 2225 pathB.lineTo(1011, 861);
2276 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); 2226 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f);
2277 pathB.quadTo(1021, 868.029419f, 1021, 873); 2227 pathB.quadTo(1021, 868.029419f, 1021, 873);
2278 pathB.lineTo(1021, 874); 2228 pathB.lineTo(1021, 874);
2279 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); 2229 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f);
2280 pathB.quadTo(1015.14215f, 884, 1011, 884); 2230 pathB.quadTo(1015.14215f, 884, 1011, 884);
2281 pathB.lineTo(1010, 884); 2231 pathB.lineTo(1010, 884);
2282 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); 2232 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
2283 pathB.quadTo(998, 878.142151f, 998, 874); 2233 pathB.quadTo(998, 878.142151f, 998, 874);
2284 pathB.close(); 2234 pathB.close();
2285 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2235 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2286 } 2236 }
2287 2237
2288 static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* file name) { 2238 static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* file name) {
2289 SkPath path; 2239 SkPath path;
2290 path.setFillType(SkPath::kEvenOdd_FillType); 2240 path.setFillType(SkPath::kEvenOdd_FillType);
2291 path.moveTo(22.5f, 24527.25f); 2241 path.moveTo(22.5f, 24527.25f);
2292 path.lineTo(45, 24527.248f); 2242 path.lineTo(45, 24527.248f);
2293 path.lineTo(45, 24527.5f); 2243 path.lineTo(45, 24527.5f);
2294 path.lineTo(22.5f, 24527.5f); 2244 path.lineTo(22.5f, 24527.5f);
2295 path.lineTo(22.5f, 24527.25f); 2245 path.lineTo(22.5f, 24527.25f);
2296 path.close(); 2246 path.close();
2297 SkPath pathB; 2247 SkPath pathB;
2298 pathB.setFillType(SkPath::kWinding_FillType); 2248 pathB.setFillType(SkPath::kWinding_FillType);
2299 pathB.moveTo(22.5f, 24527.5f); 2249 pathB.moveTo(22.5f, 24527.5f);
2300 pathB.lineTo(22.5f, 24527.248f); 2250 pathB.lineTo(22.5f, 24527.248f);
2301 pathB.lineTo(45, 24527.25f); 2251 pathB.lineTo(45, 24527.25f);
2302 pathB.lineTo(45, 24527.5f); 2252 pathB.lineTo(45, 24527.5f);
2303 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2253 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2304 } 2254 }
2305 2255
2306 // joinCoincidence / findT / assert
2307 static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter, const char* filename) { 2256 static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter, const char* filename) {
2308 SkPath path; 2257 SkPath path;
2309 path.setFillType(SkPath::kEvenOdd_FillType); 2258 path.setFillType(SkPath::kEvenOdd_FillType);
2310 path.moveTo(1000, 844.329346f); 2259 path.moveTo(1000, 844.329346f);
2311 path.quadTo(998, 847.250427f, 998, 851); 2260 path.quadTo(998, 847.250427f, 998, 851);
2312 path.lineTo(998, 852); 2261 path.lineTo(998, 852);
2313 path.quadTo(998, 855.749573f, 1000, 858.670654f); 2262 path.quadTo(998, 855.749573f, 1000, 858.670654f);
2314 path.lineTo(1000, 844.329346f); 2263 path.lineTo(1000, 844.329346f);
2315 path.close(); 2264 path.close();
2316 SkPath pathB; 2265 SkPath pathB;
2317 pathB.setFillType(SkPath::kWinding_FillType); 2266 pathB.setFillType(SkPath::kWinding_FillType);
2318 pathB.moveTo(998, 852); 2267 pathB.moveTo(998, 852);
2319 pathB.lineTo(998, 851); 2268 pathB.lineTo(998, 851);
2320 pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f); 2269 pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f);
2321 pathB.quadTo(1005.02942f, 839, 1010, 839); 2270 pathB.quadTo(1005.02942f, 839, 1010, 839);
2322 pathB.lineTo(1011, 839); 2271 pathB.lineTo(1011, 839);
2323 pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f); 2272 pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f);
2324 pathB.quadTo(1021, 846.029419f, 1021, 851); 2273 pathB.quadTo(1021, 846.029419f, 1021, 851);
2325 pathB.lineTo(1021, 852); 2274 pathB.lineTo(1021, 852);
2326 pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f); 2275 pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f);
2327 pathB.quadTo(1015.14215f, 862, 1011, 862); 2276 pathB.quadTo(1015.14215f, 862, 1011, 862);
2328 pathB.lineTo(1010, 862); 2277 pathB.lineTo(1010, 862);
2329 pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f); 2278 pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f);
2330 pathB.quadTo(998, 856.142151f, 998, 852); 2279 pathB.quadTo(998, 856.142151f, 998, 852);
2331 pathB.close(); 2280 pathB.close();
2332 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2281 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2333 } 2282 }
2334 2283
2335 // joinCoincidence / findT / assert
2336 static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f ilename) { 2284 static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f ilename) {
2337 SkPath path; 2285 SkPath path;
2338 path.setFillType(SkPath::kEvenOdd_FillType); 2286 path.setFillType(SkPath::kEvenOdd_FillType);
2339 path.moveTo(1000, 866.329346f); 2287 path.moveTo(1000, 866.329346f);
2340 path.quadTo(998, 869.250427f, 998, 873); 2288 path.quadTo(998, 869.250427f, 998, 873);
2341 path.lineTo(998, 874); 2289 path.lineTo(998, 874);
2342 path.quadTo(998, 877.749573f, 1000, 880.670654f); 2290 path.quadTo(998, 877.749573f, 1000, 880.670654f);
2343 path.lineTo(1000, 866.329346f); 2291 path.lineTo(1000, 866.329346f);
2344 path.close(); 2292 path.close();
2345 SkPath pathB; 2293 SkPath pathB;
2346 pathB.setFillType(SkPath::kWinding_FillType); 2294 pathB.setFillType(SkPath::kWinding_FillType);
2347 pathB.moveTo(998, 874); 2295 pathB.moveTo(998, 874);
2348 pathB.lineTo(998, 873); 2296 pathB.lineTo(998, 873);
2349 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); 2297 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f);
2350 pathB.quadTo(1005.02942f, 861, 1010, 861); 2298 pathB.quadTo(1005.02942f, 861, 1010, 861);
2351 pathB.lineTo(1011, 861); 2299 pathB.lineTo(1011, 861);
2352 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); 2300 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f);
2353 pathB.quadTo(1021, 868.029419f, 1021, 873); 2301 pathB.quadTo(1021, 868.029419f, 1021, 873);
2354 pathB.lineTo(1021, 874); 2302 pathB.lineTo(1021, 874);
2355 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); 2303 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f);
2356 pathB.quadTo(1015.14215f, 884, 1011, 884); 2304 pathB.quadTo(1015.14215f, 884, 1011, 884);
2357 pathB.lineTo(1010, 884); 2305 pathB.lineTo(1010, 884);
2358 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); 2306 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
2359 pathB.quadTo(998, 878.142151f, 998, 874); 2307 pathB.quadTo(998, 878.142151f, 998, 874);
2360 pathB.close(); 2308 pathB.close();
2361 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2309 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2362 } 2310 }
2363 2311
2364 // cubic-cubic intersection reduce checkLinear assert
2365 static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil ename) { 2312 static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil ename) {
2366 SkPath path; 2313 SkPath path;
2367 path.setFillType(SkPath::kEvenOdd_FillType); 2314 path.setFillType(SkPath::kEvenOdd_FillType);
2368 path.moveTo(407, 119); 2315 path.moveTo(407, 119);
2369 path.lineTo(407, 28); 2316 path.lineTo(407, 28);
2370 path.lineTo(647, 28); 2317 path.lineTo(647, 28);
2371 path.lineTo(647, 119); 2318 path.lineTo(647, 119);
2372 path.lineTo(407, 119); 2319 path.lineTo(407, 119);
2373 path.close(); 2320 path.close();
2374 SkPath pathB; 2321 SkPath pathB;
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
2650 pathB.cubicTo(629.594177f, 47.8615112f, 629.494507f, 47.457695f, 629.439453f , 46.9981461f); 2597 pathB.cubicTo(629.594177f, 47.8615112f, 629.494507f, 47.457695f, 629.439453f , 46.9981461f);
2651 pathB.cubicTo(629.379211f, 46.4874115f, 629.348511f, 45.9550591f, 629.348511 f, 45.4158859f); 2598 pathB.cubicTo(629.379211f, 46.4874115f, 629.348511f, 45.9550591f, 629.348511 f, 45.4158859f);
2652 pathB.cubicTo(629.348511f, 45.2031708f, 629.351929f, 44.9870453f, 629.357971 f, 44.7682648f); 2599 pathB.cubicTo(629.348511f, 45.2031708f, 629.351929f, 44.9870453f, 629.357971 f, 44.7682648f);
2653 pathB.lineTo(630.581177f, 44.7682648f); 2600 pathB.lineTo(630.581177f, 44.7682648f);
2654 pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163 f, 45.0124512f); 2601 pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163 f, 45.0124512f);
2655 pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225 f, 45.5493507f); 2602 pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225 f, 45.5493507f);
2656 pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f , 46.3656998f); 2603 pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f , 46.3656998f);
2657 pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f, 47.4595947f); 2604 pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f, 47.4595947f);
2658 pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f , 48.6171875f); 2605 pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f , 48.6171875f);
2659 pathB.close(); 2606 pathB.close();
2660 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2607 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2661 } 2608 }
2662 2609
2663 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0);
2664 static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const char* filename) { 2610 static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const char* filename) {
2665 SkPath path; 2611 SkPath path;
2666 path.setFillType(SkPath::kEvenOdd_FillType); 2612 path.setFillType(SkPath::kEvenOdd_FillType);
2667 path.moveTo(999.892212f, 246); 2613 path.moveTo(999.892212f, 246);
2668 path.lineTo(927.340759f, 245.505722f); 2614 path.lineTo(927.340759f, 245.505722f);
2669 path.quadTo(928.068054f, 246, 929, 246); 2615 path.quadTo(928.068054f, 246, 929, 246);
2670 path.lineTo(999.892212f, 246); 2616 path.lineTo(999.892212f, 246);
2671 path.close(); 2617 path.close();
2672 path.moveTo(927.340759f, 245.505722f); 2618 path.moveTo(927.340759f, 245.505722f);
2673 path.lineTo(926.5f, 245.5f); 2619 path.lineTo(926.5f, 245.5f);
2674 path.lineTo(925.17157f, 246.82843f); 2620 path.lineTo(925.17157f, 246.82843f);
2675 path.quadTo(926.34314f, 248, 928, 248); 2621 path.quadTo(926.34314f, 248, 928, 248);
2676 path.lineTo(1000, 248); 2622 path.lineTo(1000, 248);
2677 path.lineTo(1000, 246); 2623 path.lineTo(1000, 246);
2678 SkPath pathB; 2624 SkPath pathB;
2679 pathB.setFillType(SkPath::kWinding_FillType); 2625 pathB.setFillType(SkPath::kWinding_FillType);
2680 pathB.moveTo(924, 248); 2626 pathB.moveTo(924, 248);
2681 pathB.lineTo(924, 245.472672f); 2627 pathB.lineTo(924, 245.472672f);
2682 pathB.lineTo(1143, 247); 2628 pathB.lineTo(1143, 247);
2683 pathB.lineTo(1143, 248); 2629 pathB.lineTo(1143, 248);
2684 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2630 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2685 } 2631 }
2686 2632
2687 // joinCoincidence / findT / assert
2688 static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen ame) { 2633 static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen ame) {
2689 SkPath path; 2634 SkPath path;
2690 path.setFillType(SkPath::kEvenOdd_FillType); 2635 path.setFillType(SkPath::kEvenOdd_FillType);
2691 path.moveTo(1000, 896.991394f); 2636 path.moveTo(1000, 896.991394f);
2692 path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f); 2637 path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f);
2693 path.quadTo(998.071045f, 895, 996, 895); 2638 path.quadTo(998.071045f, 895, 996, 895);
2694 path.lineTo(956, 895); 2639 path.lineTo(956, 895);
2695 path.quadTo(951.857849f, 895, 948.928955f, 897.928955f); 2640 path.quadTo(951.857849f, 895, 948.928955f, 897.928955f);
2696 path.quadTo(946, 900.857849f, 946, 905); 2641 path.quadTo(946, 900.857849f, 946, 905);
2697 path.lineTo(946, 906); 2642 path.lineTo(946, 906);
(...skipping 13 matching lines...) Expand all
2711 pathB.lineTo(996, 896); 2656 pathB.lineTo(996, 896);
2712 pathB.quadTo(998.071045f, 896, 999.535522f, 897.17157f); 2657 pathB.quadTo(998.071045f, 896, 999.535522f, 897.17157f);
2713 pathB.quadTo(1001, 898.34314f, 1001, 900); 2658 pathB.quadTo(1001, 898.34314f, 1001, 900);
2714 pathB.lineTo(1001, 911); 2659 pathB.lineTo(1001, 911);
2715 pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f); 2660 pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f);
2716 pathB.quadTo(998.071045f, 916, 996, 916); 2661 pathB.quadTo(998.071045f, 916, 996, 916);
2717 pathB.lineTo(956, 916); 2662 pathB.lineTo(956, 916);
2718 pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f); 2663 pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f);
2719 pathB.quadTo(946, 910.142151f, 946, 906); 2664 pathB.quadTo(946, 910.142151f, 946, 906);
2720 pathB.close(); 2665 pathB.close();
2721 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2666 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2722 } 2667 }
2723 2668
2724 // !simple->isClosed()
2725 static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons t char* filename) { 2669 static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons t char* filename) {
2726 SkPath path; 2670 SkPath path;
2727 path.setFillType(SkPath::kEvenOdd_FillType); 2671 path.setFillType(SkPath::kEvenOdd_FillType);
2728 path.moveTo(90.9763107f, 153.309662f); 2672 path.moveTo(90.9763107f, 153.309662f);
2729 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); 2673 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
2730 path.lineTo(124.666664f, 152.333344f); 2674 path.lineTo(124.666664f, 152.333344f);
2731 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f); 2675 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f);
2732 path.quadTo(128, 154.285965f, 128, 155.666672f); 2676 path.quadTo(128, 154.285965f, 128, 155.666672f);
2733 path.lineTo(128, 163.666672f); 2677 path.lineTo(128, 163.666672f);
2734 path.lineTo(90, 163.666672f); 2678 path.lineTo(90, 163.666672f);
2735 path.lineTo(90, 155.666672f); 2679 path.lineTo(90, 155.666672f);
2736 path.quadTo(90, 154.285965f, 90.9763107f, 153.309662f); 2680 path.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
2737 path.close(); 2681 path.close();
2738 SkPath pathB; 2682 SkPath pathB;
2739 pathB.setFillType(SkPath::kWinding_FillType); 2683 pathB.setFillType(SkPath::kWinding_FillType);
2740 pathB.moveTo(90, 163.666672f); 2684 pathB.moveTo(90, 163.666672f);
2741 pathB.lineTo(90, 155.666672f); 2685 pathB.lineTo(90, 155.666672f);
2742 pathB.quadTo(90, 154.285965f, 90.9763107f, 153.309662f); 2686 pathB.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
2743 pathB.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); 2687 pathB.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
2744 pathB.lineTo(124.666672f, 152.333344f); 2688 pathB.lineTo(124.666672f, 152.333344f);
2745 pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f); 2689 pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f);
2746 pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f); 2690 pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f);
2747 pathB.lineTo(127.666672f, 163.666672f); 2691 pathB.lineTo(127.666672f, 163.666672f);
2748 pathB.lineTo(127.666672f, 163.666672f); 2692 pathB.lineTo(127.666672f, 163.666672f);
2749 pathB.lineTo(127.666672f, 163.666672f); 2693 pathB.lineTo(127.666672f, 163.666672f);
2750 pathB.lineTo(90, 163.666672f); 2694 pathB.lineTo(90, 163.666672f);
2751 pathB.lineTo(90, 163.666672f); 2695 pathB.lineTo(90, 163.666672f);
2752 pathB.lineTo(90, 163.666672f); 2696 pathB.lineTo(90, 163.666672f);
2753 pathB.close(); 2697 pathB.close();
2754 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2698 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2755 } 2699 }
2756 2700
2757 static void skpwww_wartepop_blogspot_com_br_6a(skiatest::Reporter* reporter, con st char* filename) { 2701 static void skpwww_wartepop_blogspot_com_br_6a(skiatest::Reporter* reporter, con st char* filename) {
2758 SkPath path; 2702 SkPath path;
2759 path.setFillType(SkPath::kEvenOdd_FillType); 2703 path.setFillType(SkPath::kEvenOdd_FillType);
2760 path.moveTo(90.9763107f, 153.309662f); 2704 path.moveTo(90.9763107f, 153.309662f);
2761 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); 2705 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
2762 path.lineTo(124.666672f, 152.333344f); 2706 path.lineTo(124.666672f, 152.333344f);
2763 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f); 2707 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f);
2764 path.quadTo(128, 154.285965f, 128, 155.666672f); 2708 path.quadTo(128, 154.285965f, 128, 155.666672f);
(...skipping 11 matching lines...) Expand all
2776 pathB.lineTo(124.666672f, 152.333344f); 2720 pathB.lineTo(124.666672f, 152.333344f);
2777 pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f); 2721 pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f);
2778 pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f); 2722 pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f);
2779 pathB.lineTo(127.666672f, 163.666672f); 2723 pathB.lineTo(127.666672f, 163.666672f);
2780 pathB.lineTo(127.666672f, 163.666672f); 2724 pathB.lineTo(127.666672f, 163.666672f);
2781 pathB.lineTo(127.666672f, 163.666672f); 2725 pathB.lineTo(127.666672f, 163.666672f);
2782 pathB.lineTo(90, 163.666672f); 2726 pathB.lineTo(90, 163.666672f);
2783 pathB.lineTo(90, 163.666672f); 2727 pathB.lineTo(90, 163.666672f);
2784 pathB.lineTo(90, 163.666672f); 2728 pathB.lineTo(90, 163.666672f);
2785 pathB.close(); 2729 pathB.close();
2786 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2730 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2787 } 2731 }
2788 2732
2789 // !simple->isClosed()
2790 static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file name) { 2733 static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file name) {
2791 SkPath path; 2734 SkPath path;
2792 path.setFillType(SkPath::kEvenOdd_FillType); 2735 path.setFillType(SkPath::kEvenOdd_FillType);
2793 path.moveTo(360.740479f, 741.040771f); 2736 path.moveTo(360.740479f, 741.040771f);
2794 path.quadTo(360.378967f, 741, 360, 741); 2737 path.quadTo(360.378967f, 741, 360, 741);
2795 path.quadTo(359.159821f, 741, 358.403076f, 741.200745f); 2738 path.quadTo(359.159821f, 741, 358.403076f, 741.200745f);
2796 path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f); 2739 path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f);
2797 path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f); 2740 path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f);
2798 path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f); 2741 path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f);
2799 path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f); 2742 path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f);
(...skipping 24 matching lines...) Expand all
2824 path.quadTo(362.286835f, 741.389526f, 361.471497f, 741.183289f); 2767 path.quadTo(362.286835f, 741.389526f, 361.471497f, 741.183289f);
2825 path.quadTo(361.102509f, 741.089966f, 360.740479f, 741.040771f); 2768 path.quadTo(361.102509f, 741.089966f, 360.740479f, 741.040771f);
2826 path.close(); 2769 path.close();
2827 SkPath pathB; 2770 SkPath pathB;
2828 pathB.setFillType(SkPath::kWinding_FillType); 2771 pathB.setFillType(SkPath::kWinding_FillType);
2829 pathB.moveTo(355.654724f, 739.711792f); 2772 pathB.moveTo(355.654724f, 739.711792f);
2830 pathB.lineTo(367.288269f, 742.654724f); 2773 pathB.lineTo(367.288269f, 742.654724f);
2831 pathB.lineTo(364.345337f, 754.288269f); 2774 pathB.lineTo(364.345337f, 754.288269f);
2832 pathB.lineTo(352.711792f, 751.345337f); 2775 pathB.lineTo(352.711792f, 751.345337f);
2833 pathB.close(); 2776 pathB.close();
2834 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2777 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2835 } 2778 }
2836 2779
2837 static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* fi lename) { 2780 static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* fi lename) {
2838 SkPath path; 2781 SkPath path;
2839 path.setFillType(SkPath::kEvenOdd_FillType); 2782 path.setFillType(SkPath::kEvenOdd_FillType);
2840 path.moveTo(172, 972); 2783 path.moveTo(172, 972);
2841 path.quadTo(170.757355f, 972, 169.878677f, 972.878662f); 2784 path.quadTo(170.757355f, 972, 169.878677f, 972.878662f);
2842 path.quadTo(169, 973.757385f, 169, 975); 2785 path.quadTo(169, 973.757385f, 169, 975);
2843 path.lineTo(169, 1171); 2786 path.lineTo(169, 1171);
2844 path.quadTo(169, 1172.24268f, 169.878677f, 1173.12134f); 2787 path.quadTo(169, 1172.24268f, 169.878677f, 1173.12134f);
(...skipping 15 matching lines...) Expand all
2860 pathB.lineTo(308, 973); 2803 pathB.lineTo(308, 973);
2861 pathB.quadTo(309.242645f, 973, 310.121307f, 973.585815f); 2804 pathB.quadTo(309.242645f, 973, 310.121307f, 973.585815f);
2862 pathB.quadTo(311, 974.17157f, 311, 975); 2805 pathB.quadTo(311, 974.17157f, 311, 975);
2863 pathB.lineTo(311, 1171); 2806 pathB.lineTo(311, 1171);
2864 pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f); 2807 pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f);
2865 pathB.quadTo(309.242645f, 1174, 308, 1174); 2808 pathB.quadTo(309.242645f, 1174, 308, 1174);
2866 pathB.lineTo(172, 1174); 2809 pathB.lineTo(172, 1174);
2867 pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f); 2810 pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f);
2868 pathB.quadTo(170, 1172.24268f, 170, 1171); 2811 pathB.quadTo(170, 1172.24268f, 170, 1171);
2869 pathB.close(); 2812 pathB.close();
2870 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2813 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2871 } 2814 }
2872 2815
2873 // hangs
2874 static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const char* filename) { 2816 static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const char* filename) {
2875 SkPath path; 2817 SkPath path;
2876 path.setFillType(SkPath::kEvenOdd_FillType); 2818 path.setFillType(SkPath::kEvenOdd_FillType);
2877 path.moveTo(443, 8292); 2819 path.moveTo(443, 8292);
2878 path.lineTo(443, 8140); 2820 path.lineTo(443, 8140);
2879 path.lineTo(444, 8140); 2821 path.lineTo(444, 8140);
2880 path.lineTo(444.01001f, 8292); 2822 path.lineTo(444.01001f, 8292);
2881 path.lineTo(443, 8292); 2823 path.lineTo(443, 8292);
2882 path.close(); 2824 path.close();
2883 SkPath pathB; 2825 SkPath pathB;
2884 pathB.setFillType(SkPath::kWinding_FillType); 2826 pathB.setFillType(SkPath::kWinding_FillType);
2885 pathB.moveTo(443, 8140); 2827 pathB.moveTo(443, 8140);
2886 pathB.lineTo(444.01001f, 8140); 2828 pathB.lineTo(444.01001f, 8140);
2887 pathB.lineTo(444, 8292); 2829 pathB.lineTo(444, 8292);
2888 pathB.lineTo(443, 8292); 2830 pathB.lineTo(443, 8292);
2889 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2831 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2890 } 2832 }
2891 2833
2892 // hangs
2893 static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi lename) { 2834 static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi lename) {
2894 SkPath path; 2835 SkPath path;
2895 path.setFillType(SkPath::kEvenOdd_FillType); 2836 path.setFillType(SkPath::kEvenOdd_FillType);
2896 path.moveTo(10105, 2510); 2837 path.moveTo(10105, 2510);
2897 path.lineTo(10123, 2509.98999f); 2838 path.lineTo(10123, 2509.98999f);
2898 path.lineTo(10123, 2511); 2839 path.lineTo(10123, 2511);
2899 path.lineTo(10105, 2511); 2840 path.lineTo(10105, 2511);
2900 path.lineTo(10105, 2510); 2841 path.lineTo(10105, 2510);
2901 path.close(); 2842 path.close();
2902 SkPath pathB; 2843 SkPath pathB;
2903 pathB.setFillType(SkPath::kWinding_FillType); 2844 pathB.setFillType(SkPath::kWinding_FillType);
2904 pathB.moveTo(10105, 2511); 2845 pathB.moveTo(10105, 2511);
2905 pathB.lineTo(10105, 2509.98999f); 2846 pathB.lineTo(10105, 2509.98999f);
2906 pathB.lineTo(10123, 2510); 2847 pathB.lineTo(10123, 2510);
2907 pathB.lineTo(10123, 2511); 2848 pathB.lineTo(10123, 2511);
2908 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2849 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2909 } 2850 }
2910 2851
2911 static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const char* filename) { 2852 static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const char* filename) {
2912 SkPath path; 2853 SkPath path;
2913 path.setFillType(SkPath::kEvenOdd_FillType); 2854 path.setFillType(SkPath::kEvenOdd_FillType);
2914 path.moveTo(429.994995f, 6268); 2855 path.moveTo(429.994995f, 6268);
2915 path.lineTo(430, 2187); 2856 path.lineTo(430, 2187);
2916 path.lineTo(430.5f, 2187); 2857 path.lineTo(430.5f, 2187);
2917 path.lineTo(430.5f, 6268); 2858 path.lineTo(430.5f, 6268);
2918 path.lineTo(429.994995f, 6268); 2859 path.lineTo(429.994995f, 6268);
2919 path.close(); 2860 path.close();
2920 SkPath pathB; 2861 SkPath pathB;
2921 pathB.setFillType(SkPath::kWinding_FillType); 2862 pathB.setFillType(SkPath::kWinding_FillType);
2922 pathB.moveTo(430.5f, 2187); 2863 pathB.moveTo(430.5f, 2187);
2923 pathB.lineTo(429.994995f, 2187); 2864 pathB.lineTo(429.994995f, 2187);
2924 pathB.lineTo(430, 6268); 2865 pathB.lineTo(430, 6268);
2925 pathB.lineTo(430.5f, 6268); 2866 pathB.lineTo(430.5f, 6268);
2926 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2867 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2927 } 2868 }
2928 2869
2929 static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const cha r* filename) { 2870 static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const cha r* filename) {
2930 SkPath path; 2871 SkPath path;
2931 path.setFillType(SkPath::kEvenOdd_FillType); 2872 path.setFillType(SkPath::kEvenOdd_FillType);
2932 path.moveTo(25.9107456f, 272.577423f); 2873 path.moveTo(25.9107456f, 272.577423f);
2933 path.quadTo(26.1548233f, 272.333344f, 26.5000019f, 272.333344f); 2874 path.quadTo(26.1548233f, 272.333344f, 26.5000019f, 272.333344f);
2934 path.lineTo(131.166672f, 272.333344f); 2875 path.lineTo(131.166672f, 272.333344f);
2935 path.quadTo(131.511841f, 272.333344f, 131.75592f, 272.577423f); 2876 path.quadTo(131.511841f, 272.333344f, 131.75592f, 272.577423f);
2936 path.quadTo(132, 272.821503f, 132, 273.166687f); 2877 path.quadTo(132, 272.821503f, 132, 273.166687f);
(...skipping 15 matching lines...) Expand all
2952 pathB.lineTo(131.166672f, 272.5f); 2893 pathB.lineTo(131.166672f, 272.5f);
2953 pathB.quadTo(131.442825f, 272.5f, 131.638077f, 272.695251f); 2894 pathB.quadTo(131.442825f, 272.5f, 131.638077f, 272.695251f);
2954 pathB.quadTo(131.833344f, 272.890533f, 131.833344f, 273.166656f); 2895 pathB.quadTo(131.833344f, 272.890533f, 131.833344f, 273.166656f);
2955 pathB.lineTo(131.833344f, 417.166656f); 2896 pathB.lineTo(131.833344f, 417.166656f);
2956 pathB.quadTo(131.833344f, 417.511841f, 131.638077f, 417.75592f); 2897 pathB.quadTo(131.833344f, 417.511841f, 131.638077f, 417.75592f);
2957 pathB.quadTo(131.442825f, 418, 131.166672f, 418); 2898 pathB.quadTo(131.442825f, 418, 131.166672f, 418);
2958 pathB.lineTo(26.5f, 418); 2899 pathB.lineTo(26.5f, 418);
2959 pathB.quadTo(26.2238579f, 418, 26.0285969f, 417.75592f); 2900 pathB.quadTo(26.2238579f, 418, 26.0285969f, 417.75592f);
2960 pathB.quadTo(25.833334f, 417.511841f, 25.833334f, 417.166656f); 2901 pathB.quadTo(25.833334f, 417.511841f, 25.833334f, 417.166656f);
2961 pathB.close(); 2902 pathB.close();
2962 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); 2903 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
2963 } 2904 }
2964 2905
2965 static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const char* filename) { 2906 static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const char* filename) {
2966 SkPath path; 2907 SkPath path;
2967 path.setFillType(SkPath::kEvenOdd_FillType); 2908 path.setFillType(SkPath::kEvenOdd_FillType);
2968 path.moveTo(276, 9506); 2909 path.moveTo(276, 9506);
2969 path.lineTo(276, 7531); 2910 path.lineTo(276, 7531);
2970 path.lineTo(277, 7531); 2911 path.lineTo(277, 7531);
2971 path.lineTo(277.01001f, 9506); 2912 path.lineTo(277.01001f, 9506);
2972 path.lineTo(276, 9506); 2913 path.lineTo(276, 9506);
2973 path.close(); 2914 path.close();
2974 SkPath pathB; 2915 SkPath pathB;
2975 pathB.setFillType(SkPath::kWinding_FillType); 2916 pathB.setFillType(SkPath::kWinding_FillType);
2976 pathB.moveTo(276, 7531); 2917 pathB.moveTo(276, 7531);
2977 pathB.lineTo(277.01001f, 7531); 2918 pathB.lineTo(277.01001f, 7531);
2978 pathB.lineTo(277, 9506); 2919 pathB.lineTo(277, 9506);
2979 pathB.lineTo(276, 9506); 2920 pathB.lineTo(276, 9506);
2980 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2921 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2981 } 2922 }
2982 2923
2983 static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter, const char* filename) { 2924 static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter, const char* filename) {
2984 SkPath path; 2925 SkPath path;
2985 path.setFillType(SkPath::kEvenOdd_FillType); 2926 path.setFillType(SkPath::kEvenOdd_FillType);
2986 path.moveTo(276, 9600); 2927 path.moveTo(276, 9600);
2987 path.lineTo(276, 7703); 2928 path.lineTo(276, 7703);
2988 path.lineTo(277, 7703); 2929 path.lineTo(277, 7703);
2989 path.lineTo(277.01001f, 9600); 2930 path.lineTo(277.01001f, 9600);
2990 path.lineTo(276, 9600); 2931 path.lineTo(276, 9600);
2991 path.close(); 2932 path.close();
2992 SkPath pathB; 2933 SkPath pathB;
2993 pathB.setFillType(SkPath::kWinding_FillType); 2934 pathB.setFillType(SkPath::kWinding_FillType);
2994 pathB.moveTo(276, 7703); 2935 pathB.moveTo(276, 7703);
2995 pathB.lineTo(277.01001f, 7703); 2936 pathB.lineTo(277.01001f, 7703);
2996 pathB.lineTo(277, 9600); 2937 pathB.lineTo(277, 9600);
2997 pathB.lineTo(276, 9600); 2938 pathB.lineTo(276, 9600);
2998 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2939 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
2999 } 2940 }
3000 2941
3001 static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* fi lename) { 2942 static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* fi lename) {
3002 SkPath path; 2943 SkPath path;
3003 path.setFillType(SkPath::kEvenOdd_FillType); 2944 path.setFillType(SkPath::kEvenOdd_FillType);
3004 path.moveTo(960, 306); 2945 path.moveTo(960, 306);
3005 path.lineTo(960, 305); 2946 path.lineTo(960, 305);
3006 path.lineTo(1000, 305); 2947 path.lineTo(1000, 305);
3007 path.lineTo(1000, 306.708527f); 2948 path.lineTo(1000, 306.708527f);
3008 path.lineTo(960, 306); 2949 path.lineTo(960, 306);
3009 path.close(); 2950 path.close();
3010 SkPath pathB; 2951 SkPath pathB;
3011 pathB.setFillType(SkPath::kWinding_FillType); 2952 pathB.setFillType(SkPath::kWinding_FillType);
3012 pathB.moveTo(960, 305); 2953 pathB.moveTo(960, 305);
3013 pathB.lineTo(958.997253f, 306.002747f); 2954 pathB.lineTo(958.997253f, 306.002747f);
3014 pathB.lineTo(1017, 307); 2955 pathB.lineTo(1017, 307);
3015 pathB.lineTo(1019, 305); 2956 pathB.lineTo(1019, 305);
3016 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2957 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3017 } 2958 }
3018 2959
3019 static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* repo rter, const char* filename) { 2960 static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* repo rter, const char* filename) {
3020 SkPath path; 2961 SkPath path;
3021 path.setFillType(SkPath::kEvenOdd_FillType); 2962 path.setFillType(SkPath::kEvenOdd_FillType);
3022 path.moveTo(47.1666679f, 19651.334f); 2963 path.moveTo(47.1666679f, 19651.334f);
3023 path.lineTo(65.8333359f, 19651.332f); 2964 path.lineTo(65.8333359f, 19651.332f);
3024 path.lineTo(65.8333359f, 19651.5f); 2965 path.lineTo(65.8333359f, 19651.5f);
3025 path.lineTo(47.1666679f, 19651.5f); 2966 path.lineTo(47.1666679f, 19651.5f);
3026 path.lineTo(47.1666679f, 19651.334f); 2967 path.lineTo(47.1666679f, 19651.334f);
3027 path.close(); 2968 path.close();
3028 SkPath pathB; 2969 SkPath pathB;
3029 pathB.setFillType(SkPath::kWinding_FillType); 2970 pathB.setFillType(SkPath::kWinding_FillType);
3030 pathB.moveTo(47.1666679f, 19651.5f); 2971 pathB.moveTo(47.1666679f, 19651.5f);
3031 pathB.lineTo(47.1666679f, 19651.332f); 2972 pathB.lineTo(47.1666679f, 19651.332f);
3032 pathB.lineTo(65.8333359f, 19651.334f); 2973 pathB.lineTo(65.8333359f, 19651.334f);
3033 pathB.lineTo(65.8333359f, 19651.5f); 2974 pathB.lineTo(65.8333359f, 19651.5f);
3034 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 2975 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3035 } 2976 }
3036 2977
3037 static void skpwww_educationalcraft_com_4(skiatest::Reporter* reporter, const ch ar* filename) { 2978 static void skpwww_educationalcraft_com_4(skiatest::Reporter* reporter, const ch ar* filename) {
3038 SkPath path; 2979 SkPath path;
3039 path.setFillType(SkPath::kEvenOdd_FillType); 2980 path.setFillType(SkPath::kEvenOdd_FillType);
3040 path.moveTo(941, 1494); 2981 path.moveTo(941, 1494);
3041 path.lineTo(941, 1464); 2982 path.lineTo(941, 1464);
3042 path.lineTo(985, 1464); 2983 path.lineTo(985, 1464);
3043 path.lineTo(985, 1494); 2984 path.lineTo(985, 1494);
3044 path.lineTo(941, 1494); 2985 path.lineTo(941, 1494);
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
3202 pathB.cubicTo(979.481995f, 1470.27405f, 977.138f, 1468.82605f, 979.197998f, 1465.50598f); 3143 pathB.cubicTo(979.481995f, 1470.27405f, 977.138f, 1468.82605f, 979.197998f, 1465.50598f);
3203 pathB.close(); 3144 pathB.close();
3204 pathB.moveTo(980.900024f, 1474.328f); 3145 pathB.moveTo(980.900024f, 1474.328f);
3205 pathB.cubicTo(980.900024f, 1474.328f, 978.893005f, 1471.95703f, 981.791016f, 1469.48706f); 3146 pathB.cubicTo(980.900024f, 1474.328f, 978.893005f, 1471.95703f, 981.791016f, 1469.48706f);
3206 pathB.cubicTo(981.791016f, 1469.48596f, 983.358032f, 1472.729f, 980.900024f, 1474.328f); 3147 pathB.cubicTo(981.791016f, 1469.48596f, 983.358032f, 1472.729f, 980.900024f, 1474.328f);
3207 pathB.close(); 3148 pathB.close();
3208 pathB.moveTo(980.968994f, 1478.18005f); 3149 pathB.moveTo(980.968994f, 1478.18005f);
3209 pathB.cubicTo(980.968994f, 1478.18005f, 979.718018f, 1475.66199f, 983.632019 f, 1473.87805f); 3150 pathB.cubicTo(980.968994f, 1478.18005f, 979.718018f, 1475.66199f, 983.632019 f, 1473.87805f);
3210 pathB.cubicTo(983.632019f, 1473.87805f, 984.229004f, 1477.80103f, 980.968994 f, 1478.18005f); 3151 pathB.cubicTo(983.632019f, 1473.87805f, 984.229004f, 1477.80103f, 980.968994 f, 1478.18005f);
3211 pathB.close(); 3152 pathB.close();
3212 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3153 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3213 } 3154 }
3214 3155
3215 static void skpwww_narayana_publishers_com_194(skiatest::Reporter* reporter, con st char* filename) { 3156 static void skpwww_narayana_publishers_com_194(skiatest::Reporter* reporter, con st char* filename) {
3216 SkPath path; 3157 SkPath path;
3217 path.setFillType(SkPath::kEvenOdd_FillType); 3158 path.setFillType(SkPath::kEvenOdd_FillType);
3218 path.moveTo(1083.34314f, 445.65686f); 3159 path.moveTo(1083.34314f, 445.65686f);
3219 path.quadTo(1081, 443.313721f, 1081, 440); 3160 path.quadTo(1081, 443.313721f, 1081, 440);
3220 path.lineTo(1257, 440); 3161 path.lineTo(1257, 440);
3221 path.quadTo(1257, 443.313721f, 1254.65686f, 445.65686f); 3162 path.quadTo(1257, 443.313721f, 1254.65686f, 445.65686f);
3222 path.quadTo(1252.31372f, 448, 1249, 448); 3163 path.quadTo(1252.31372f, 448, 1249, 448);
3223 path.lineTo(1089, 448); 3164 path.lineTo(1089, 448);
3224 path.quadTo(1085.68628f, 448, 1083.34314f, 445.65686f); 3165 path.quadTo(1085.68628f, 448, 1083.34314f, 445.65686f);
3225 path.close(); 3166 path.close();
3226 path.moveTo(1083, 441); 3167 path.moveTo(1083, 441);
3227 path.lineTo(1255, 441); 3168 path.lineTo(1255, 441);
3228 path.quadTo(1255, 443.071075f, 1253.53552f, 444.535522f); 3169 path.quadTo(1255, 443.071075f, 1253.53552f, 444.535522f);
3229 path.quadTo(1252.07104f, 446, 1250, 446); 3170 path.quadTo(1252.07104f, 446, 1250, 446);
3230 path.lineTo(1088, 446); 3171 path.lineTo(1088, 446);
3231 path.quadTo(1085.92896f, 446, 1084.46448f, 444.535522f); 3172 path.quadTo(1085.92896f, 446, 1084.46448f, 444.535522f);
3232 path.quadTo(1083, 443.071075f, 1083, 441); 3173 path.quadTo(1083, 443.071075f, 1083, 441);
3233 path.close(); 3174 path.close();
3234 SkPath pathB; 3175 SkPath pathB;
3235 pathB.setFillType(SkPath::kWinding_FillType); 3176 pathB.setFillType(SkPath::kWinding_FillType);
3236 pathB.moveTo(1081, 440); 3177 pathB.moveTo(1081, 440);
3237 pathB.lineTo(1082, 440); 3178 pathB.lineTo(1082, 440);
3238 pathB.lineTo(1090.01001f, 448); 3179 pathB.lineTo(1090.01001f, 448);
3239 pathB.lineTo(1081, 448); 3180 pathB.lineTo(1081, 448);
3240 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3181 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3241 } 3182 }
3242 3183
3243 static void skpwww_cooksnaps_com_17(skiatest::Reporter* reporter, const char* fi lename) { 3184 static void skpwww_cooksnaps_com_17(skiatest::Reporter* reporter, const char* fi lename) {
3244 SkPath path; 3185 SkPath path;
3245 path.setFillType(SkPath::kEvenOdd_FillType); 3186 path.setFillType(SkPath::kEvenOdd_FillType);
3246 path.moveTo(170.340179f, 176); 3187 path.moveTo(170.340179f, 176);
3247 path.lineTo(166, 176); 3188 path.lineTo(166, 176);
3248 path.quadTo(161.964188f, 176, 158.299957f, 176.896912f); 3189 path.quadTo(161.964188f, 176, 158.299957f, 176.896912f);
3249 path.quadTo(154.678162f, 177.952271f, 151.183014f, 179.9702f); 3190 path.quadTo(154.678162f, 177.952271f, 151.183014f, 179.9702f);
3250 path.lineTo(150.316986f, 180.4702f); 3191 path.lineTo(150.316986f, 180.4702f);
(...skipping 28 matching lines...) Expand all
3279 pathB.lineTo(151.183014f, 179.9702f); 3220 pathB.lineTo(151.183014f, 179.9702f);
3280 pathB.quadTo(162.303314f, 173.549896f, 174.706406f, 176.873276f); 3221 pathB.quadTo(162.303314f, 173.549896f, 174.706406f, 176.873276f);
3281 pathB.quadTo(187.109497f, 180.196686f, 193.5298f, 191.316986f); 3222 pathB.quadTo(187.109497f, 180.196686f, 193.5298f, 191.316986f);
3282 pathB.lineTo(194.0298f, 192.183014f); 3223 pathB.lineTo(194.0298f, 192.183014f);
3283 pathB.quadTo(200.450104f, 203.303314f, 197.126709f, 215.70639f); 3224 pathB.quadTo(200.450104f, 203.303314f, 197.126709f, 215.70639f);
3284 pathB.quadTo(193.803314f, 228.109497f, 182.683014f, 234.5298f); 3225 pathB.quadTo(193.803314f, 228.109497f, 182.683014f, 234.5298f);
3285 pathB.lineTo(181.816986f, 235.0298f); 3226 pathB.lineTo(181.816986f, 235.0298f);
3286 pathB.quadTo(170.696686f, 241.450104f, 158.293594f, 238.126709f); 3227 pathB.quadTo(170.696686f, 241.450104f, 158.293594f, 238.126709f);
3287 pathB.quadTo(145.890503f, 234.803314f, 139.4702f, 223.683014f); 3228 pathB.quadTo(145.890503f, 234.803314f, 139.4702f, 223.683014f);
3288 pathB.close(); 3229 pathB.close();
3289 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3230 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3290 } 3231 }
3291 3232
3292 static void skpwww_swapspacesystems_com_5(skiatest::Reporter* reporter, const ch ar* filename) { 3233 static void skpwww_swapspacesystems_com_5(skiatest::Reporter* reporter, const ch ar* filename) {
3293 SkPath path; 3234 SkPath path;
3294 path.setFillType(SkPath::kEvenOdd_FillType); 3235 path.setFillType(SkPath::kEvenOdd_FillType);
3295 path.moveTo(819.050781f, 5539.72412f); 3236 path.moveTo(819.050781f, 5539.72412f);
3296 path.quadTo(819.651672f, 5539.1543f, 820.479858f, 5539.17578f); 3237 path.quadTo(819.651672f, 5539.1543f, 820.479858f, 5539.17578f);
3297 path.lineTo(1191.35278f, 5548.8877f); 3238 path.lineTo(1191.35278f, 5548.8877f);
3298 path.quadTo(1192.18091f, 5548.90918f, 1192.7511f, 5549.50977f); 3239 path.quadTo(1192.18091f, 5548.90918f, 1192.7511f, 5549.50977f);
3299 path.quadTo(1193.32141f, 5550.11133f, 1193.29968f, 5550.93945f); 3240 path.quadTo(1193.32141f, 5550.11133f, 1193.29968f, 5550.93945f);
3300 path.lineTo(1186.57214f, 5807.85107f); 3241 path.lineTo(1186.57214f, 5807.85107f);
3301 path.quadTo(1186.55054f, 5808.6792f, 1185.94958f, 5809.24951f); 3242 path.quadTo(1186.55054f, 5808.6792f, 1185.94958f, 5809.24951f);
3302 path.quadTo(1185.34863f, 5809.81982f, 1184.52051f, 5809.79834f); 3243 path.quadTo(1185.34863f, 5809.81982f, 1184.52051f, 5809.79834f);
3303 path.lineTo(813.647705f, 5800.08643f); 3244 path.lineTo(813.647705f, 5800.08643f);
3304 path.quadTo(812.819519f, 5800.06494f, 812.249268f, 5799.46387f); 3245 path.quadTo(812.819519f, 5800.06494f, 812.249268f, 5799.46387f);
3305 path.quadTo(811.679016f, 5798.86279f, 811.700684f, 5798.03467f); 3246 path.quadTo(811.679016f, 5798.86279f, 811.700684f, 5798.03467f);
3306 path.lineTo(818.428162f, 5541.12305f); 3247 path.lineTo(818.428162f, 5541.12305f);
3307 path.quadTo(818.44989f, 5540.29492f, 819.050781f, 5539.72412f); 3248 path.quadTo(818.44989f, 5540.29492f, 819.050781f, 5539.72412f);
3308 path.close(); 3249 path.close();
3309 SkPath pathB; 3250 SkPath pathB;
3310 pathB.setFillType(SkPath::kWinding_FillType); 3251 pathB.setFillType(SkPath::kWinding_FillType);
3311 pathB.moveTo(818.48053f, 5539.12354f); 3252 pathB.moveTo(818.48053f, 5539.12354f);
3312 pathB.lineTo(1193.35205f, 5548.93994f); 3253 pathB.lineTo(1193.35205f, 5548.93994f);
3313 pathB.lineTo(1186.5199f, 5809.85059f); 3254 pathB.lineTo(1186.5199f, 5809.85059f);
3314 pathB.lineTo(811.648376f, 5800.03418f); 3255 pathB.lineTo(811.648376f, 5800.03418f);
3315 pathB.close(); 3256 pathB.close();
3316 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3257 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3317 } 3258 }
3318 3259
3319 static void skpwww_kitcheninspirations_wordpress_com_66(skiatest::Reporter* repo rter, const char* filename) { 3260 static void skpwww_kitcheninspirations_wordpress_com_66(skiatest::Reporter* repo rter, const char* filename) {
3320 SkPath path; 3261 SkPath path;
3321 path.setFillType(SkPath::kEvenOdd_FillType); 3262 path.setFillType(SkPath::kEvenOdd_FillType);
3322 path.moveTo(47.1666679f, 27820.668f); 3263 path.moveTo(47.1666679f, 27820.668f);
3323 path.lineTo(60.8333359f, 27820.668f); 3264 path.lineTo(60.8333359f, 27820.668f);
3324 path.lineTo(60.8333359f, 27820.498f); 3265 path.lineTo(60.8333359f, 27820.498f);
3325 path.lineTo(47.1666679f, 27820.5f); 3266 path.lineTo(47.1666679f, 27820.5f);
3326 path.lineTo(47.1666679f, 27820.668f); 3267 path.lineTo(47.1666679f, 27820.668f);
3327 path.close(); 3268 path.close();
3328 SkPath pathB; 3269 SkPath pathB;
3329 pathB.setFillType(SkPath::kWinding_FillType); 3270 pathB.setFillType(SkPath::kWinding_FillType);
3330 pathB.moveTo(47.1666679f, 27820.668f); 3271 pathB.moveTo(47.1666679f, 27820.668f);
3331 pathB.lineTo(47.1666679f, 27820.498f); 3272 pathB.lineTo(47.1666679f, 27820.498f);
3332 pathB.lineTo(60.8333359f, 27820.5f); 3273 pathB.lineTo(60.8333359f, 27820.5f);
3333 pathB.lineTo(60.8333359f, 27820.668f); 3274 pathB.lineTo(60.8333359f, 27820.668f);
3334 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3275 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3335 } 3276 }
3336 3277
3337 static void skpwww_etiqadd_com_2464(skiatest::Reporter* reporter, const char* fi lename) { 3278 static void skpwww_etiqadd_com_2464(skiatest::Reporter* reporter, const char* fi lename) {
3338 SkPath path; 3279 SkPath path;
3339 path.setFillType(SkPath::kEvenOdd_FillType); 3280 path.setFillType(SkPath::kEvenOdd_FillType);
3340 path.moveTo(630.378662f, 1293.42896f); 3281 path.moveTo(630.378662f, 1293.42896f);
3341 path.quadTo(631.257385f, 1292.55029f, 632.5f, 1292.55029f); 3282 path.quadTo(631.257385f, 1292.55029f, 632.5f, 1292.55029f);
3342 path.quadTo(633.742615f, 1292.55029f, 634.621338f, 1293.42896f); 3283 path.quadTo(633.742615f, 1292.55029f, 634.621338f, 1293.42896f);
3343 path.lineTo(639.571045f, 1298.37866f); 3284 path.lineTo(639.571045f, 1298.37866f);
3344 path.quadTo(640.449768f, 1299.25732f, 640.449707f, 1300.5f); 3285 path.quadTo(640.449768f, 1299.25732f, 640.449707f, 1300.5f);
3345 path.quadTo(640.449768f, 1301.74268f, 639.571045f, 1302.62134f); 3286 path.quadTo(640.449768f, 1301.74268f, 639.571045f, 1302.62134f);
3346 path.lineTo(634.621338f, 1307.57104f); 3287 path.lineTo(634.621338f, 1307.57104f);
3347 path.quadTo(633.742615f, 1308.44971f, 632.5f, 1308.44971f); 3288 path.quadTo(633.742615f, 1308.44971f, 632.5f, 1308.44971f);
3348 path.quadTo(631.257385f, 1308.44971f, 630.378662f, 1307.57104f); 3289 path.quadTo(631.257385f, 1308.44971f, 630.378662f, 1307.57104f);
3349 path.lineTo(625.428955f, 1302.62134f); 3290 path.lineTo(625.428955f, 1302.62134f);
3350 path.quadTo(624.550232f, 1301.74268f, 624.550293f, 1300.5f); 3291 path.quadTo(624.550232f, 1301.74268f, 624.550293f, 1300.5f);
3351 path.quadTo(624.550232f, 1299.25732f, 625.428955f, 1298.37866f); 3292 path.quadTo(624.550232f, 1299.25732f, 625.428955f, 1298.37866f);
3352 path.lineTo(630.378662f, 1293.42896f); 3293 path.lineTo(630.378662f, 1293.42896f);
3353 path.close(); 3294 path.close();
3354 SkPath pathB; 3295 SkPath pathB;
3355 pathB.setFillType(SkPath::kWinding_FillType); 3296 pathB.setFillType(SkPath::kWinding_FillType);
3356 pathB.moveTo(632.5f, 1291.30762f); 3297 pathB.moveTo(632.5f, 1291.30762f);
3357 pathB.lineTo(641.692383f, 1300.5f); 3298 pathB.lineTo(641.692383f, 1300.5f);
3358 pathB.lineTo(632.5f, 1309.69238f); 3299 pathB.lineTo(632.5f, 1309.69238f);
3359 pathB.lineTo(623.307617f, 1300.5f); 3300 pathB.lineTo(623.307617f, 1300.5f);
3360 pathB.close(); 3301 pathB.close();
3361 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3302 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3362 } 3303 }
3363 3304
3364 static void skpwww_narayana_verlag_de_194(skiatest::Reporter* reporter, const ch ar* filename) { 3305 static void skpwww_narayana_verlag_de_194(skiatest::Reporter* reporter, const ch ar* filename) {
3365 SkPath path; 3306 SkPath path;
3366 path.setFillType(SkPath::kEvenOdd_FillType); 3307 path.setFillType(SkPath::kEvenOdd_FillType);
3367 path.moveTo(1083.34314f, 513.65686f); 3308 path.moveTo(1083.34314f, 513.65686f);
3368 path.quadTo(1081, 511.313721f, 1081, 508); 3309 path.quadTo(1081, 511.313721f, 1081, 508);
3369 path.lineTo(1257, 508); 3310 path.lineTo(1257, 508);
3370 path.quadTo(1257, 511.313721f, 1254.65686f, 513.65686f); 3311 path.quadTo(1257, 511.313721f, 1254.65686f, 513.65686f);
3371 path.quadTo(1252.31372f, 516, 1249, 516); 3312 path.quadTo(1252.31372f, 516, 1249, 516);
3372 path.lineTo(1089, 516); 3313 path.lineTo(1089, 516);
3373 path.quadTo(1085.68628f, 516, 1083.34314f, 513.65686f); 3314 path.quadTo(1085.68628f, 516, 1083.34314f, 513.65686f);
3374 path.close(); 3315 path.close();
3375 path.moveTo(1083, 509); 3316 path.moveTo(1083, 509);
3376 path.lineTo(1255, 509); 3317 path.lineTo(1255, 509);
3377 path.quadTo(1255, 511.071075f, 1253.53552f, 512.535522f); 3318 path.quadTo(1255, 511.071075f, 1253.53552f, 512.535522f);
3378 path.quadTo(1252.07104f, 514, 1250, 514); 3319 path.quadTo(1252.07104f, 514, 1250, 514);
3379 path.lineTo(1088, 514); 3320 path.lineTo(1088, 514);
3380 path.quadTo(1085.92896f, 514, 1084.46448f, 512.535522f); 3321 path.quadTo(1085.92896f, 514, 1084.46448f, 512.535522f);
3381 path.quadTo(1083, 511.071075f, 1083, 509); 3322 path.quadTo(1083, 511.071075f, 1083, 509);
3382 path.close(); 3323 path.close();
3383 SkPath pathB; 3324 SkPath pathB;
3384 pathB.setFillType(SkPath::kWinding_FillType); 3325 pathB.setFillType(SkPath::kWinding_FillType);
3385 pathB.moveTo(1081, 508); 3326 pathB.moveTo(1081, 508);
3386 pathB.lineTo(1082, 508); 3327 pathB.lineTo(1082, 508);
3387 pathB.lineTo(1090.01001f, 516); 3328 pathB.lineTo(1090.01001f, 516);
3388 pathB.lineTo(1081, 516); 3329 pathB.lineTo(1081, 516);
3389 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3330 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3390 } 3331 }
3391 3332
3392 static void skpwww_americascup_com_108(skiatest::Reporter* reporter, const char* filename) { 3333 static void skpwww_americascup_com_108(skiatest::Reporter* reporter, const char* filename) {
3393 SkPath path; 3334 SkPath path;
3394 path.setFillType(SkPath::kEvenOdd_FillType); 3335 path.setFillType(SkPath::kEvenOdd_FillType);
3395 path.moveTo(999.454102f, 689.17157f); 3336 path.moveTo(999.454102f, 689.17157f);
3396 path.quadTo(1001.172f, 688, 1002.82886f, 688); 3337 path.quadTo(1001.172f, 688, 1002.82886f, 688);
3397 path.lineTo(1013.82886f, 688); 3338 path.lineTo(1013.82886f, 688);
3398 path.lineTo(1002.17114f, 713); 3339 path.lineTo(1002.17114f, 713);
3399 path.lineTo(991.171143f, 713); 3340 path.lineTo(991.171143f, 713);
3400 path.quadTo(989.514282f, 713, 988.889038f, 711.82843f); 3341 path.quadTo(989.514282f, 713, 988.889038f, 711.82843f);
3401 path.quadTo(988.263794f, 710.65686f, 989.036377f, 709); 3342 path.quadTo(988.263794f, 710.65686f, 989.036377f, 709);
3402 path.lineTo(996.963623f, 692); 3343 path.lineTo(996.963623f, 692);
3403 path.quadTo(997.736206f, 690.34314f, 999.454102f, 689.17157f); 3344 path.quadTo(997.736206f, 690.34314f, 999.454102f, 689.17157f);
3404 path.close(); 3345 path.close();
3405 SkPath pathB; 3346 SkPath pathB;
3406 pathB.setFillType(SkPath::kWinding_FillType); 3347 pathB.setFillType(SkPath::kWinding_FillType);
3407 pathB.moveTo(998.828857f, 688); 3348 pathB.moveTo(998.828857f, 688);
3408 pathB.lineTo(1013.82886f, 688); 3349 pathB.lineTo(1013.82886f, 688);
3409 pathB.lineTo(1002.17114f, 713); 3350 pathB.lineTo(1002.17114f, 713);
3410 pathB.lineTo(987.171143f, 713); 3351 pathB.lineTo(987.171143f, 713);
3411 pathB.close(); 3352 pathB.close();
3412 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3353 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3413 } 3354 }
3414 3355
3415 static void skpwww_vantageproduction_com_109(skiatest::Reporter* reporter, const char* filename) { 3356 static void skpwww_vantageproduction_com_109(skiatest::Reporter* reporter, const char* filename) {
3416 SkPath path; 3357 SkPath path;
3417 path.setFillType(SkPath::kEvenOdd_FillType); 3358 path.setFillType(SkPath::kEvenOdd_FillType);
3418 path.moveTo(794.514709f, 759.485291f); 3359 path.moveTo(794.514709f, 759.485291f);
3419 path.quadTo(791, 755.970581f, 791, 751); 3360 path.quadTo(791, 755.970581f, 791, 751);
3420 path.lineTo(1133, 751); 3361 path.lineTo(1133, 751);
3421 path.quadTo(1133, 755.970581f, 1129.48523f, 759.485291f); 3362 path.quadTo(1133, 755.970581f, 1129.48523f, 759.485291f);
3422 path.quadTo(1125.97058f, 763, 1121, 763); 3363 path.quadTo(1125.97058f, 763, 1121, 763);
3423 path.lineTo(803, 763); 3364 path.lineTo(803, 763);
3424 path.quadTo(798.029419f, 763, 794.514709f, 759.485291f); 3365 path.quadTo(798.029419f, 763, 794.514709f, 759.485291f);
3425 path.close(); 3366 path.close();
3426 path.moveTo(793, 752); 3367 path.moveTo(793, 752);
3427 path.lineTo(1131, 752); 3368 path.lineTo(1131, 752);
3428 path.quadTo(1131, 755.727905f, 1128.36401f, 758.363953f); 3369 path.quadTo(1131, 755.727905f, 1128.36401f, 758.363953f);
3429 path.quadTo(1125.72791f, 761, 1122, 761); 3370 path.quadTo(1125.72791f, 761, 1122, 761);
3430 path.lineTo(802, 761); 3371 path.lineTo(802, 761);
3431 path.quadTo(798.272095f, 761, 795.636047f, 758.363953f); 3372 path.quadTo(798.272095f, 761, 795.636047f, 758.363953f);
3432 path.quadTo(793, 755.727905f, 793, 752); 3373 path.quadTo(793, 755.727905f, 793, 752);
3433 path.close(); 3374 path.close();
3434 SkPath pathB; 3375 SkPath pathB;
3435 pathB.setFillType(SkPath::kWinding_FillType); 3376 pathB.setFillType(SkPath::kWinding_FillType);
3436 pathB.moveTo(791, 751); 3377 pathB.moveTo(791, 751);
3437 pathB.lineTo(792, 751); 3378 pathB.lineTo(792, 751);
3438 pathB.lineTo(804.01001f, 763); 3379 pathB.lineTo(804.01001f, 763);
3439 pathB.lineTo(791, 763); 3380 pathB.lineTo(791, 763);
3440 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3381 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3441 } 3382 }
3442 3383
3443 static void skpwww_aceinfographics_com_106(skiatest::Reporter* reporter, const c har* filename) { 3384 static void skpwww_aceinfographics_com_106(skiatest::Reporter* reporter, const c har* filename) {
3444 SkPath path; 3385 SkPath path;
3445 path.setFillType(SkPath::kEvenOdd_FillType); 3386 path.setFillType(SkPath::kEvenOdd_FillType);
3446 path.moveTo(166.878677f, 7638.87891f); 3387 path.moveTo(166.878677f, 7638.87891f);
3447 path.quadTo(166, 7639.75732f, 166, 7641); 3388 path.quadTo(166, 7639.75732f, 166, 7641);
3448 path.lineTo(166, 11577); 3389 path.lineTo(166, 11577);
3449 path.quadTo(166, 11578.2422f, 166.878677f, 11579.1211f); 3390 path.quadTo(166, 11578.2422f, 166.878677f, 11579.1211f);
3450 path.quadTo(167.388f, 11579.6309f, 168.019989f, 11579.8447f); 3391 path.quadTo(167.388f, 11579.6309f, 168.019989f, 11579.8447f);
3451 path.lineTo(168.019974f, 11576.2979f); 3392 path.lineTo(168.019974f, 11576.2979f);
3452 path.quadTo(168, 11576.1533f, 168, 11576); 3393 path.quadTo(168, 11576.1533f, 168, 11576);
3453 path.lineTo(168, 7642); 3394 path.lineTo(168, 7642);
3454 path.lineTo(168.000015f, 7641.99316f); 3395 path.lineTo(168.000015f, 7641.99316f);
3455 path.lineTo(168, 7640); 3396 path.lineTo(168, 7640);
3456 path.lineTo(166.878677f, 7638.87891f); 3397 path.lineTo(166.878677f, 7638.87891f);
3457 path.close(); 3398 path.close();
3458 SkPath pathB; 3399 SkPath pathB;
3459 pathB.setFillType(SkPath::kWinding_FillType); 3400 pathB.setFillType(SkPath::kWinding_FillType);
3460 pathB.moveTo(166, 7638); 3401 pathB.moveTo(166, 7638);
3461 pathB.lineTo(168.020004f, 7635.97998f); 3402 pathB.lineTo(168.020004f, 7635.97998f);
3462 pathB.lineTo(168, 11578); 3403 pathB.lineTo(168, 11578);
3463 pathB.lineTo(166, 11580); 3404 pathB.lineTo(166, 11580);
3464 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3405 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3465 } 3406 }
3466 3407
3467 static void skpwww_tcmevents_org_13(skiatest::Reporter* reporter, const char* fi lename) { 3408 static void skpwww_tcmevents_org_13(skiatest::Reporter* reporter, const char* fi lename) {
3468 SkPath path; 3409 SkPath path;
3469 path.setFillType(SkPath::kEvenOdd_FillType); 3410 path.setFillType(SkPath::kEvenOdd_FillType);
3470 path.moveTo(465.951904f, 547.960144f); 3411 path.moveTo(465.951904f, 547.960144f);
3471 path.quadTo(465.66571f, 546.867371f, 465.404938f, 546); 3412 path.quadTo(465.66571f, 546.867371f, 465.404938f, 546);
3472 path.lineTo(465.504089f, 546); 3413 path.lineTo(465.504089f, 546);
3473 path.quadTo(465.670349f, 546.601257f, 465.84668f, 547.288391f); 3414 path.quadTo(465.670349f, 546.601257f, 465.84668f, 547.288391f);
3474 path.quadTo(467.274506f, 552.852356f, 468.506836f, 560.718567f); 3415 path.quadTo(467.274506f, 552.852356f, 468.506836f, 560.718567f);
3475 path.quadTo(467.336121f, 553.24585f, 465.951904f, 547.960144f); 3416 path.quadTo(467.336121f, 553.24585f, 465.951904f, 547.960144f);
3476 path.close(); 3417 path.close();
3477 path.moveTo(470.591064f, 574.024353f); 3418 path.moveTo(470.591064f, 574.024353f);
3478 path.quadTo(474.844055f, 601.176025f, 471.728271f, 620.364502f); 3419 path.quadTo(474.844055f, 601.176025f, 471.728271f, 620.364502f);
3479 path.quadTo(470.567017f, 627.515991f, 468.635742f, 632); 3420 path.quadTo(470.567017f, 627.515991f, 468.635742f, 632);
3480 path.lineTo(469.106812f, 632); 3421 path.lineTo(469.106812f, 632);
3481 path.quadTo(470.791504f, 627.638672f, 471.833496f, 621.036255f); 3422 path.quadTo(470.791504f, 627.638672f, 471.833496f, 621.036255f);
3482 path.quadTo(474.905701f, 601.569519f, 470.591064f, 574.024353f); 3423 path.quadTo(474.905701f, 601.569519f, 470.591064f, 574.024353f);
3483 path.close(); 3424 path.close();
3484 SkPath pathB; 3425 SkPath pathB;
3485 pathB.setFillType(SkPath::kWinding_FillType); 3426 pathB.setFillType(SkPath::kWinding_FillType);
3486 pathB.moveTo(322.992462f, 541.475708f); 3427 pathB.moveTo(322.992462f, 541.475708f);
3487 pathB.lineTo(465.531616f, 541.724426f); 3428 pathB.lineTo(465.531616f, 541.724426f);
3488 pathB.lineTo(468.507751f, 560.724426f); 3429 pathB.lineTo(468.507751f, 560.724426f);
3489 pathB.lineTo(325.968597f, 560.475708f); 3430 pathB.lineTo(325.968597f, 560.475708f);
3490 pathB.close(); 3431 pathB.close();
3491 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3432 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3492 } 3433 }
3493 3434
3494 static void skpwww_paseoitaigara_com_br_56(skiatest::Reporter* reporter, const c har* filename) { 3435 static void skpwww_paseoitaigara_com_br_56(skiatest::Reporter* reporter, const c har* filename) {
3495 SkPath path; 3436 SkPath path;
3496 path.setFillType(SkPath::kEvenOdd_FillType); 3437 path.setFillType(SkPath::kEvenOdd_FillType);
3497 path.moveTo(633.147217f, 1247); 3438 path.moveTo(633.147217f, 1247);
3498 path.lineTo(718, 1162.14722f); 3439 path.lineTo(718, 1162.14722f);
3499 path.lineTo(802.852783f, 1247); 3440 path.lineTo(802.852783f, 1247);
3500 path.lineTo(718, 1331.85278f); 3441 path.lineTo(718, 1331.85278f);
3501 path.lineTo(633.147217f, 1247); 3442 path.lineTo(633.147217f, 1247);
3502 path.close(); 3443 path.close();
3503 SkPath pathB; 3444 SkPath pathB;
3504 pathB.setFillType(SkPath::kWinding_FillType); 3445 pathB.setFillType(SkPath::kWinding_FillType);
3505 pathB.moveTo(635.268494f, 1244.87866f); 3446 pathB.moveTo(635.268494f, 1244.87866f);
3506 pathB.lineTo(715.878662f, 1164.26855f); 3447 pathB.lineTo(715.878662f, 1164.26855f);
3507 pathB.quadTo(716.757385f, 1163.38989f, 718, 1163.38989f); 3448 pathB.quadTo(716.757385f, 1163.38989f, 718, 1163.38989f);
3508 pathB.quadTo(719.242615f, 1163.38989f, 720.121338f, 1164.26855f); 3449 pathB.quadTo(719.242615f, 1163.38989f, 720.121338f, 1164.26855f);
3509 pathB.lineTo(800.731506f, 1244.87866f); 3450 pathB.lineTo(800.731506f, 1244.87866f);
3510 pathB.quadTo(801.610168f, 1245.75732f, 801.610168f, 1247); 3451 pathB.quadTo(801.610168f, 1245.75732f, 801.610168f, 1247);
3511 pathB.quadTo(801.610229f, 1248.24268f, 800.731445f, 1249.12134f); 3452 pathB.quadTo(801.610229f, 1248.24268f, 800.731445f, 1249.12134f);
3512 pathB.lineTo(720.121338f, 1329.73145f); 3453 pathB.lineTo(720.121338f, 1329.73145f);
3513 pathB.quadTo(719.242676f, 1330.61011f, 718, 1330.61011f); 3454 pathB.quadTo(719.242676f, 1330.61011f, 718, 1330.61011f);
3514 pathB.quadTo(716.757385f, 1330.61011f, 715.878723f, 1329.73145f); 3455 pathB.quadTo(716.757385f, 1330.61011f, 715.878723f, 1329.73145f);
3515 pathB.lineTo(635.268555f, 1249.12134f); 3456 pathB.lineTo(635.268555f, 1249.12134f);
3516 pathB.quadTo(634.389832f, 1248.24268f, 634.389832f, 1247); 3457 pathB.quadTo(634.389832f, 1248.24268f, 634.389832f, 1247);
3517 pathB.quadTo(634.389832f, 1245.75732f, 635.268494f, 1244.87866f); 3458 pathB.quadTo(634.389832f, 1245.75732f, 635.268494f, 1244.87866f);
3518 pathB.close(); 3459 pathB.close();
3519 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3460 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3520 } 3461 }
3521 3462
3522 static void skpwww_mortgagemarketguide_com_109(skiatest::Reporter* reporter, con st char* filename) { 3463 static void skpwww_mortgagemarketguide_com_109(skiatest::Reporter* reporter, con st char* filename) {
3523 SkPath path; 3464 SkPath path;
3524 path.setFillType(SkPath::kEvenOdd_FillType); 3465 path.setFillType(SkPath::kEvenOdd_FillType);
3525 path.moveTo(816.514709f, 781.485291f); 3466 path.moveTo(816.514709f, 781.485291f);
3526 path.quadTo(813, 777.970581f, 813, 773); 3467 path.quadTo(813, 777.970581f, 813, 773);
3527 path.lineTo(1133, 773); 3468 path.lineTo(1133, 773);
3528 path.quadTo(1133, 777.970581f, 1129.48523f, 781.485291f); 3469 path.quadTo(1133, 777.970581f, 1129.48523f, 781.485291f);
3529 path.quadTo(1125.97058f, 785, 1121, 785); 3470 path.quadTo(1125.97058f, 785, 1121, 785);
3530 path.lineTo(825, 785); 3471 path.lineTo(825, 785);
3531 path.quadTo(820.029419f, 785, 816.514709f, 781.485291f); 3472 path.quadTo(820.029419f, 785, 816.514709f, 781.485291f);
3532 path.close(); 3473 path.close();
3533 path.moveTo(815, 774); 3474 path.moveTo(815, 774);
3534 path.lineTo(1131, 774); 3475 path.lineTo(1131, 774);
3535 path.quadTo(1131, 777.727905f, 1128.36401f, 780.363953f); 3476 path.quadTo(1131, 777.727905f, 1128.36401f, 780.363953f);
3536 path.quadTo(1125.72791f, 783, 1122, 783); 3477 path.quadTo(1125.72791f, 783, 1122, 783);
3537 path.lineTo(824, 783); 3478 path.lineTo(824, 783);
3538 path.quadTo(820.272095f, 783, 817.636047f, 780.363953f); 3479 path.quadTo(820.272095f, 783, 817.636047f, 780.363953f);
3539 path.quadTo(815, 777.727905f, 815, 774); 3480 path.quadTo(815, 777.727905f, 815, 774);
3540 path.close(); 3481 path.close();
3541 SkPath pathB; 3482 SkPath pathB;
3542 pathB.setFillType(SkPath::kWinding_FillType); 3483 pathB.setFillType(SkPath::kWinding_FillType);
3543 pathB.moveTo(813, 773); 3484 pathB.moveTo(813, 773);
3544 pathB.lineTo(814, 773); 3485 pathB.lineTo(814, 773);
3545 pathB.lineTo(826.01001f, 785); 3486 pathB.lineTo(826.01001f, 785);
3546 pathB.lineTo(813, 785); 3487 pathB.lineTo(813, 785);
3547 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3488 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3548 } 3489 }
3549 3490
3550 static void skpwww_9to5mac_com_64(skiatest::Reporter* reporter, const char* file name) { 3491 static void skpwww_9to5mac_com_64(skiatest::Reporter* reporter, const char* file name) {
3551 SkPath path; 3492 SkPath path;
3552 path.setFillType(SkPath::kEvenOdd_FillType); 3493 path.setFillType(SkPath::kEvenOdd_FillType);
3553 path.moveTo(365, 5101); 3494 path.moveTo(365, 5101);
3554 path.lineTo(365, 5082); 3495 path.lineTo(365, 5082);
3555 path.lineTo(366, 5083); 3496 path.lineTo(366, 5083);
3556 path.lineTo(367, 5092.96631f); 3497 path.lineTo(367, 5092.96631f);
3557 path.lineTo(367, 5100); 3498 path.lineTo(367, 5100);
3558 path.quadTo(367, 5101.50537f, 367.967712f, 5102.61084f); 3499 path.quadTo(367, 5101.50537f, 367.967712f, 5102.61084f);
3559 path.lineTo(368.278717f, 5105.71045f); 3500 path.lineTo(368.278717f, 5105.71045f);
3560 path.quadTo(367.277618f, 5105.34863f, 366.464478f, 5104.53564f); 3501 path.quadTo(367.277618f, 5105.34863f, 366.464478f, 5104.53564f);
3561 path.quadTo(365, 5103.07129f, 365, 5101); 3502 path.quadTo(365, 5103.07129f, 365, 5101);
3562 path.close(); 3503 path.close();
3563 SkPath pathB; 3504 SkPath pathB;
3564 pathB.setFillType(SkPath::kWinding_FillType); 3505 pathB.setFillType(SkPath::kWinding_FillType);
3565 pathB.moveTo(365, 5082); 3506 pathB.moveTo(365, 5082);
3566 pathB.lineTo(365.848175f, 5081.15186f); 3507 pathB.lineTo(365.848175f, 5081.15186f);
3567 pathB.lineTo(368, 5103); 3508 pathB.lineTo(368, 5103);
3568 pathB.lineTo(365, 5106); 3509 pathB.lineTo(365, 5106);
3569 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3510 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3570 } 3511 }
3571 3512
3572 static void skpwww_googleventures_com_32(skiatest::Reporter* reporter, const cha r* filename) { 3513 static void skpwww_googleventures_com_32(skiatest::Reporter* reporter, const cha r* filename) {
3573 SkPath path; 3514 SkPath path;
3574 path.setFillType(SkPath::kEvenOdd_FillType); 3515 path.setFillType(SkPath::kEvenOdd_FillType);
3575 path.moveTo(725.911682f, 898.767456f); 3516 path.moveTo(725.911682f, 898.767456f);
3576 path.lineTo(741.232544f, 885.911682f); 3517 path.lineTo(741.232544f, 885.911682f);
3577 path.lineTo(754.088318f, 901.232544f); 3518 path.lineTo(754.088318f, 901.232544f);
3578 path.lineTo(738.767456f, 914.088318f); 3519 path.lineTo(738.767456f, 914.088318f);
3579 path.lineTo(725.911682f, 898.767456f); 3520 path.lineTo(725.911682f, 898.767456f);
3580 path.close(); 3521 path.close();
3581 SkPath pathB; 3522 SkPath pathB;
3582 pathB.setFillType(SkPath::kWinding_FillType); 3523 pathB.setFillType(SkPath::kWinding_FillType);
3583 pathB.moveTo(728.37677f, 870.59082f); 3524 pathB.moveTo(728.37677f, 870.59082f);
3584 pathB.lineTo(754.088257f, 901.232605f); 3525 pathB.lineTo(754.088257f, 901.232605f);
3585 pathB.lineTo(738.767395f, 914.088379f); 3526 pathB.lineTo(738.767395f, 914.088379f);
3586 pathB.lineTo(713.055908f, 883.446594f); 3527 pathB.lineTo(713.055908f, 883.446594f);
3587 pathB.close(); 3528 pathB.close();
3588 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3529 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3589 } 3530 }
3590 3531
3591 static void skpwww_devbridge_com_22(skiatest::Reporter* reporter, const char* fi lename) { 3532 static void skpwww_devbridge_com_22(skiatest::Reporter* reporter, const char* fi lename) {
3592 SkPath path; 3533 SkPath path;
3593 path.setFillType(SkPath::kEvenOdd_FillType); 3534 path.setFillType(SkPath::kEvenOdd_FillType);
3594 path.moveTo(4915, 1523); 3535 path.moveTo(4915, 1523);
3595 path.quadTo(4887.24756f, 1523, 4867.62402f, 1542.6239f); 3536 path.quadTo(4887.24756f, 1523, 4867.62402f, 1542.6239f);
3596 path.quadTo(4848, 1562.24768f, 4848, 1590); 3537 path.quadTo(4848, 1562.24768f, 4848, 1590);
3597 path.quadTo(4848, 1617.75232f, 4867.62402f, 1637.3761f); 3538 path.quadTo(4848, 1617.75232f, 4867.62402f, 1637.3761f);
3598 path.quadTo(4887.24756f, 1657, 4915, 1657); 3539 path.quadTo(4887.24756f, 1657, 4915, 1657);
3599 path.quadTo(4942.75244f, 1657, 4962.37598f, 1637.3761f); 3540 path.quadTo(4942.75244f, 1657, 4962.37598f, 1637.3761f);
3600 path.quadTo(4982, 1617.75232f, 4982, 1590); 3541 path.quadTo(4982, 1617.75232f, 4982, 1590);
3601 path.quadTo(4982, 1562.24768f, 4962.37598f, 1542.6239f); 3542 path.quadTo(4982, 1562.24768f, 4962.37598f, 1542.6239f);
3602 path.quadTo(4942.75244f, 1523, 4915, 1523); 3543 path.quadTo(4942.75244f, 1523, 4915, 1523);
3603 path.close(); 3544 path.close();
3604 SkPath pathB; 3545 SkPath pathB;
3605 pathB.setFillType(SkPath::kWinding_FillType); 3546 pathB.setFillType(SkPath::kWinding_FillType);
3606 pathB.moveTo(4981.99902f, 1590); 3547 pathB.moveTo(4981.99902f, 1590);
3607 pathB.quadTo(4981.99902f, 1617.75232f, 4962.375f, 1637.3761f); 3548 pathB.quadTo(4981.99902f, 1617.75232f, 4962.375f, 1637.3761f);
3608 pathB.quadTo(4942.75146f, 1657, 4914.99902f, 1657); 3549 pathB.quadTo(4942.75146f, 1657, 4914.99902f, 1657);
3609 pathB.quadTo(4887.24658f, 1657, 4867.62305f, 1637.3761f); 3550 pathB.quadTo(4887.24658f, 1657, 4867.62305f, 1637.3761f);
3610 pathB.quadTo(4847.99902f, 1617.75232f, 4847.99902f, 1590); 3551 pathB.quadTo(4847.99902f, 1617.75232f, 4847.99902f, 1590);
3611 pathB.quadTo(4847.99902f, 1562.24768f, 4867.62305f, 1542.6239f); 3552 pathB.quadTo(4847.99902f, 1562.24768f, 4867.62305f, 1542.6239f);
3612 pathB.quadTo(4887.24658f, 1523, 4914.99902f, 1523); 3553 pathB.quadTo(4887.24658f, 1523, 4914.99902f, 1523);
3613 pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f); 3554 pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f);
3614 pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590); 3555 pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590);
3615 pathB.close(); 3556 pathB.close();
3616 if (FLAGS_runFail) { 3557 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3617 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
3618 } else {
3619 // INVESTIGATE : why this normal test takes fail case (test has never wo rked)
3620 testPathFailOp(reporter, path, pathB, kIntersect_PathOp, filename);
3621 }
3622 } 3558 }
3623 3559
3624 static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filena me) { 3560 static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filena me) {
3625 SkPath path; 3561 SkPath path;
3626 path.setFillType(SkPath::kEvenOdd_FillType); 3562 path.setFillType(SkPath::kEvenOdd_FillType);
3627 path.moveTo(10210.8789f, 5315.87891f); 3563 path.moveTo(10210.8789f, 5315.87891f);
3628 path.quadTo(10211.7578f, 5315, 10213, 5315); 3564 path.quadTo(10211.7578f, 5315, 10213, 5315);
3629 path.lineTo(10230, 5315); 3565 path.lineTo(10230, 5315);
3630 path.quadTo(10231.2422f, 5315, 10232.1211f, 5315.87891f); 3566 path.quadTo(10231.2422f, 5315, 10232.1211f, 5315.87891f);
3631 path.quadTo(10233, 5316.75732f, 10233, 5318); 3567 path.quadTo(10233, 5316.75732f, 10233, 5318);
(...skipping 11 matching lines...) Expand all
3643 pathB.moveTo(10213, 5315); 3579 pathB.moveTo(10213, 5315);
3644 pathB.lineTo(10230, 5315); 3580 pathB.lineTo(10230, 5315);
3645 pathB.cubicTo(10231.6572f, 5315, 10233, 5316.34326f, 10233, 5318); 3581 pathB.cubicTo(10231.6572f, 5315, 10233, 5316.34326f, 10233, 5318);
3646 pathB.lineTo(10233, 5338); 3582 pathB.lineTo(10233, 5338);
3647 pathB.cubicTo(10233, 5339.10449f, 10231.6572f, 5340, 10230, 5340); 3583 pathB.cubicTo(10233, 5339.10449f, 10231.6572f, 5340, 10230, 5340);
3648 pathB.lineTo(10213, 5340); 3584 pathB.lineTo(10213, 5340);
3649 pathB.cubicTo(10211.3428f, 5340, 10210, 5339.10449f, 10210, 5338); 3585 pathB.cubicTo(10211.3428f, 5340, 10210, 5339.10449f, 10210, 5338);
3650 pathB.lineTo(10210, 5318); 3586 pathB.lineTo(10210, 5318);
3651 pathB.cubicTo(10210, 5316.34326f, 10211.3428f, 5315, 10213, 5315); 3587 pathB.cubicTo(10210, 5316.34326f, 10211.3428f, 5315, 10213, 5315);
3652 pathB.close(); 3588 pathB.close();
3653 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3589 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3654 } 3590 }
3655 3591
3656 static void skpwww_familysurvivalprotocol_wordpress_com_61(skiatest::Reporter* r eporter, const char* filename) { 3592 static void skpwww_familysurvivalprotocol_wordpress_com_61(skiatest::Reporter* r eporter, const char* filename) {
3657 SkPath path; 3593 SkPath path;
3658 path.setFillType(SkPath::kEvenOdd_FillType); 3594 path.setFillType(SkPath::kEvenOdd_FillType);
3659 path.moveTo(143, 14557); 3595 path.moveTo(143, 14557);
3660 path.lineTo(165, 14557); 3596 path.lineTo(165, 14557);
3661 path.lineTo(165, 14555.9902f); 3597 path.lineTo(165, 14555.9902f);
3662 path.lineTo(143, 14556); 3598 path.lineTo(143, 14556);
3663 path.lineTo(143, 14557); 3599 path.lineTo(143, 14557);
3664 path.close(); 3600 path.close();
3665 SkPath pathB; 3601 SkPath pathB;
3666 pathB.setFillType(SkPath::kWinding_FillType); 3602 pathB.setFillType(SkPath::kWinding_FillType);
3667 pathB.moveTo(143, 14557); 3603 pathB.moveTo(143, 14557);
3668 pathB.lineTo(143, 14555.9902f); 3604 pathB.lineTo(143, 14555.9902f);
3669 pathB.lineTo(165, 14556); 3605 pathB.lineTo(165, 14556);
3670 pathB.lineTo(165, 14557); 3606 pathB.lineTo(165, 14557);
3671 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3607 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3672 } 3608 }
3673 3609
3674 static void skpwww_firstunitedbank_com_19(skiatest::Reporter* reporter, const ch ar* filename) { 3610 static void skpwww_firstunitedbank_com_19(skiatest::Reporter* reporter, const ch ar* filename) {
3675 SkPath path; 3611 SkPath path;
3676 path.setFillType(SkPath::kEvenOdd_FillType); 3612 path.setFillType(SkPath::kEvenOdd_FillType);
3677 path.moveTo(808.585815f, 11673.5859f); 3613 path.moveTo(808.585815f, 11673.5859f);
3678 path.quadTo(809.17157f, 11673, 810, 11673); 3614 path.quadTo(809.17157f, 11673, 810, 11673);
3679 path.lineTo(1032, 11673); 3615 path.lineTo(1032, 11673);
3680 path.quadTo(1038.21326f, 11673, 1042.60657f, 11677.3936f); 3616 path.quadTo(1038.21326f, 11673, 1042.60657f, 11677.3936f);
3681 path.quadTo(1047, 11681.7871f, 1047, 11688); 3617 path.quadTo(1047, 11681.7871f, 1047, 11688);
(...skipping 15 matching lines...) Expand all
3697 path.quadTo(808, 11701.8281f, 808, 11701); 3633 path.quadTo(808, 11701.8281f, 808, 11701);
3698 path.lineTo(808, 11675); 3634 path.lineTo(808, 11675);
3699 path.quadTo(808, 11674.1719f, 808.585815f, 11673.5859f); 3635 path.quadTo(808, 11674.1719f, 808.585815f, 11673.5859f);
3700 path.close(); 3636 path.close();
3701 SkPath pathB; 3637 SkPath pathB;
3702 pathB.setFillType(SkPath::kWinding_FillType); 3638 pathB.setFillType(SkPath::kWinding_FillType);
3703 pathB.moveTo(808, 11703); 3639 pathB.moveTo(808, 11703);
3704 pathB.lineTo(809.5f, 11701.5f); 3640 pathB.lineTo(809.5f, 11701.5f);
3705 pathB.lineTo(1062.91907f, 11687.0811f); 3641 pathB.lineTo(1062.91907f, 11687.0811f);
3706 pathB.lineTo(1047, 11703); 3642 pathB.lineTo(1047, 11703);
3707 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3643 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3708 } 3644 }
3709 3645
3710 // addSimpleAngle: failed assertion "index == count() - 2"
3711 static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* fi lename) { 3646 static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* fi lename) {
3712 SkPath path; 3647 SkPath path;
3713 path.setFillType(SkPath::kEvenOdd_FillType); 3648 path.setFillType(SkPath::kEvenOdd_FillType);
3714 path.moveTo(205.884888f, 648.203857f); 3649 path.moveTo(205.884888f, 648.203857f);
3715 path.lineTo(771.570374f, 82.5183716f); 3650 path.lineTo(771.570374f, 82.5183716f);
3716 path.lineTo(1110.98169f, 421.929626f); 3651 path.lineTo(1110.98169f, 421.929626f);
3717 path.lineTo(545.296143f, 987.615112f); 3652 path.lineTo(545.296143f, 987.615112f);
3718 path.lineTo(205.884888f, 648.203857f); 3653 path.lineTo(205.884888f, 648.203857f);
3719 path.close(); 3654 path.close();
3720 SkPath pathB; 3655 SkPath pathB;
3721 pathB.setFillType(SkPath::kWinding_FillType); 3656 pathB.setFillType(SkPath::kWinding_FillType);
3722 pathB.moveTo(771.570374f, 82.5183716f); 3657 pathB.moveTo(771.570374f, 82.5183716f);
3723 pathB.lineTo(1110.98169f, 421.929626f); 3658 pathB.lineTo(1110.98169f, 421.929626f);
3724 pathB.lineTo(545.296204f, 987.615051f); 3659 pathB.lineTo(545.296204f, 987.615051f);
3725 pathB.lineTo(205.884949f, 648.203796f); 3660 pathB.lineTo(205.884949f, 648.203796f);
3726 pathB.close(); 3661 pathB.close();
3727 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3662 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3728 } 3663 }
3729 3664
3730 // addTCoincident oPeek = &other->fTs[++oPeekIndex];
3731 static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filena me) { 3665 static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filena me) {
3732 SkPath path; 3666 SkPath path;
3733 path.setFillType(SkPath::kEvenOdd_FillType); 3667 path.setFillType(SkPath::kEvenOdd_FillType);
3734 path.moveTo(78.6429825f, 1394.30969f); 3668 path.moveTo(78.6429825f, 1394.30969f);
3735 path.quadTo(79.6192932f, 1393.33337f, 81.0000076f, 1393.33337f); 3669 path.quadTo(79.6192932f, 1393.33337f, 81.0000076f, 1393.33337f);
3736 path.lineTo(341, 1393.33337f); 3670 path.lineTo(341, 1393.33337f);
3737 path.quadTo(342.380707f, 1393.33337f, 343.357025f, 1394.30969f); 3671 path.quadTo(342.380707f, 1393.33337f, 343.357025f, 1394.30969f);
3738 path.quadTo(344.333344f, 1395.28601f, 344.333344f, 1396.66675f); 3672 path.quadTo(344.333344f, 1395.28601f, 344.333344f, 1396.66675f);
3739 path.lineTo(344.333344f, 1465.66663f); 3673 path.lineTo(344.333344f, 1465.66663f);
3740 path.quadTo(344.333344f, 1467.04736f, 343.357025f, 1468.02368f); 3674 path.quadTo(344.333344f, 1467.04736f, 343.357025f, 1468.02368f);
3741 path.quadTo(342.380707f, 1469, 341, 1469); 3675 path.quadTo(342.380707f, 1469, 341, 1469);
3742 path.lineTo(81.0000076f, 1469); 3676 path.lineTo(81.0000076f, 1469);
3743 path.quadTo(79.6192932f, 1469, 78.6429825f, 1468.02368f); 3677 path.quadTo(79.6192932f, 1469, 78.6429825f, 1468.02368f);
3744 path.quadTo(77.6666718f, 1467.04736f, 77.6666718f, 1465.66663f); 3678 path.quadTo(77.6666718f, 1467.04736f, 77.6666718f, 1465.66663f);
3745 path.lineTo(77.6666718f, 1396.66675f); 3679 path.lineTo(77.6666718f, 1396.66675f);
3746 path.quadTo(77.6666718f, 1395.28601f, 78.6429825f, 1394.30969f); 3680 path.quadTo(77.6666718f, 1395.28601f, 78.6429825f, 1394.30969f);
3747 path.close(); 3681 path.close();
3748 SkPath pathB; 3682 SkPath pathB;
3749 pathB.setFillType(SkPath::kEvenOdd_FillType); 3683 pathB.setFillType(SkPath::kEvenOdd_FillType);
3750 pathB.moveTo(81, 1393.33337f); 3684 pathB.moveTo(81, 1393.33337f);
3751 pathB.lineTo(341, 1393.33337f); 3685 pathB.lineTo(341, 1393.33337f);
3752 pathB.cubicTo(342.840942f, 1393.33337f, 344.333344f, 1394.82568f, 344.333344 f, 1396.66675f); 3686 pathB.cubicTo(342.840942f, 1393.33337f, 344.333344f, 1394.82568f, 344.333344 f, 1396.66675f);
3753 pathB.lineTo(344.333344f, 1465.66675f); 3687 pathB.lineTo(344.333344f, 1465.66675f);
3754 pathB.cubicTo(344.333344f, 1467.32361f, 342.840942f, 1468.66675f, 341, 1468. 66675f); 3688 pathB.cubicTo(344.333344f, 1467.32361f, 342.840942f, 1468.66675f, 341, 1468. 66675f);
3755 pathB.lineTo(81, 1468.66675f); 3689 pathB.lineTo(81, 1468.66675f);
3756 pathB.cubicTo(79.15905f, 1468.66675f, 77.6666718f, 1467.32361f, 77.6666718f, 1465.66675f); 3690 pathB.cubicTo(79.15905f, 1468.66675f, 77.6666718f, 1467.32361f, 77.6666718f, 1465.66675f);
3757 pathB.lineTo(77.6666718f, 1396.66675f); 3691 pathB.lineTo(77.6666718f, 1396.66675f);
3758 pathB.cubicTo(77.6666718f, 1394.82568f, 79.15905f, 1393.33337f, 81, 1393.333 37f); 3692 pathB.cubicTo(77.6666718f, 1394.82568f, 79.15905f, 1393.33337f, 81, 1393.333 37f);
3759 pathB.close(); 3693 pathB.close();
3760 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3694 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3761 } 3695 }
3762 3696
3763 static void skpwww_shinydemos_com_15(skiatest::Reporter* reporter, const char* f ilename) { 3697 static void skpwww_shinydemos_com_15(skiatest::Reporter* reporter, const char* f ilename) {
3764 SkPath path; 3698 SkPath path;
3765 path.setFillType(SkPath::kEvenOdd_FillType); 3699 path.setFillType(SkPath::kEvenOdd_FillType);
3766 path.moveTo(1000, 310.947968f); 3700 path.moveTo(1000, 310.947968f);
3767 path.lineTo(771.570374f, 82.5183716f); 3701 path.lineTo(771.570374f, 82.5183716f);
3768 path.lineTo(205.884888f, 648.203857f); 3702 path.lineTo(205.884888f, 648.203857f);
3769 path.lineTo(448.68103f, 891); 3703 path.lineTo(448.68103f, 891);
3770 path.lineTo(641.911255f, 891); 3704 path.lineTo(641.911255f, 891);
3771 path.lineTo(1000, 532.911316f); 3705 path.lineTo(1000, 532.911316f);
3772 path.lineTo(1000, 310.947968f); 3706 path.lineTo(1000, 310.947968f);
3773 path.close(); 3707 path.close();
3774 SkPath pathB; 3708 SkPath pathB;
3775 pathB.setFillType(SkPath::kWinding_FillType); 3709 pathB.setFillType(SkPath::kWinding_FillType);
3776 pathB.moveTo(771.570374f, 82.5183716f); 3710 pathB.moveTo(771.570374f, 82.5183716f);
3777 pathB.lineTo(1110.98169f, 421.929626f); 3711 pathB.lineTo(1110.98169f, 421.929626f);
3778 pathB.lineTo(545.296204f, 987.615051f); 3712 pathB.lineTo(545.296204f, 987.615051f);
3779 pathB.lineTo(205.884949f, 648.203796f); 3713 pathB.lineTo(205.884949f, 648.203796f);
3780 pathB.close(); 3714 pathB.close();
3781 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); 3715 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3782 } 3716 }
3783 3717
3784 // SkOpSegment.cpp:4398: failed assertion "!span->fDone"
3785 static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filena me) { 3718 static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filena me) {
3786 if (/* 0 && */ !FLAGS_runFail) { // has never worked MUST BE FIXED BEFORE N EXT CHECKIN
3787 return;
3788 }
3789 SkPath path; 3719 SkPath path;
3790 path.setFillType(SkPath::kEvenOdd_FillType); 3720 path.setFillType(SkPath::kEvenOdd_FillType);
3791 path.moveTo(78.6429825f, 3150.97632f); 3721 path.moveTo(78.6429825f, 3150.97632f);
3792 path.quadTo(79.6192932f, 3150, 81.0000076f, 3150); 3722 path.quadTo(79.6192932f, 3150, 81.0000076f, 3150);
3793 path.lineTo(341, 3150); 3723 path.lineTo(341, 3150);
3794 path.quadTo(342.380707f, 3150, 343.357025f, 3150.97632f); 3724 path.quadTo(342.380707f, 3150, 343.357025f, 3150.97632f);
3795 path.quadTo(344.333344f, 3151.95264f, 344.333344f, 3153.33325f); 3725 path.quadTo(344.333344f, 3151.95264f, 344.333344f, 3153.33325f);
3796 path.lineTo(344.333344f, 5205.3335f); 3726 path.lineTo(344.333344f, 5205.3335f);
3797 path.quadTo(344.333344f, 5206.71436f, 343.357025f, 5207.69092f); 3727 path.quadTo(344.333344f, 5206.71436f, 343.357025f, 5207.69092f);
3798 path.quadTo(342.380707f, 5208.66699f, 341, 5208.66699f); 3728 path.quadTo(342.380707f, 5208.66699f, 341, 5208.66699f);
3799 path.lineTo(81.0000076f, 5208.66699f); 3729 path.lineTo(81.0000076f, 5208.66699f);
3800 path.quadTo(79.6192932f, 5208.66699f, 78.6429825f, 5207.69092f); 3730 path.quadTo(79.6192932f, 5208.66699f, 78.6429825f, 5207.69092f);
3801 path.quadTo(77.6666718f, 5206.71436f, 77.6666718f, 5205.3335f); 3731 path.quadTo(77.6666718f, 5206.71436f, 77.6666718f, 5205.3335f);
3802 path.lineTo(77.6666718f, 3153.33325f); 3732 path.lineTo(77.6666718f, 3153.33325f);
3803 path.quadTo(77.6666718f, 3151.95264f, 78.6429825f, 3150.97632f); 3733 path.quadTo(77.6666718f, 3151.95264f, 78.6429825f, 3150.97632f);
3804 path.close(); 3734 path.close();
3805 SkPath pathB; 3735 SkPath pathB;
3806 pathB.setFillType(SkPath::kEvenOdd_FillType); 3736 pathB.setFillType(SkPath::kEvenOdd_FillType);
3807 pathB.moveTo(81, 3150); 3737 pathB.moveTo(81, 3150);
3808 pathB.lineTo(341, 3150); 3738 pathB.lineTo(341, 3150);
3809 pathB.cubicTo(342.840942f, 3150, 344.333344f, 3151.49268f, 344.333344f, 3153 .3335f); 3739 pathB.cubicTo(342.840942f, 3150, 344.333344f, 3151.49268f, 344.333344f, 3153 .3335f);
3810 pathB.lineTo(344.333344f, 5205.3335f); 3740 pathB.lineTo(344.333344f, 5205.3335f);
3811 pathB.cubicTo(344.333344f, 5206.99023f, 342.840942f, 5208.3335f, 341, 5208.3 335f); 3741 pathB.cubicTo(344.333344f, 5206.99023f, 342.840942f, 5208.3335f, 341, 5208.3 335f);
3812 pathB.lineTo(81, 5208.3335f); 3742 pathB.lineTo(81, 5208.3335f);
3813 pathB.cubicTo(79.15905f, 5208.3335f, 77.6666718f, 5206.99023f, 77.6666718f, 5205.3335f); 3743 pathB.cubicTo(79.15905f, 5208.3335f, 77.6666718f, 5206.99023f, 77.6666718f, 5205.3335f);
3814 pathB.lineTo(77.6666718f, 3153.3335f); 3744 pathB.lineTo(77.6666718f, 3153.3335f);
3815 pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150); 3745 pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150);
3816 pathB.close(); 3746 pathB.close();
3817 testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_ru nFail); 3747 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3818 } 3748 }
3819 3749
3750 static void skpwww_educationalcraft_com_4a(skiatest::Reporter* reporter, const c har* filename) {
3751 SkPath path;
3752 path.setFillType(SkPath::kEvenOdd_FillType);
3753 path.moveTo(941, 1494);
3754 path.lineTo(941, 1464);
3755 path.lineTo(985, 1464);
3756 path.lineTo(985, 1494);
3757 path.lineTo(941, 1494);
3758 path.close();
3759 SkPath pathB;
3760 pathB.setFillType(SkPath::kWinding_FillType);
3761
3762 pathB.moveTo(984.546021f, 1478.31494f);
3763 pathB.cubicTo(984.546021f, 1478.31494f, 984.543213f, 1478.32239f, 984.537598f, 1 478.33655f);
3764 pathB.cubicTo(984.419006f, 1478.63477f, 983.044373f, 1481.90405f, 980.026001f, 1 481.276f);
3765 pathB.cubicTo(980.026001f, 1481.276f, 980.02594f, 1481.27576f, 980.025879f, 1481 .27527f);
3766 pathB.cubicTo(980.018494f, 1481.22131f, 979.602478f, 1478.38831f, 984.546021f, 1 478.31494f);
3767 testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
3768
3769 }
3770
3771 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
3820 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; 3772 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
3773 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
3821 3774
3822 static struct TestDesc tests[] = { 3775 static struct TestDesc tests[] = {
3776 TEST(skpwww_educationalcraft_com_4a),
3823 TEST(skpwww_lptemp_com_3), 3777 TEST(skpwww_lptemp_com_3),
3824 TEST(skpwww_shinydemos_com_5), 3778 TEST(skpwww_shinydemos_com_5),
3825 TEST(skpwww_lptemp_com_5), 3779 TEST(skpwww_lptemp_com_5),
3826 TEST(skpwww_shinydemos_com_15), 3780 TEST(skpwww_shinydemos_com_15),
3827 TEST(skpwww_familysurvivalprotocol_wordpress_com_61), 3781 TEST(skpwww_familysurvivalprotocol_wordpress_com_61),
3828 TEST(skpwww_alamdi_com_3), 3782 TEST(skpwww_alamdi_com_3),
3829 TEST(skpwww_devbridge_com_22), 3783 TEST(skpwww_devbridge_com_22),
3830 TEST(skpwww_firstunitedbank_com_19), 3784 TEST(skpwww_firstunitedbank_com_19),
3831 TEST(skpwww_googleventures_com_32), 3785 TEST(skpwww_googleventures_com_32),
3832 TEST(skpwww_9to5mac_com_64), 3786 TEST(skpwww_9to5mac_com_64),
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
3932 TEST(skpilkoora_com37), 3886 TEST(skpilkoora_com37),
3933 TEST(skpmm4everfriends_com43), 3887 TEST(skpmm4everfriends_com43),
3934 TEST(skpflite_com41), 3888 TEST(skpflite_com41),
3935 TEST(skpcheeseandburger_com225), 3889 TEST(skpcheeseandburger_com225),
3936 TEST(skpeverytechpro_blogspot_com100), 3890 TEST(skpeverytechpro_blogspot_com100),
3937 }; 3891 };
3938 3892
3939 static const size_t testCount = SK_ARRAY_COUNT(tests); 3893 static const size_t testCount = SK_ARRAY_COUNT(tests);
3940 3894
3941 static bool runReverse = false; 3895 static bool runReverse = false;
3942 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
3943 3896
3944 DEF_TEST(PathOpsSkp, reporter) { 3897 DEF_TEST(PathOpsSkp, reporter) {
3945 #if DEBUG_SHOW_TEST_NAME 3898 #if DEBUG_SHOW_TEST_NAME
3946 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 3899 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
3947 #endif 3900 #endif
3948 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); 3901 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse);
3949 } 3902 }
OLDNEW
« no previous file with comments | « tests/PathOpsSimplifyTest.cpp ('k') | tests/PathOpsTSectDebug.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698