OLD | NEW |
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 | |
10 #define TEST(name) { name, #name } | 9 #define TEST(name) { name, #name } |
11 | 10 |
12 static void skpcheeseandburger_com225(skiatest::Reporter* reporter) { | 11 static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char*
filename) { |
13 SkPath path; | 12 SkPath path; |
14 path.setFillType(SkPath::kEvenOdd_FillType); | 13 path.setFillType(SkPath::kEvenOdd_FillType); |
15 path.moveTo(555, 468); | 14 path.moveTo(555, 468); |
16 path.lineTo(555, 362); | 15 path.lineTo(555, 362); |
17 path.lineTo(872, 362); | 16 path.lineTo(872, 362); |
18 path.lineTo(872, 468); | 17 path.lineTo(872, 468); |
19 path.lineTo(555, 468); | 18 path.lineTo(555, 468); |
20 path.close(); | 19 path.close(); |
21 SkPath pathB; | 20 SkPath pathB; |
22 pathB.setFillType(SkPath::kWinding_FillType); | 21 pathB.setFillType(SkPath::kWinding_FillType); |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 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); |
361 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); |
362 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); |
363 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); |
364 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); |
365 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); |
366 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); |
367 pathB.lineTo(716.868225f, 365.046783f); | 366 pathB.lineTo(716.868225f, 365.046783f); |
368 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); |
369 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); |
370 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 369 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
371 } | 370 } |
372 | 371 |
373 static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter) { | 372 static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const
char* filename) { |
374 SkPath path; | 373 SkPath path; |
375 path.setFillType(SkPath::kEvenOdd_FillType); | 374 path.setFillType(SkPath::kEvenOdd_FillType); |
376 path.moveTo(1074.29285f, 627.292786f); | 375 path.moveTo(1074.29285f, 627.292786f); |
377 path.quadTo(1074.58582f, 627, 1075, 627); | 376 path.quadTo(1074.58582f, 627, 1075, 627); |
378 path.lineTo(1117, 627); | 377 path.lineTo(1117, 627); |
379 path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f); | 378 path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f); |
380 path.quadTo(1134, 636.958374f, 1134, 644); | 379 path.quadTo(1134, 636.958374f, 1134, 644); |
381 path.lineTo(1134, 645); | 380 path.lineTo(1134, 645); |
382 path.quadTo(1134, 652.041626f, 1129.02246f, 657.0224f); | 381 path.quadTo(1134, 652.041626f, 1129.02246f, 657.0224f); |
383 path.quadTo(1124.04163f, 662, 1117, 662); | 382 path.quadTo(1124.04163f, 662, 1117, 662); |
(...skipping 10 matching lines...) Expand all Loading... |
394 path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660); | 393 path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660); |
395 path.lineTo(1076, 660); | 394 path.lineTo(1076, 660); |
396 path.lineTo(1076, 629); | 395 path.lineTo(1076, 629); |
397 path.close(); | 396 path.close(); |
398 SkPath pathB; | 397 SkPath pathB; |
399 pathB.setFillType(SkPath::kWinding_FillType); | 398 pathB.setFillType(SkPath::kWinding_FillType); |
400 pathB.moveTo(1074, 627); | 399 pathB.moveTo(1074, 627); |
401 pathB.lineTo(1075, 628); | 400 pathB.lineTo(1075, 628); |
402 pathB.lineTo(1116.5f, 644.5f); | 401 pathB.lineTo(1116.5f, 644.5f); |
403 pathB.lineTo(1134, 627); | 402 pathB.lineTo(1134, 627); |
404 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 403 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
405 } | 404 } |
406 | 405 |
407 static void skpflite_com41(skiatest::Reporter* reporter) { | 406 static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) { |
408 SkPath path; | 407 SkPath path; |
409 path.setFillType(SkPath::kEvenOdd_FillType); | 408 path.setFillType(SkPath::kEvenOdd_FillType); |
410 path.moveTo(301.464081f, 424); | 409 path.moveTo(301.464081f, 424); |
411 path.lineTo(296, 433.46405f); | 410 path.lineTo(296, 433.46405f); |
412 path.lineTo(296, 433.810822f); | 411 path.lineTo(296, 433.810822f); |
413 path.lineTo(303.25589f, 438); | 412 path.lineTo(303.25589f, 438); |
414 path.lineTo(304.729736f, 438); | 413 path.lineTo(304.729736f, 438); |
415 path.lineTo(311, 427.139557f); | 414 path.lineTo(311, 427.139557f); |
416 path.lineTo(311, 426.305237f); | 415 path.lineTo(311, 426.305237f); |
417 path.lineTo(307.007202f, 424); | 416 path.lineTo(307.007202f, 424); |
418 path.lineTo(301.464081f, 424); | 417 path.lineTo(301.464081f, 424); |
419 path.close(); | 418 path.close(); |
420 SkPath pathB; | 419 SkPath pathB; |
421 pathB.setFillType(SkPath::kWinding_FillType); | 420 pathB.setFillType(SkPath::kWinding_FillType); |
422 pathB.moveTo(302.849854f, 421.599762f); | 421 pathB.moveTo(302.849854f, 421.599762f); |
423 pathB.lineTo(311.510101f, 426.599762f); | 422 pathB.lineTo(311.510101f, 426.599762f); |
424 pathB.lineTo(304.510101f, 438.724121f); | 423 pathB.lineTo(304.510101f, 438.724121f); |
425 pathB.lineTo(295.849854f, 433.724121f); | 424 pathB.lineTo(295.849854f, 433.724121f); |
426 pathB.close(); | 425 pathB.close(); |
427 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 426 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
428 } | 427 } |
429 | 428 |
430 static void skpilkoora_com37(skiatest::Reporter* reporter) { | 429 static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename)
{ |
431 SkPath path; | 430 SkPath path; |
432 path.setFillType(SkPath::kEvenOdd_FillType); | 431 path.setFillType(SkPath::kEvenOdd_FillType); |
433 path.moveTo(818, 157); | 432 path.moveTo(818, 157); |
434 path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142); | 433 path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142); |
435 path.lineTo(909, 142); | 434 path.lineTo(909, 142); |
436 path.lineTo(909, 143); | 435 path.lineTo(909, 143); |
437 path.lineTo(833, 143); | 436 path.lineTo(833, 143); |
438 path.cubicTo(825.268005f, 143, 819, 149.268005f, 819, 157); | 437 path.cubicTo(825.268005f, 143, 819, 149.268005f, 819, 157); |
439 path.lineTo(819, 926); | 438 path.lineTo(819, 926); |
440 path.lineTo(818, 926); | 439 path.lineTo(818, 926); |
441 path.lineTo(818, 157); | 440 path.lineTo(818, 157); |
442 path.close(); | 441 path.close(); |
443 path.moveTo(1184, 926); | 442 path.moveTo(1184, 926); |
444 path.lineTo(1185, 926); | 443 path.lineTo(1185, 926); |
445 path.lineTo(1185, 157); | 444 path.lineTo(1185, 157); |
446 path.cubicTo(1185, 148.715729f, 1178.2843f, 142, 1170, 142); | 445 path.cubicTo(1185, 148.715729f, 1178.2843f, 142, 1170, 142); |
447 path.lineTo(1093, 142); | 446 path.lineTo(1093, 142); |
448 path.lineTo(1093, 143); | 447 path.lineTo(1093, 143); |
449 path.lineTo(1170, 143); | 448 path.lineTo(1170, 143); |
450 path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157); | 449 path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157); |
451 path.lineTo(1184, 926); | 450 path.lineTo(1184, 926); |
452 path.close(); | 451 path.close(); |
453 SkPath pathB; | 452 SkPath pathB; |
454 pathB.setFillType(SkPath::kWinding_FillType); | 453 pathB.setFillType(SkPath::kWinding_FillType); |
455 pathB.moveTo(1185, 142); | 454 pathB.moveTo(1185, 142); |
456 pathB.lineTo(1001.5f, 325.5f); | 455 pathB.lineTo(1001.5f, 325.5f); |
457 pathB.lineTo(1001.5f, 782.5f); | 456 pathB.lineTo(1001.5f, 782.5f); |
458 pathB.lineTo(1185, 966); | 457 pathB.lineTo(1185, 966); |
459 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 458 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
460 } | 459 } |
461 | 460 |
462 static void skpmm4everfriends_com43(skiatest::Reporter* reporter) { | 461 static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* fi
lename) { |
463 SkPath path; | 462 SkPath path; |
464 path.setFillType(SkPath::kEvenOdd_FillType); | 463 path.setFillType(SkPath::kEvenOdd_FillType); |
465 path.moveTo(540.74231f, 215.922546f); | 464 path.moveTo(540.74231f, 215.922546f); |
466 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); |
467 path.lineTo(581.213318f, 227.131104f); | 466 path.lineTo(581.213318f, 227.131104f); |
468 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); |
469 path.lineTo(576.708923f, 246.663925f); | 468 path.lineTo(576.708923f, 246.663925f); |
470 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); |
471 path.lineTo(536.237915f, 235.455353f); | 470 path.lineTo(536.237915f, 235.455353f); |
472 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); |
473 path.lineTo(540.74231f, 215.922546f); | 472 path.lineTo(540.74231f, 215.922546f); |
474 path.close(); | 473 path.close(); |
475 SkPath pathB; | 474 SkPath pathB; |
476 pathB.setFillType(SkPath::kWinding_FillType); | 475 pathB.setFillType(SkPath::kWinding_FillType); |
477 pathB.moveTo(541.015381f, 214.960388f); | 476 pathB.moveTo(541.015381f, 214.960388f); |
478 pathB.lineTo(582.17041f, 227.420883f); | 477 pathB.lineTo(582.17041f, 227.420883f); |
479 pathB.lineTo(576.435852f, 247.626068f); | 478 pathB.lineTo(576.435852f, 247.626068f); |
480 pathB.lineTo(535.280823f, 235.165573f); | 479 pathB.lineTo(535.280823f, 235.165573f); |
481 pathB.close(); | 480 pathB.close(); |
482 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 481 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
483 } | 482 } |
484 | 483 |
485 static void skpmtrk_uz27(skiatest::Reporter* reporter) { | 484 static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) { |
486 SkPath path; | 485 SkPath path; |
487 path.setFillType(SkPath::kEvenOdd_FillType); | 486 path.setFillType(SkPath::kEvenOdd_FillType); |
488 path.moveTo(33, 787); | 487 path.moveTo(33, 787); |
489 path.lineTo(33, 412); | 488 path.lineTo(33, 412); |
490 path.lineTo(1233, 412); | 489 path.lineTo(1233, 412); |
491 path.lineTo(1233, 787); | 490 path.lineTo(1233, 787); |
492 path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f); | 491 path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f); |
493 path.quadTo(1224.21326f, 802, 1218, 802); | 492 path.quadTo(1224.21326f, 802, 1218, 802); |
494 path.lineTo(48, 802); | 493 path.lineTo(48, 802); |
495 path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f); | 494 path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f); |
496 path.quadTo(33, 793.213196f, 33, 787); | 495 path.quadTo(33, 793.213196f, 33, 787); |
497 path.close(); | 496 path.close(); |
498 SkPath pathB; | 497 SkPath pathB; |
499 pathB.setFillType(SkPath::kWinding_FillType); | 498 pathB.setFillType(SkPath::kWinding_FillType); |
500 pathB.moveTo(33, 412); | 499 pathB.moveTo(33, 412); |
501 pathB.lineTo(1233, 412); | 500 pathB.lineTo(1233, 412); |
502 pathB.lineTo(1233, 787); | 501 pathB.lineTo(1233, 787); |
503 pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f); | 502 pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f); |
504 pathB.quadTo(1224.21313f, 802, 1218, 802); | 503 pathB.quadTo(1224.21313f, 802, 1218, 802); |
505 pathB.lineTo(48, 802); | 504 pathB.lineTo(48, 802); |
506 pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f); | 505 pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f); |
507 pathB.quadTo(33, 793.213196f, 33, 787); | 506 pathB.quadTo(33, 793.213196f, 33, 787); |
508 pathB.close(); | 507 pathB.close(); |
509 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 508 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
510 } | 509 } |
511 | 510 |
512 static void skpfrauen_magazin_com83(skiatest::Reporter* reporter) { | 511 static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* fi
lename) { |
513 SkPath path; | 512 SkPath path; |
514 path.setFillType(SkPath::kEvenOdd_FillType); | 513 path.setFillType(SkPath::kEvenOdd_FillType); |
515 path.moveTo(808, 886); | 514 path.moveTo(808, 886); |
516 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); |
517 path.lineTo(1122.90002f, 890); | 516 path.lineTo(1122.90002f, 890); |
518 path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886); | 517 path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886); |
519 path.lineTo(808, 886); | 518 path.lineTo(808, 886); |
520 path.close(); | 519 path.close(); |
521 SkPath pathB; | 520 SkPath pathB; |
522 pathB.setFillType(SkPath::kInverseWinding_FillType); | 521 pathB.setFillType(SkPath::kInverseWinding_FillType); |
523 pathB.moveTo(808, 886); | 522 pathB.moveTo(808, 886); |
524 pathB.lineTo(1118, 886); | 523 pathB.lineTo(1118, 886); |
525 pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891); | 524 pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891); |
526 pathB.lineTo(1123, 1521); | 525 pathB.lineTo(1123, 1521); |
527 pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525); | 526 pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525); |
528 pathB.lineTo(808, 1525); | 527 pathB.lineTo(808, 1525); |
529 pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521); | 528 pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521); |
530 pathB.lineTo(803, 891); | 529 pathB.lineTo(803, 891); |
531 pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886); | 530 pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886); |
532 pathB.close(); | 531 pathB.close(); |
533 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 532 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
534 } | 533 } |
535 | 534 |
536 #define TRY_BROKEN_TESTS 0 | 535 static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename)
{ |
537 #if TRY_BROKEN_TESTS | |
538 static void skpi_gino_com16(skiatest::Reporter* reporter) { | |
539 SkPath path; | 536 SkPath path; |
540 path.setFillType(SkPath::kEvenOdd_FillType); | 537 path.setFillType(SkPath::kEvenOdd_FillType); |
541 path.moveTo(184, 734); | 538 path.moveTo(184, 734); |
542 path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f); | 539 path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f); |
543 path.quadTo(61, 806.051758f, 61, 857); | 540 path.quadTo(61, 806.051758f, 61, 857); |
544 path.quadTo(61, 895.835083f, 81.9317017f, 926); | 541 path.quadTo(61, 895.835083f, 81.9317017f, 926); |
545 path.lineTo(286.068298f, 926); | 542 path.lineTo(286.068298f, 926); |
546 path.quadTo(307, 895.835083f, 307, 857); | 543 path.quadTo(307, 895.835083f, 307, 857); |
547 path.quadTo(307, 806.051758f, 270.974121f, 770.025879f); | 544 path.quadTo(307, 806.051758f, 270.974121f, 770.025879f); |
548 path.quadTo(234.948273f, 734, 184, 734); | 545 path.quadTo(234.948273f, 734, 184, 734); |
549 path.close(); | 546 path.close(); |
550 SkPath pathB; | 547 SkPath pathB; |
551 pathB.setFillType(SkPath::kWinding_FillType); | 548 pathB.setFillType(SkPath::kWinding_FillType); |
552 pathB.moveTo(185, 734); | 549 pathB.moveTo(185, 734); |
553 pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857); | 550 pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857); |
554 pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980); | 551 pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980); |
555 pathB.lineTo(184, 980); | 552 pathB.lineTo(184, 980); |
556 pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857); | 553 pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857); |
557 pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734); | 554 pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734); |
558 pathB.lineTo(185, 734); | 555 pathB.lineTo(185, 734); |
559 pathB.close(); | 556 pathB.close(); |
560 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 557 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
561 } | 558 } |
562 | 559 |
563 static void skppchappy_com_au102(skiatest::Reporter* reporter) { | 560 static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filen
ame) { |
564 SkPath path; | 561 SkPath path; |
565 path.setFillType(SkPath::kEvenOdd_FillType); | 562 path.setFillType(SkPath::kEvenOdd_FillType); |
566 path.moveTo(363, 493); | 563 path.moveTo(363, 493); |
567 path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497); | 564 path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497); |
568 path.lineTo(359, 656); | 565 path.lineTo(359, 656); |
569 path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660); | 566 path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660); |
570 path.lineTo(623.001709f, 660); | 567 path.lineTo(623.001709f, 660); |
571 path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657); | 568 path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657); |
572 path.lineTo(626, 496); | 569 path.lineTo(626, 496); |
573 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); |
574 path.lineTo(363, 493); | 571 path.lineTo(363, 493); |
575 path.close(); | 572 path.close(); |
576 SkPath pathB; | 573 SkPath pathB; |
577 pathB.setFillType(SkPath::kInverseWinding_FillType); | 574 pathB.setFillType(SkPath::kInverseWinding_FillType); |
578 pathB.moveTo(362, 494); | 575 pathB.moveTo(362, 494); |
579 pathB.lineTo(623, 494); | 576 pathB.lineTo(623, 494); |
580 pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496); | 577 pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496); |
581 pathB.lineTo(626, 657); | 578 pathB.lineTo(626, 657); |
582 pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660); | 579 pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660); |
583 pathB.lineTo(362, 660); | 580 pathB.lineTo(362, 660); |
584 pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657); | 581 pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657); |
585 pathB.lineTo(359, 496); | 582 pathB.lineTo(359, 496); |
586 pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494); | 583 pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494); |
587 pathB.close(); | 584 pathB.close(); |
588 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 585 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
589 } | 586 } |
590 | 587 |
591 static void skpsciality_com161(skiatest::Reporter* reporter) { | 588 static void skpsciality_com161(skiatest::Reporter* reporter, const char* filenam
e) { |
592 SkPath path; | 589 SkPath path; |
593 path.setFillType(SkPath::kEvenOdd_FillType); | 590 path.setFillType(SkPath::kEvenOdd_FillType); |
594 path.moveTo(656, 728); | 591 path.moveTo(656, 728); |
595 path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732); | 592 path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732); |
596 path.lineTo(652, 789); | 593 path.lineTo(652, 789); |
597 path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793); | 594 path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793); |
598 path.lineTo(769.001282f, 793); | 595 path.lineTo(769.001282f, 793); |
599 path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790); | 596 path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790); |
600 path.lineTo(772, 731); | 597 path.lineTo(772, 731); |
601 path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728); | 598 path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728); |
602 path.lineTo(656, 728); | 599 path.lineTo(656, 728); |
603 path.close(); | 600 path.close(); |
604 SkPath pathB; | 601 SkPath pathB; |
605 pathB.setFillType(SkPath::kInverseWinding_FillType); | 602 pathB.setFillType(SkPath::kInverseWinding_FillType); |
606 pathB.moveTo(655, 729); | 603 pathB.moveTo(655, 729); |
607 pathB.lineTo(769, 729); | 604 pathB.lineTo(769, 729); |
608 pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731); | 605 pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731); |
609 pathB.lineTo(772, 790); | 606 pathB.lineTo(772, 790); |
610 pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793); | 607 pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793); |
611 pathB.lineTo(655, 793); | 608 pathB.lineTo(655, 793); |
612 pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790); | 609 pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790); |
613 pathB.lineTo(652, 731); | 610 pathB.lineTo(652, 731); |
614 pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729); | 611 pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729); |
615 pathB.close(); | 612 pathB.close(); |
616 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 613 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
617 } | 614 } |
618 #endif | |
619 | 615 |
620 static void skpsudoestenegocios_com186(skiatest::Reporter* reporter) { | 616 static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char*
filename) { |
621 SkPath path; | 617 SkPath path; |
622 path.setFillType(SkPath::kEvenOdd_FillType); | 618 path.setFillType(SkPath::kEvenOdd_FillType); |
623 path.moveTo(0, 495); | 619 path.moveTo(0, 495); |
624 path.lineTo(1.23685242e-14f, 293); | 620 path.lineTo(1.23685242e-14f, 293); |
625 path.lineTo(44, 293); | 621 path.lineTo(44, 293); |
626 path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f); | 622 path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f); |
627 path.quadTo(48, 295.34314f, 48, 297); | 623 path.quadTo(48, 295.34314f, 48, 297); |
628 path.lineTo(48, 491); | 624 path.lineTo(48, 491); |
629 path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f); | 625 path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f); |
630 path.quadTo(45.6568527f, 495, 44, 495); | 626 path.quadTo(45.6568527f, 495, 44, 495); |
631 path.lineTo(0, 495); | 627 path.lineTo(0, 495); |
632 path.close(); | 628 path.close(); |
633 path.moveTo(1, 294); | 629 path.moveTo(1, 294); |
634 path.lineTo(44, 294); | 630 path.lineTo(44, 294); |
635 path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297); | 631 path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297); |
636 path.lineTo(47, 491); | 632 path.lineTo(47, 491); |
637 path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494); | 633 path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494); |
638 path.lineTo(1, 494); | 634 path.lineTo(1, 494); |
639 path.lineTo(1, 294); | 635 path.lineTo(1, 294); |
640 path.close(); | 636 path.close(); |
641 SkPath pathB; | 637 SkPath pathB; |
642 pathB.setFillType(SkPath::kWinding_FillType); | 638 pathB.setFillType(SkPath::kWinding_FillType); |
643 pathB.moveTo(48, 495); | 639 pathB.moveTo(48, 495); |
644 pathB.lineTo(24, 471); | 640 pathB.lineTo(24, 471); |
645 pathB.lineTo(24, 317); | 641 pathB.lineTo(24, 317); |
646 pathB.lineTo(48, 293); | 642 pathB.lineTo(48, 293); |
647 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 643 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
648 } | 644 } |
649 | 645 |
650 static void skpthesuburbanite_com213(skiatest::Reporter* reporter) { | 646 static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* f
ilename) { |
651 SkPath path; | 647 SkPath path; |
652 path.setFillType(SkPath::kEvenOdd_FillType); | 648 path.setFillType(SkPath::kEvenOdd_FillType); |
653 path.moveTo(863.439026f, 692); | 649 path.moveTo(863.439026f, 692); |
654 path.lineTo(863.283264f, 692); | 650 path.lineTo(863.283264f, 692); |
655 path.lineTo(802, 708.420837f); | 651 path.lineTo(802, 708.420837f); |
656 path.lineTo(802, 718.773621f); | 652 path.lineTo(802, 718.773621f); |
657 path.lineTo(866, 701.624817f); | 653 path.lineTo(866, 701.624817f); |
658 path.lineTo(866, 701.557922f); | 654 path.lineTo(866, 701.557922f); |
659 path.lineTo(863.439026f, 692); | 655 path.lineTo(863.439026f, 692); |
660 path.close(); | 656 path.close(); |
661 SkPath pathB; | 657 SkPath pathB; |
662 pathB.setFillType(SkPath::kWinding_FillType); | 658 pathB.setFillType(SkPath::kWinding_FillType); |
663 pathB.moveTo(783.256775f, 713.443054f); | 659 pathB.moveTo(783.256775f, 713.443054f); |
664 pathB.lineTo(863.428589f, 691.96106f); | 660 pathB.lineTo(863.428589f, 691.96106f); |
665 pathB.lineTo(866.016724f, 701.620361f); | 661 pathB.lineTo(866.016724f, 701.620361f); |
666 pathB.lineTo(785.84491f, 723.102356f); | 662 pathB.lineTo(785.84491f, 723.102356f); |
667 pathB.close(); | 663 pathB.close(); |
668 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 664 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
669 } | 665 } |
670 | 666 |
671 static void skphostloco_com11(skiatest::Reporter* reporter) { | 667 static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename
) { |
672 SkPath path; | 668 SkPath path; |
673 path.setFillType(SkPath::kEvenOdd_FillType); | 669 path.setFillType(SkPath::kEvenOdd_FillType); |
674 path.moveTo(6.66133815e-16f, 648); | 670 path.moveTo(6.66133815e-16f, 648); |
675 path.lineTo(25.8522835f, 648); | 671 path.lineTo(25.8522835f, 648); |
676 path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f); | 672 path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f); |
677 path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644); | 673 path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644); |
678 path.lineTo(29.8522835f, 467); | 674 path.lineTo(29.8522835f, 467); |
679 path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f); | 675 path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f); |
680 path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463); | 676 path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463); |
681 path.lineTo(2.22044605e-16f, 463); | 677 path.lineTo(2.22044605e-16f, 463); |
682 path.lineTo(6.66133815e-16f, 648); | 678 path.lineTo(6.66133815e-16f, 648); |
683 path.close(); | 679 path.close(); |
684 SkPath pathB; | 680 SkPath pathB; |
685 pathB.setFillType(SkPath::kWinding_FillType); | 681 pathB.setFillType(SkPath::kWinding_FillType); |
686 pathB.moveTo(0, 463); | 682 pathB.moveTo(0, 463); |
687 pathB.lineTo(30, 463); | 683 pathB.lineTo(30, 463); |
688 pathB.lineTo(30, 648); | 684 pathB.lineTo(30, 648); |
689 pathB.lineTo(0, 648); | 685 pathB.lineTo(0, 648); |
690 pathB.close(); | 686 pathB.close(); |
691 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 687 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
692 } | 688 } |
693 | 689 |
694 static void skpsergeychunkevich_com8(skiatest::Reporter* reporter) { | 690 static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* f
ilename) { |
695 SkPath path; | 691 SkPath path; |
696 path.setFillType(SkPath::kEvenOdd_FillType); | 692 path.setFillType(SkPath::kEvenOdd_FillType); |
697 path.moveTo(0, 926); | 693 path.moveTo(0, 926); |
698 path.lineTo(0, 0); | 694 path.lineTo(0, 0); |
699 path.lineTo(1265, 0); | 695 path.lineTo(1265, 0); |
700 path.lineTo(1265, 926); | 696 path.lineTo(1265, 926); |
701 path.lineTo(0, 926); | 697 path.lineTo(0, 926); |
702 path.close(); | 698 path.close(); |
703 SkPath pathB; | 699 SkPath pathB; |
704 pathB.setFillType(SkPath::kInverseWinding_FillType); | 700 pathB.setFillType(SkPath::kInverseWinding_FillType); |
705 pathB.moveTo(37, 374); | 701 pathB.moveTo(37, 374); |
706 pathB.lineTo(37, 535); | 702 pathB.lineTo(37, 535); |
707 pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538); | 703 pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538); |
708 pathB.lineTo(1.02866934e-14f, 538); | 704 pathB.lineTo(1.02866934e-14f, 538); |
709 pathB.lineTo(6.12303177e-17f, 371); | 705 pathB.lineTo(6.12303177e-17f, 371); |
710 pathB.lineTo(34, 371); | 706 pathB.lineTo(34, 371); |
711 pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374); | 707 pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374); |
712 pathB.close(); | 708 pathB.close(); |
713 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 709 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
714 } | 710 } |
715 | 711 |
716 static void skptracksflow_com9(skiatest::Reporter* reporter) { | 712 static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filenam
e) { |
717 SkPath path; | 713 SkPath path; |
718 path.setFillType(SkPath::kEvenOdd_FillType); | 714 path.setFillType(SkPath::kEvenOdd_FillType); |
719 path.moveTo(16, 56); | 715 path.moveTo(16, 56); |
720 path.lineTo(32, 56); | 716 path.lineTo(32, 56); |
721 path.lineTo(32, 72); | 717 path.lineTo(32, 72); |
722 path.lineTo(16, 72); | 718 path.lineTo(16, 72); |
723 path.lineTo(16, 56); | 719 path.lineTo(16, 56); |
724 path.close(); | 720 path.close(); |
725 SkPath pathB; | 721 SkPath pathB; |
726 pathB.setFillType(SkPath::kEvenOdd_FillType); | 722 pathB.setFillType(SkPath::kEvenOdd_FillType); |
(...skipping 10 matching lines...) Expand all Loading... |
737 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); |
738 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); |
739 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); |
740 pathB.close(); | 736 pathB.close(); |
741 pathB.moveTo(18.0054054f, 62.0027809f); | 737 pathB.moveTo(18.0054054f, 62.0027809f); |
742 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); |
743 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); |
744 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); |
745 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); |
746 pathB.close(); | 742 pathB.close(); |
747 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 743 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
748 } | 744 } |
749 | 745 |
750 static void skpautobutler_dk29(skiatest::Reporter* reporter) { | 746 static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filenam
e) { |
751 SkPath path; | 747 SkPath path; |
752 path.setFillType(SkPath::kEvenOdd_FillType); | 748 path.setFillType(SkPath::kEvenOdd_FillType); |
753 path.moveTo(0, 926); | 749 path.moveTo(0, 926); |
754 path.lineTo(0, 0); | 750 path.lineTo(0, 0); |
755 path.lineTo(1265, 0); | 751 path.lineTo(1265, 0); |
756 path.lineTo(1265, 926); | 752 path.lineTo(1265, 926); |
757 path.lineTo(0, 926); | 753 path.lineTo(0, 926); |
758 path.close(); | 754 path.close(); |
759 SkPath pathB; | 755 SkPath pathB; |
760 pathB.setFillType(SkPath::kWinding_FillType); | 756 pathB.setFillType(SkPath::kWinding_FillType); |
761 pathB.moveTo(21, 162); | 757 pathB.moveTo(21, 162); |
762 pathB.lineTo(21, 301); | 758 pathB.lineTo(21, 301); |
763 pathB.lineTo(8.57224448e-15f, 301); | 759 pathB.lineTo(8.57224448e-15f, 301); |
764 pathB.lineTo(6.12303177e-17f, 162); | 760 pathB.lineTo(6.12303177e-17f, 162); |
765 pathB.close(); | 761 pathB.close(); |
766 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 762 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
767 } | 763 } |
768 | 764 |
769 static void skponlinecollege_org144(skiatest::Reporter* reporter) { | 765 static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* fi
lename) { |
770 SkPath path; | 766 SkPath path; |
771 path.setFillType(SkPath::kEvenOdd_FillType); | 767 path.setFillType(SkPath::kEvenOdd_FillType); |
772 path.moveTo(179, 407); | 768 path.moveTo(179, 407); |
773 path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410); | 769 path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410); |
774 path.lineTo(176, 436); | 770 path.lineTo(176, 436); |
775 path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439); | 771 path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439); |
776 path.lineTo(337.002289f, 439); | 772 path.lineTo(337.002289f, 439); |
777 path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437); | 773 path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437); |
778 path.lineTo(339, 409); | 774 path.lineTo(339, 409); |
779 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); |
780 path.lineTo(179, 407); | 776 path.lineTo(179, 407); |
781 path.close(); | 777 path.close(); |
782 SkPath pathB; | 778 SkPath pathB; |
783 pathB.setFillType(SkPath::kInverseWinding_FillType); | 779 pathB.setFillType(SkPath::kInverseWinding_FillType); |
784 pathB.moveTo(179, 408); | 780 pathB.moveTo(179, 408); |
785 pathB.lineTo(337, 408); | 781 pathB.lineTo(337, 408); |
786 pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410); | 782 pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410); |
787 pathB.lineTo(340, 436); | 783 pathB.lineTo(340, 436); |
788 pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439); | 784 pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439); |
789 pathB.lineTo(179, 439); | 785 pathB.lineTo(179, 439); |
790 pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436); | 786 pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436); |
791 pathB.lineTo(177, 410); | 787 pathB.lineTo(177, 410); |
792 pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408); | 788 pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408); |
793 pathB.close(); | 789 pathB.close(); |
794 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 790 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
795 } | 791 } |
796 | 792 |
797 static void skpnational_com_au81(skiatest::Reporter* reporter) { | 793 static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filen
ame) { |
798 SkPath path; | 794 SkPath path; |
799 path.setFillType(SkPath::kEvenOdd_FillType); | 795 path.setFillType(SkPath::kEvenOdd_FillType); |
800 path.moveTo(807, 817); | 796 path.moveTo(807, 817); |
801 path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f); | 797 path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f); |
802 path.quadTo(806.000122f, 817.585876f, 806, 818); | 798 path.quadTo(806.000122f, 817.585876f, 806, 818); |
803 path.lineTo(806, 881); | 799 path.lineTo(806, 881); |
804 path.lineTo(1111, 881); | 800 path.lineTo(1111, 881); |
805 path.lineTo(1111, 818); | 801 path.lineTo(1111, 818); |
806 path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f); | 802 path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f); |
807 path.quadTo(1110.41406f, 817.000122f, 1110, 817); | 803 path.quadTo(1110.41406f, 817.000122f, 1110, 817); |
808 path.lineTo(807, 817); | 804 path.lineTo(807, 817); |
809 path.close(); | 805 path.close(); |
810 SkPath pathB; | 806 SkPath pathB; |
811 pathB.setFillType(SkPath::kInverseWinding_FillType); | 807 pathB.setFillType(SkPath::kInverseWinding_FillType); |
812 pathB.moveTo(807, 817); | 808 pathB.moveTo(807, 817); |
813 pathB.lineTo(1110, 817); | 809 pathB.lineTo(1110, 817); |
814 pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818); | 810 pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818); |
815 pathB.lineTo(1111, 880); | 811 pathB.lineTo(1111, 880); |
816 pathB.lineTo(806, 880); | 812 pathB.lineTo(806, 880); |
817 pathB.lineTo(806, 818); | 813 pathB.lineTo(806, 818); |
818 pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817); | 814 pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817); |
819 pathB.close(); | 815 pathB.close(); |
820 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 816 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
821 } | 817 } |
822 | 818 |
823 static void skprentacheat_com30(skiatest::Reporter* reporter) { | 819 static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filena
me) { |
824 SkPath path; | 820 SkPath path; |
825 path.setFillType(SkPath::kEvenOdd_FillType); | 821 path.setFillType(SkPath::kEvenOdd_FillType); |
826 path.moveTo(967, 263); | 822 path.moveTo(967, 263); |
827 path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f); | 823 path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f); |
828 path.quadTo(966.000122f, 263.585876f, 966, 264); | 824 path.quadTo(966.000122f, 263.585876f, 966, 264); |
829 path.lineTo(966, 301); | 825 path.lineTo(966, 301); |
830 path.lineTo(1214, 301); | 826 path.lineTo(1214, 301); |
831 path.lineTo(1214, 264); | 827 path.lineTo(1214, 264); |
832 path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f); | 828 path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f); |
833 path.quadTo(1213.41406f, 263.000092f, 1213, 263); | 829 path.quadTo(1213.41406f, 263.000092f, 1213, 263); |
834 path.lineTo(967, 263); | 830 path.lineTo(967, 263); |
835 path.close(); | 831 path.close(); |
836 SkPath pathB; | 832 SkPath pathB; |
837 pathB.setFillType(SkPath::kInverseWinding_FillType); | 833 pathB.setFillType(SkPath::kInverseWinding_FillType); |
838 pathB.moveTo(967, 263); | 834 pathB.moveTo(967, 263); |
839 pathB.lineTo(1213, 263); | 835 pathB.lineTo(1213, 263); |
840 pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264); | 836 pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264); |
841 pathB.lineTo(1214, 300); | 837 pathB.lineTo(1214, 300); |
842 pathB.lineTo(966, 300); | 838 pathB.lineTo(966, 300); |
843 pathB.lineTo(966, 264); | 839 pathB.lineTo(966, 264); |
844 pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263); | 840 pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263); |
845 pathB.close(); | 841 pathB.close(); |
846 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 842 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
847 } | 843 } |
848 | 844 |
849 static void skpbreakmystyle_com10(skiatest::Reporter* reporter) { | 845 static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* file
name) { |
850 SkPath path; | 846 SkPath path; |
851 path.setFillType(SkPath::kEvenOdd_FillType); | 847 path.setFillType(SkPath::kEvenOdd_FillType); |
852 path.moveTo(271.032867f, -5.32907052e-15f); | 848 path.moveTo(271.032867f, -5.32907052e-15f); |
853 path.lineTo(56.9671326f, -5.16253706e-15f); | 849 path.lineTo(56.9671326f, -5.16253706e-15f); |
854 path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f); | 850 path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f); |
855 path.quadTo(1, 55.4831848f, 1, 123); | 851 path.quadTo(1, 55.4831848f, 1, 123); |
856 path.quadTo(1, 190.516815f, 48.7416f, 238.258392f); | 852 path.quadTo(1, 190.516815f, 48.7416f, 238.258392f); |
857 path.quadTo(96.4831848f, 286, 164, 286); | 853 path.quadTo(96.4831848f, 286, 164, 286); |
858 path.quadTo(231.516815f, 286, 279.258392f, 238.258392f); | 854 path.quadTo(231.516815f, 286, 279.258392f, 238.258392f); |
859 path.quadTo(327, 190.516815f, 327, 123); | 855 path.quadTo(327, 190.516815f, 327, 123); |
860 path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f); | 856 path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f); |
861 path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f); | 857 path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f); |
862 path.close(); | 858 path.close(); |
863 SkPath pathB; | 859 SkPath pathB; |
864 pathB.setFillType(SkPath::kWinding_FillType); | 860 pathB.setFillType(SkPath::kWinding_FillType); |
865 pathB.moveTo(327, 123); | 861 pathB.moveTo(327, 123); |
866 pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f); | 862 pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f); |
867 pathB.quadTo(231.516815f, 286, 164, 286); | 863 pathB.quadTo(231.516815f, 286, 164, 286); |
868 pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f); | 864 pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f); |
869 pathB.quadTo(1, 190.516815f, 1, 123); | 865 pathB.quadTo(1, 190.516815f, 1, 123); |
870 pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f); | 866 pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f); |
871 pathB.quadTo(96.4831848f, -40, 164, -40); | 867 pathB.quadTo(96.4831848f, -40, 164, -40); |
872 pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f); | 868 pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f); |
873 pathB.quadTo(327, 55.4831848f, 327, 123); | 869 pathB.quadTo(327, 55.4831848f, 327, 123); |
874 pathB.close(); | 870 pathB.close(); |
875 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 871 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
876 } | 872 } |
877 | 873 |
878 static void skpsd_graphic_net104(skiatest::Reporter* reporter) { | 874 static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filen
ame) { |
879 SkPath path; | 875 SkPath path; |
880 path.setFillType(SkPath::kEvenOdd_FillType); | 876 path.setFillType(SkPath::kEvenOdd_FillType); |
881 path.moveTo(475.421448f, 836.985962f); | 877 path.moveTo(475.421448f, 836.985962f); |
882 path.lineTo(461.280975f, 841.990662f); | 878 path.lineTo(461.280975f, 841.990662f); |
883 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); |
884 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); |
885 path.lineTo(413.620056f, 892.613037f); | 881 path.lineTo(413.620056f, 892.613037f); |
886 path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f); | 882 path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f); |
887 path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f); | 883 path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f); |
888 path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f); | 884 path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f); |
889 path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f); | 885 path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f); |
890 path.quadTo(477.351227f, 863.546143f, 478, 855.549866f); | 886 path.quadTo(477.351227f, 863.546143f, 478, 855.549866f); |
891 path.lineTo(478, 848.804321f); | 887 path.lineTo(478, 848.804321f); |
892 path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f); | 888 path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f); |
893 path.close(); | 889 path.close(); |
894 SkPath pathB; | 890 SkPath pathB; |
895 pathB.setFillType(SkPath::kWinding_FillType); | 891 pathB.setFillType(SkPath::kWinding_FillType); |
896 pathB.moveTo(405.592621f, 909.435547f); | 892 pathB.moveTo(405.592621f, 909.435547f); |
897 pathB.lineTo(390.578583f, 867.014099f); | 893 pathB.lineTo(390.578583f, 867.014099f); |
898 pathB.lineTo(433, 852.000061f); | 894 pathB.lineTo(433, 852.000061f); |
899 pathB.lineTo(490.435486f, 879.40741f); | 895 pathB.lineTo(490.435486f, 879.40741f); |
900 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 896 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
901 } | 897 } |
902 | 898 |
903 #if TRY_BROKEN_TESTS | |
904 /* this cubic/quad pair | 899 /* this cubic/quad pair |
905 c = 430,280 430,278.895416 473.876068,278 528,278 | 900 c = 430,280 430,278.895416 473.876068,278 528,278 |
906 q = 430,280 430.009796,277.101196 458.703552,275.050262 | 901 q = 430,280 430.009796,277.101196 458.703552,275.050262 |
907 only intersect at the shared point (430,280) | 902 only intersect at the shared point (430,280) |
908 they sort backwards because the tangent from pt[0] to control pt[1] | 903 they sort backwards because the tangent from pt[0] to control pt[1] |
909 c' = (0.00000000000000000, -1.1045837402343750) | 904 c' = (0.00000000000000000, -1.1045837402343750) |
910 q' = (0.0097961425781250000, -2.8988037109375000) | 905 q' = (0.0097961425781250000, -2.8988037109375000) |
911 suggests that the quad is counterclockwise of the cubic, when the reverse is tr
ue | 906 suggests that the quad is counterclockwise of the cubic, when the reverse is tr
ue |
912 the angle code is fooled because the control pt[1] of both the quad and cubic | 907 the angle code is fooled because the control pt[1] of both the quad and cubic |
913 is far away from cubic cntl [2] and quad pt [2]. | 908 is far away from cubic cntl [2] and quad pt [2]. |
914 Maybe in angle setup, this instability can be detected to suppress sorting on t
he initial tangent | 909 Maybe in angle setup, this instability can be detected to suppress sorting on t
he initial tangent |
915 Or the error term can be passed to NearRay that is magnified by the distance fr
om the next ctrl? | 910 Or the error term can be passed to NearRay that is magnified by the distance fr
om the next ctrl? |
916 */ | 911 */ |
917 static void skpnaoxrane_ru23(skiatest::Reporter* reporter) { | 912 static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename)
{ |
918 SkPath path; | 913 SkPath path; |
919 path.setFillType(SkPath::kEvenOdd_FillType); | 914 path.setFillType(SkPath::kEvenOdd_FillType); |
920 path.moveTo(458.703552f, 275.050262f); | 915 path.moveTo(458.703552f, 275.050262f); |
921 path.quadTo(487.41687f, 273.000702f, 528, 273); | 916 path.quadTo(487.41687f, 273.000702f, 528, 273); |
922 path.lineTo(529, 273); | 917 path.lineTo(529, 273); |
923 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); | 918 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); |
924 path.quadTo(531.999695f, 274.75766f, 532, 276); | 919 path.quadTo(531.999695f, 274.75766f, 532, 276); |
925 path.lineTo(532, 378); | 920 path.lineTo(532, 378); |
926 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); | 921 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); |
927 path.quadTo(474.58313f, 384.999298f, 434, 385); | 922 path.quadTo(474.58313f, 384.999298f, 434, 385); |
928 path.lineTo(433, 385); | 923 path.lineTo(433, 385); |
929 path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f); | 924 path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f); |
930 path.quadTo(430.000305f, 383.24234f, 430, 382); | 925 path.quadTo(430.000305f, 383.24234f, 430, 382); |
931 path.lineTo(430, 280); | 926 path.lineTo(430, 280); |
932 path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f); | 927 path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f); |
933 path.close(); | 928 path.close(); |
934 SkPath pathB; | 929 SkPath pathB; |
935 pathB.setFillType(SkPath::kInverseWinding_FillType); | 930 pathB.setFillType(SkPath::kInverseWinding_FillType); |
936 pathB.moveTo(528, 278); | 931 pathB.moveTo(528, 278); |
937 pathB.lineTo(529, 278); | 932 pathB.lineTo(529, 278); |
938 pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278); | 933 pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278); |
939 pathB.lineTo(532, 378); | 934 pathB.lineTo(532, 378); |
940 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); | 935 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); |
941 pathB.lineTo(433, 380); | 936 pathB.lineTo(433, 380); |
942 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); | 937 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); |
943 pathB.lineTo(430, 280); | 938 pathB.lineTo(430, 280); |
944 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); | 939 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); |
945 pathB.close(); | 940 pathB.close(); |
946 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 941 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
947 } | 942 } |
948 | 943 |
949 /* didn't investigate thoroughly, but looks to be missorting quad and cubic | 944 /* didn't investigate thoroughly, but looks to be missorting quad and cubic |
950 {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}} | 945 {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}} |
951 {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676},
{468.507751,560.724426}} | 946 {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676},
{468.507751,560.724426}} |
952 decision maker is case 14 leftLessThanRight | 947 decision maker is case 14 leftLessThanRight |
953 */ | 948 */ |
954 static void skptcmevents_org23(skiatest::Reporter* reporter) { | 949 static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam
e) { |
955 SkPath path; | 950 SkPath path; |
956 path.setFillType(SkPath::kEvenOdd_FillType); | 951 path.setFillType(SkPath::kEvenOdd_FillType); |
957 path.moveTo(465.503998f, 546); | 952 path.moveTo(465.503998f, 546); |
958 path.lineTo(347, 546); | 953 path.lineTo(347, 546); |
959 path.lineTo(347, 632); | 954 path.lineTo(347, 632); |
960 path.lineTo(469.104248f, 632); | 955 path.lineTo(469.104248f, 632); |
961 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); | 956 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); |
962 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); | 957 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); |
963 path.lineTo(468.507751f, 560.724426f); | 958 path.lineTo(468.507751f, 560.724426f); |
964 path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f); | 959 path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f); |
965 path.quadTo(465.670349f, 546.601501f, 465.503998f, 546); | 960 path.quadTo(465.670349f, 546.601501f, 465.503998f, 546); |
966 path.close(); | 961 path.close(); |
967 SkPath pathB; | 962 SkPath pathB; |
968 pathB.setFillType(SkPath::kInverseWinding_FillType); | 963 pathB.setFillType(SkPath::kInverseWinding_FillType); |
969 pathB.moveTo(363.052246f, 542.495361f); | 964 pathB.moveTo(363.052246f, 542.495361f); |
970 pathB.lineTo(463.779907f, 542.671143f); | 965 pathB.lineTo(463.779907f, 542.671143f); |
971 pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751
f, 560.724426f); | 966 pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751
f, 560.724426f); |
972 pathB.lineTo(470.591064f, 574.024353f); | 967 pathB.lineTo(470.591064f, 574.024353f); |
973 pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f
, 639.537781f); | 968 pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f
, 639.537781f); |
974 pathB.lineTo(368.727936f, 639.378601f); | 969 pathB.lineTo(368.727936f, 639.378601f); |
975 pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249
f, 621.275574f); | 970 pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249
f, 621.275574f); |
976 pathB.lineTo(325.968597f, 560.475708f); | 971 pathB.lineTo(325.968597f, 560.475708f); |
977 pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f
, 542.495361f); | 972 pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f
, 542.495361f); |
978 pathB.close(); | 973 pathB.close(); |
979 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 974 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
980 } | 975 } |
981 | 976 |
982 static void skpredbullskatearcade_es16(skiatest::Reporter* reporter) { | 977 static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char*
filename) { |
983 SkPath path; | 978 SkPath path; |
984 path.setFillType(SkPath::kEvenOdd_FillType); | 979 path.setFillType(SkPath::kEvenOdd_FillType); |
985 path.moveTo(936.765625f, 458.965302f); | 980 path.moveTo(936.765625f, 458.965302f); |
986 path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f
, 450.033905f); | 981 path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f
, 450.033905f); |
987 path.lineTo(661.882263f, 458.958862f); | 982 path.lineTo(661.882263f, 458.958862f); |
988 path.lineTo(661.875366f, 458.959106f); | 983 path.lineTo(661.875366f, 458.959106f); |
989 path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f,
468.496124f); | 984 path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f,
468.496124f); |
990 path.lineTo(652.258179f, 468.503662f); | 985 path.lineTo(652.258179f, 468.503662f); |
991 path.lineTo(649.021729f, 531.322754f); | 986 path.lineTo(649.021729f, 531.322754f); |
992 path.cubicTo(648.75885f, 536.424805f, 652.641479f, 540.423523f, 657.693848f,
540.25415f); | 987 path.cubicTo(648.75885f, 536.424805f, 652.641479f, 540.423523f, 657.693848f,
540.25415f); |
993 path.lineTo(923.905029f, 531.329163f); | 988 path.lineTo(923.905029f, 531.329163f); |
994 path.cubicTo(928.955017f, 531.159851f, 933.262268f, 526.890442f, 933.528809f
, 521.791565f); | 989 path.cubicTo(928.955017f, 531.159851f, 933.262268f, 526.890442f, 933.528809f
, 521.791565f); |
995 path.lineTo(933.529175f, 521.784363f); | 990 path.lineTo(933.529175f, 521.784363f); |
996 path.lineTo(936.765625f, 458.965302f); | 991 path.lineTo(936.765625f, 458.965302f); |
997 path.close(); | 992 path.close(); |
998 SkPath pathB; | 993 SkPath pathB; |
999 pathB.setFillType(SkPath::kInverseWinding_FillType); | 994 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1000 pathB.moveTo(661.882263f, 458.958862f); | 995 pathB.moveTo(661.882263f, 458.958862f); |
1001 pathB.lineTo(928.093445f, 450.033905f); | 996 pathB.lineTo(928.093445f, 450.033905f); |
1002 pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.2
10663f); | 997 pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.2
10663f); |
1003 pathB.lineTo(926.210693f, 522.029724f); | 998 pathB.lineTo(926.210693f, 522.029724f); |
1004 pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f
, 526.710083f); | 999 pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f
, 526.710083f); |
1005 pathB.lineTo(657.931885f, 535.635071f); | 1000 pathB.lineTo(657.931885f, 535.635071f); |
1006 pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729
f, 531.322754f); | 1001 pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729
f, 531.322754f); |
1007 pathB.lineTo(652.258179f, 468.503662f); | 1002 pathB.lineTo(652.258179f, 468.503662f); |
1008 pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263
f, 458.958862f); | 1003 pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263
f, 458.958862f); |
1009 pathB.close(); | 1004 pathB.close(); |
1010 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1005 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1011 } | 1006 } |
1012 | 1007 |
1013 static void skpfinanzasdigital_com9(skiatest::Reporter* reporter) { | 1008 static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* fi
lename) { |
1014 SkPath path; | 1009 SkPath path; |
1015 path.setFillType(SkPath::kEvenOdd_FillType); | 1010 path.setFillType(SkPath::kEvenOdd_FillType); |
1016 path.moveTo(156, 126); | 1011 path.moveTo(156, 126); |
1017 path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f); | 1012 path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f); |
1018 path.quadTo(152.000397f, 128.343552f, 152, 130); | 1013 path.quadTo(152.000397f, 128.343552f, 152, 130); |
1019 path.lineTo(152, 174); | 1014 path.lineTo(152, 174); |
1020 path.lineTo(1114, 174); | 1015 path.lineTo(1114, 174); |
1021 path.lineTo(1114, 130); | 1016 path.lineTo(1114, 130); |
1022 path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f); | 1017 path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f); |
1023 path.quadTo(1111.65649f, 126.000397f, 1110, 126); | 1018 path.quadTo(1111.65649f, 126.000397f, 1110, 126); |
1024 path.lineTo(156, 126); | 1019 path.lineTo(156, 126); |
1025 path.close(); | 1020 path.close(); |
1026 SkPath pathB; | 1021 SkPath pathB; |
1027 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1022 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1028 pathB.moveTo(156, 126); | 1023 pathB.moveTo(156, 126); |
1029 pathB.lineTo(1110, 126); | 1024 pathB.lineTo(1110, 126); |
1030 pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130); | 1025 pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130); |
1031 pathB.lineTo(1113, 174); | 1026 pathB.lineTo(1113, 174); |
1032 pathB.lineTo(153, 174); | 1027 pathB.lineTo(153, 174); |
1033 pathB.lineTo(153, 130); | 1028 pathB.lineTo(153, 130); |
1034 pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126); | 1029 pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126); |
1035 pathB.close(); | 1030 pathB.close(); |
1036 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1031 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1037 } | 1032 } |
1038 #endif | |
1039 | 1033 |
1040 static void skppartainasdemo250_org56(skiatest::Reporter* reporter) { | 1034 static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char*
filename) { |
1041 SkPath path; | 1035 SkPath path; |
1042 path.setFillType(SkPath::kEvenOdd_FillType); | 1036 path.setFillType(SkPath::kEvenOdd_FillType); |
1043 path.moveTo(182.000015f, 645); | 1037 path.moveTo(182.000015f, 645); |
1044 path.lineTo(182, 640); | 1038 path.lineTo(182, 640); |
1045 path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.21
3196f); | 1039 path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.21
3196f); |
1046 path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f
, 588.786804f); | 1040 path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f
, 588.786804f); |
1047 path.lineTo(157.251266f, 585.251221f); | 1041 path.lineTo(157.251266f, 585.251221f); |
1048 path.quadTo(147, 595.502502f, 147.000015f, 610); | 1042 path.quadTo(147, 595.502502f, 147.000015f, 610); |
1049 path.quadTo(147, 624.482605f, 157.230255f, 634.727722f); | 1043 path.quadTo(147, 624.482605f, 157.230255f, 634.727722f); |
1050 path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f); | 1044 path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f); |
1051 path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f); | 1045 path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f); |
1052 path.quadTo(167.517334f, 645, 182.000015f, 645); | 1046 path.quadTo(167.517334f, 645, 182.000015f, 645); |
1053 path.close(); | 1047 path.close(); |
1054 SkPath pathB; | 1048 SkPath pathB; |
1055 pathB.setFillType(SkPath::kWinding_FillType); | 1049 pathB.setFillType(SkPath::kWinding_FillType); |
1056 pathB.moveTo(182, 659.497498f); | 1050 pathB.moveTo(182, 659.497498f); |
1057 pathB.lineTo(206.748749f, 634.748718f); | 1051 pathB.lineTo(206.748749f, 634.748718f); |
1058 pathB.lineTo(182.000015f, 610); | 1052 pathB.lineTo(182.000015f, 610); |
1059 pathB.lineTo(132.502533f, 610); | 1053 pathB.lineTo(132.502533f, 610); |
1060 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1054 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1061 } | 1055 } |
1062 | 1056 |
1063 static void skpmlk_com326(skiatest::Reporter* reporter) { | 1057 static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) { |
1064 SkPath path; | 1058 SkPath path; |
1065 path.setFillType(SkPath::kEvenOdd_FillType); | 1059 path.setFillType(SkPath::kEvenOdd_FillType); |
1066 path.moveTo(154, 670); | 1060 path.moveTo(154, 670); |
1067 path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675); | 1061 path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675); |
1068 path.lineTo(149, 710.001465f); | 1062 path.lineTo(149, 710.001465f); |
1069 path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714); | 1063 path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714); |
1070 path.lineTo(189, 714); | 1064 path.lineTo(189, 714); |
1071 path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710); | 1065 path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710); |
1072 path.lineTo(193, 675); | 1066 path.lineTo(193, 675); |
1073 path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670); | 1067 path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670); |
1074 path.lineTo(154, 670); | 1068 path.lineTo(154, 670); |
1075 path.close(); | 1069 path.close(); |
1076 SkPath pathB; | 1070 SkPath pathB; |
1077 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1071 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1078 pathB.moveTo(154, 671); | 1072 pathB.moveTo(154, 671); |
1079 pathB.lineTo(188, 671); | 1073 pathB.lineTo(188, 671); |
1080 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); | 1074 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); |
1081 pathB.lineTo(193, 710); | 1075 pathB.lineTo(193, 710); |
1082 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); | 1076 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); |
1083 pathB.lineTo(154, 715); | 1077 pathB.lineTo(154, 715); |
1084 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); | 1078 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); |
1085 pathB.lineTo(149, 675); | 1079 pathB.lineTo(149, 675); |
1086 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); | 1080 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); |
1087 pathB.close(); | 1081 pathB.close(); |
1088 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1082 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1089 } | 1083 } |
1090 | 1084 |
1091 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter) { | 1085 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi
lename) { |
1092 SkPath path; | 1086 SkPath path; |
1093 path.setFillType(SkPath::kEvenOdd_FillType); | 1087 path.setFillType(SkPath::kEvenOdd_FillType); |
1094 path.moveTo(50, 182); | 1088 path.moveTo(50, 182); |
1095 path.lineTo(1215, 182); | 1089 path.lineTo(1215, 182); |
1096 path.lineTo(1215, 202); | 1090 path.lineTo(1215, 202); |
1097 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); | 1091 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); |
1098 path.quadTo(1212.07056f, 206.999496f, 1210, 207); | 1092 path.quadTo(1212.07056f, 206.999496f, 1210, 207); |
1099 path.lineTo(55, 207); | 1093 path.lineTo(55, 207); |
1100 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); | 1094 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); |
1101 path.quadTo(50.0004997f, 204.070572f, 50, 202); | 1095 path.quadTo(50.0004997f, 204.070572f, 50, 202); |
1102 path.lineTo(50, 182); | 1096 path.lineTo(50, 182); |
1103 path.close(); | 1097 path.close(); |
1104 SkPath pathB; | 1098 SkPath pathB; |
1105 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1099 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1106 pathB.moveTo(50, 183); | 1100 pathB.moveTo(50, 183); |
1107 pathB.lineTo(1215, 183); | 1101 pathB.lineTo(1215, 183); |
1108 pathB.lineTo(1215, 202); | 1102 pathB.lineTo(1215, 202); |
1109 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); | 1103 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); |
1110 pathB.lineTo(55, 207); | 1104 pathB.lineTo(55, 207); |
1111 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); | 1105 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); |
1112 pathB.lineTo(50, 183); | 1106 pathB.lineTo(50, 183); |
1113 pathB.close(); | 1107 pathB.close(); |
1114 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1108 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1115 } | 1109 } |
1116 | 1110 |
1117 /* cubic ends just above opp line */ | 1111 /* cubic ends just above opp line */ |
1118 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter) { | 1112 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam
e) { |
1119 SkPath path; | 1113 SkPath path; |
1120 path.setFillType(SkPath::kEvenOdd_FillType); | 1114 path.setFillType(SkPath::kEvenOdd_FillType); |
1121 path.moveTo(172, 201); | 1115 path.moveTo(172, 201); |
1122 path.lineTo(172, 202); | 1116 path.lineTo(172, 202); |
1123 path.lineTo(220, 202); | 1117 path.lineTo(220, 202); |
1124 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); | 1118 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); |
1125 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); | 1119 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); |
1126 path.lineTo(172, 201); | 1120 path.lineTo(172, 201); |
1127 path.close(); | 1121 path.close(); |
1128 SkPath pathB; | 1122 SkPath pathB; |
1129 pathB.setFillType(SkPath::kWinding_FillType); | 1123 pathB.setFillType(SkPath::kWinding_FillType); |
1130 pathB.moveTo(161, 202); | 1124 pathB.moveTo(161, 202); |
1131 pathB.lineTo(161, 199); | 1125 pathB.lineTo(161, 199); |
1132 pathB.lineTo(223, 199.000015f); | 1126 pathB.lineTo(223, 199.000015f); |
1133 pathB.lineTo(223, 202); | 1127 pathB.lineTo(223, 202); |
1134 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1128 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1135 } | 1129 } |
1136 | 1130 |
1137 #define TRY_SEPT_BROKEN_TESTS 0 | |
1138 #if TRY_SEPT_BROKEN_TESTS | |
1139 // pair of lines are not quite coincident, so sorting line/cubic fails (i think) | 1131 // pair of lines are not quite coincident, so sorting line/cubic fails (i think) |
1140 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter) { | 1132 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char*
filename) { |
1141 SkPath path; | 1133 SkPath path; |
1142 path.setFillType(SkPath::kEvenOdd_FillType); | 1134 path.setFillType(SkPath::kEvenOdd_FillType); |
1143 path.moveTo(806, 57); | 1135 path.moveTo(806, 57); |
1144 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); | 1136 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); |
1145 path.lineTo(930, 54); | 1137 path.lineTo(930, 54); |
1146 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); | 1138 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); |
1147 path.lineTo(933, 91); | 1139 path.lineTo(933, 91); |
1148 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); | 1140 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); |
1149 path.lineTo(809, 94); | 1141 path.lineTo(809, 94); |
1150 path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91); | 1142 path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91); |
1151 path.lineTo(806, 57); | 1143 path.lineTo(806, 57); |
1152 path.close(); | 1144 path.close(); |
1153 path.moveTo(808, 58); | 1145 path.moveTo(808, 58); |
1154 path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56); | 1146 path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56); |
1155 path.lineTo(929, 56); | 1147 path.lineTo(929, 56); |
1156 path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58); | 1148 path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58); |
1157 path.lineTo(931, 90); | 1149 path.lineTo(931, 90); |
1158 path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92); | 1150 path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92); |
1159 path.lineTo(810, 92); | 1151 path.lineTo(810, 92); |
1160 path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90); | 1152 path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90); |
1161 path.lineTo(808, 58); | 1153 path.lineTo(808, 58); |
1162 path.close(); | 1154 path.close(); |
1163 SkPath pathB; | 1155 SkPath pathB; |
1164 pathB.setFillType(SkPath::kWinding_FillType); | 1156 pathB.setFillType(SkPath::kWinding_FillType); |
1165 pathB.moveTo(806, 54); | 1157 pathB.moveTo(806, 54); |
1166 pathB.lineTo(808, 56); | 1158 pathB.lineTo(808, 56); |
1167 pathB.lineTo(935.02002f, 56.0200005f); | 1159 pathB.lineTo(935.02002f, 56.0200005f); |
1168 pathB.lineTo(933, 54); | 1160 pathB.lineTo(933, 54); |
1169 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1161 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1170 } | 1162 } |
1171 | 1163 |
1172 // pair of curves have nearly the same initial tangent but are sorting by | 1164 // pair of curves have nearly the same initial tangent but are sorting by |
1173 // that alone sorts them incorrectly. Need to detect that tangents are nearly | 1165 // that alone sorts them incorrectly. Need to detect that tangents are nearly |
1174 // identical and not reliable by themselves | 1166 // identical and not reliable by themselves |
1175 static void skppptv_com_62(skiatest::Reporter* reporter) { | 1167 static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) { |
1176 SkPath path; | 1168 SkPath path; |
1177 path.setFillType(SkPath::kEvenOdd_FillType); | 1169 path.setFillType(SkPath::kEvenOdd_FillType); |
1178 path.moveTo(173, 5342); | 1170 path.moveTo(173, 5342); |
1179 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); | 1171 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); |
1180 path.quadTo(169.000397f, 5344.34375f, 169, 5346); | 1172 path.quadTo(169.000397f, 5344.34375f, 169, 5346); |
1181 path.lineTo(169, 5372); | 1173 path.lineTo(169, 5372); |
1182 path.lineTo(234, 5372); | 1174 path.lineTo(234, 5372); |
1183 path.lineTo(234, 5346); | 1175 path.lineTo(234, 5346); |
1184 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); | 1176 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); |
1185 path.quadTo(231.656464f, 5342.00049f, 230, 5342); | 1177 path.quadTo(231.656464f, 5342.00049f, 230, 5342); |
1186 path.lineTo(173, 5342); | 1178 path.lineTo(173, 5342); |
1187 path.close(); | 1179 path.close(); |
1188 SkPath pathB; | 1180 SkPath pathB; |
1189 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1181 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1190 pathB.moveTo(173, 5342); | 1182 pathB.moveTo(173, 5342); |
1191 pathB.lineTo(230, 5342); | 1183 pathB.lineTo(230, 5342); |
1192 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); | 1184 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); |
1193 pathB.lineTo(233, 5372); | 1185 pathB.lineTo(233, 5372); |
1194 pathB.lineTo(169, 5372); | 1186 pathB.lineTo(169, 5372); |
1195 pathB.lineTo(169, 5346); | 1187 pathB.lineTo(169, 5346); |
1196 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); | 1188 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); |
1197 pathB.close(); | 1189 pathB.close(); |
1198 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1190 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1199 } | 1191 } |
1200 | 1192 |
1201 // nearly identical to lavoixdunord -- to not-quite-coincident lines | 1193 // nearly identical to lavoixdunord -- to not-quite-coincident lines |
1202 static void skpwww_booking_com_68(skiatest::Reporter* reporter) { | 1194 static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file
name) { |
1203 SkPath path; | 1195 SkPath path; |
1204 path.setFillType(SkPath::kEvenOdd_FillType); | 1196 path.setFillType(SkPath::kEvenOdd_FillType); |
1205 path.moveTo(90, 187); | 1197 path.moveTo(90, 187); |
1206 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); | 1198 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); |
1207 path.lineTo(588, 184); | 1199 path.lineTo(588, 184); |
1208 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); | 1200 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); |
1209 path.lineTo(591, 218); | 1201 path.lineTo(591, 218); |
1210 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); | 1202 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); |
1211 path.lineTo(93, 221); | 1203 path.lineTo(93, 221); |
1212 path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218); | 1204 path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218); |
1213 path.lineTo(90, 187); | 1205 path.lineTo(90, 187); |
1214 path.close(); | 1206 path.close(); |
1215 path.moveTo(92, 188); | 1207 path.moveTo(92, 188); |
1216 path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186); | 1208 path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186); |
1217 path.lineTo(587, 186); | 1209 path.lineTo(587, 186); |
1218 path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188); | 1210 path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188); |
1219 path.lineTo(589, 217); | 1211 path.lineTo(589, 217); |
1220 path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219); | 1212 path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219); |
1221 path.lineTo(94, 219); | 1213 path.lineTo(94, 219); |
1222 path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217); | 1214 path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217); |
1223 path.lineTo(92, 188); | 1215 path.lineTo(92, 188); |
1224 path.close(); | 1216 path.close(); |
1225 SkPath pathB; | 1217 SkPath pathB; |
1226 pathB.setFillType(SkPath::kWinding_FillType); | 1218 pathB.setFillType(SkPath::kWinding_FillType); |
1227 pathB.moveTo(90, 184); | 1219 pathB.moveTo(90, 184); |
1228 pathB.lineTo(92, 186); | 1220 pathB.lineTo(92, 186); |
1229 pathB.lineTo(593.02002f, 186.020004f); | 1221 pathB.lineTo(593.02002f, 186.020004f); |
1230 pathB.lineTo(591, 184); | 1222 pathB.lineTo(591, 184); |
1231 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1223 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1232 } | 1224 } |
1233 | 1225 |
1234 // visually looks like lavoixdunord and www_booking_com | 1226 // visually looks like lavoixdunord and www_booking_com |
1235 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter) { | 1227 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char*
filename) { |
1236 SkPath path; | 1228 SkPath path; |
1237 path.setFillType(SkPath::kEvenOdd_FillType); | 1229 path.setFillType(SkPath::kEvenOdd_FillType); |
1238 path.moveTo(635, 1788); | 1230 path.moveTo(635, 1788); |
1239 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); | 1231 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); |
1240 path.lineTo(832, 1785); | 1232 path.lineTo(832, 1785); |
1241 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); | 1233 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); |
1242 path.lineTo(835, 1812); | 1234 path.lineTo(835, 1812); |
1243 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); | 1235 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); |
1244 path.lineTo(638, 1815); | 1236 path.lineTo(638, 1815); |
1245 path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812); | 1237 path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812); |
1246 path.lineTo(635, 1788); | 1238 path.lineTo(635, 1788); |
1247 path.close(); | 1239 path.close(); |
1248 path.moveTo(637, 1789); | 1240 path.moveTo(637, 1789); |
1249 path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787); | 1241 path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787); |
1250 path.lineTo(831, 1787); | 1242 path.lineTo(831, 1787); |
1251 path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789); | 1243 path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789); |
1252 path.lineTo(833, 1811); | 1244 path.lineTo(833, 1811); |
1253 path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813); | 1245 path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813); |
1254 path.lineTo(639, 1813); | 1246 path.lineTo(639, 1813); |
1255 path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811); | 1247 path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811); |
1256 path.lineTo(637, 1789); | 1248 path.lineTo(637, 1789); |
1257 path.close(); | 1249 path.close(); |
1258 SkPath pathB; | 1250 SkPath pathB; |
1259 pathB.setFillType(SkPath::kWinding_FillType); | 1251 pathB.setFillType(SkPath::kWinding_FillType); |
1260 pathB.moveTo(835, 1785); | 1252 pathB.moveTo(835, 1785); |
1261 pathB.lineTo(833, 1787); | 1253 pathB.lineTo(833, 1787); |
1262 pathB.lineTo(832.97998f, 1817.02002f); | 1254 pathB.lineTo(832.97998f, 1817.02002f); |
1263 pathB.lineTo(835, 1815); | 1255 pathB.lineTo(835, 1815); |
1264 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1256 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1265 } | 1257 } |
1266 #endif | |
1267 | 1258 |
1268 static void skpwww_joomla_org_23(skiatest::Reporter* reporter) { | 1259 static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filen
ame) { |
1269 SkPath path; | 1260 SkPath path; |
1270 path.setFillType(SkPath::kEvenOdd_FillType); | 1261 path.setFillType(SkPath::kEvenOdd_FillType); |
1271 path.moveTo(320, 347); | 1262 path.moveTo(320, 347); |
1272 path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342); | 1263 path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342); |
1273 path.lineTo(416, 342); | 1264 path.lineTo(416, 342); |
1274 path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347); | 1265 path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347); |
1275 path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343); | 1266 path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343); |
1276 path.lineTo(325, 343); | 1267 path.lineTo(325, 343); |
1277 path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347); | 1268 path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347); |
1278 path.close(); | 1269 path.close(); |
1279 path.moveTo(320, 378); | 1270 path.moveTo(320, 378); |
1280 path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383); | 1271 path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383); |
1281 path.lineTo(416, 383); | 1272 path.lineTo(416, 383); |
1282 path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378); | 1273 path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378); |
1283 path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382); | 1274 path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382); |
1284 path.lineTo(325, 382); | 1275 path.lineTo(325, 382); |
1285 path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378); | 1276 path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378); |
1286 path.close(); | 1277 path.close(); |
1287 SkPath pathB; | 1278 SkPath pathB; |
1288 pathB.setFillType(SkPath::kWinding_FillType); | 1279 pathB.setFillType(SkPath::kWinding_FillType); |
1289 pathB.moveTo(320, 383); | 1280 pathB.moveTo(320, 383); |
1290 pathB.lineTo(320, 378); | 1281 pathB.lineTo(320, 378); |
1291 pathB.lineTo(421, 378.000031f); | 1282 pathB.lineTo(421, 378.000031f); |
1292 pathB.lineTo(421, 383); | 1283 pathB.lineTo(421, 383); |
1293 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1284 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1294 } | 1285 } |
1295 | 1286 |
1296 static void skpwww_macrumors_com_131(skiatest::Reporter* reporter) { | 1287 static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* f
ilename) { |
1297 SkPath path; | 1288 SkPath path; |
1298 path.setFillType(SkPath::kEvenOdd_FillType); | 1289 path.setFillType(SkPath::kEvenOdd_FillType); |
1299 path.moveTo(136, 14089); | 1290 path.moveTo(136, 14089); |
1300 path.lineTo(136, 14056); | 1291 path.lineTo(136, 14056); |
1301 path.lineTo(778, 14056); | 1292 path.lineTo(778, 14056); |
1302 path.lineTo(778, 14089); | 1293 path.lineTo(778, 14089); |
1303 path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f); | 1294 path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f); |
1304 path.quadTo(775.656433f, 14093, 774, 14093); | 1295 path.quadTo(775.656433f, 14093, 774, 14093); |
1305 path.lineTo(140, 14093); | 1296 path.lineTo(140, 14093); |
1306 path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f); | 1297 path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f); |
1307 path.quadTo(136.000397f, 14090.6562f, 136, 14089); | 1298 path.quadTo(136.000397f, 14090.6562f, 136, 14089); |
1308 path.close(); | 1299 path.close(); |
1309 SkPath pathB; | 1300 SkPath pathB; |
1310 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1301 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1311 pathB.moveTo(136, 14057); | 1302 pathB.moveTo(136, 14057); |
1312 pathB.lineTo(778, 14057); | 1303 pathB.lineTo(778, 14057); |
1313 pathB.lineTo(778, 14089); | 1304 pathB.lineTo(778, 14089); |
1314 pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093); | 1305 pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093); |
1315 pathB.lineTo(140, 14093); | 1306 pathB.lineTo(140, 14093); |
1316 pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089); | 1307 pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089); |
1317 pathB.lineTo(136, 14057); | 1308 pathB.lineTo(136, 14057); |
1318 pathB.close(); | 1309 pathB.close(); |
1319 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1310 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1320 } | 1311 } |
1321 | 1312 |
1322 static void skpwww_leadpages_net_84(skiatest::Reporter* reporter) { | 1313 static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* fi
lename) { |
1323 SkPath path; | 1314 SkPath path; |
1324 path.setFillType(SkPath::kEvenOdd_FillType); | 1315 path.setFillType(SkPath::kEvenOdd_FillType); |
1325 path.moveTo(377.1716f, 5910.17139f); | 1316 path.moveTo(377.1716f, 5910.17139f); |
1326 path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913); | 1317 path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913); |
1327 path.lineTo(376, 5972); | 1318 path.lineTo(376, 5972); |
1328 path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976); | 1319 path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976); |
1329 path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972); | 1320 path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972); |
1330 path.lineTo(377, 5913); | 1321 path.lineTo(377, 5913); |
1331 path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.8
7891f); | 1322 path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.8
7891f); |
1332 path.lineTo(377.1716f, 5910.17139f); | 1323 path.lineTo(377.1716f, 5910.17139f); |
1333 path.close(); | 1324 path.close(); |
1334 SkPath pathB; | 1325 SkPath pathB; |
1335 pathB.setFillType(SkPath::kWinding_FillType); | 1326 pathB.setFillType(SkPath::kWinding_FillType); |
1336 pathB.moveTo(376, 5909); | 1327 pathB.moveTo(376, 5909); |
1337 pathB.lineTo(378.481873f, 5909); | 1328 pathB.lineTo(378.481873f, 5909); |
1338 pathB.lineTo(379.999878f, 5976); | 1329 pathB.lineTo(379.999878f, 5976); |
1339 pathB.lineTo(376, 5976); | 1330 pathB.lineTo(376, 5976); |
1340 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1331 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1341 } | 1332 } |
1342 | 1333 |
1343 static void skpwww_briian_com_34(skiatest::Reporter* reporter) { | 1334 static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filen
ame) { |
1344 SkPath path; | 1335 SkPath path; |
1345 path.setFillType(SkPath::kEvenOdd_FillType); | 1336 path.setFillType(SkPath::kEvenOdd_FillType); |
1346 path.moveTo(843, 216); | 1337 path.moveTo(843, 216); |
1347 path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211); | 1338 path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211); |
1348 path.lineTo(1191, 211); | 1339 path.lineTo(1191, 211); |
1349 path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216); | 1340 path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216); |
1350 path.lineTo(1196, 779); | 1341 path.lineTo(1196, 779); |
1351 path.cubicTo(1196, 781.761414f, 1193.76147f, 784, 1191, 784); | 1342 path.cubicTo(1196, 781.761414f, 1193.76147f, 784, 1191, 784); |
1352 path.lineTo(848, 784); | 1343 path.lineTo(848, 784); |
1353 path.cubicTo(845.238586f, 784, 843, 781.761414f, 843, 779); | 1344 path.cubicTo(845.238586f, 784, 843, 781.761414f, 843, 779); |
1354 path.lineTo(843, 216); | 1345 path.lineTo(843, 216); |
1355 path.close(); | 1346 path.close(); |
1356 path.moveTo(844, 217); | 1347 path.moveTo(844, 217); |
1357 path.cubicTo(844, 214.238571f, 846.238586f, 212, 849, 212); | 1348 path.cubicTo(844, 214.238571f, 846.238586f, 212, 849, 212); |
1358 path.lineTo(1190, 212); | 1349 path.lineTo(1190, 212); |
1359 path.cubicTo(1192.76147f, 212, 1195, 214.238571f, 1195, 217); | 1350 path.cubicTo(1192.76147f, 212, 1195, 214.238571f, 1195, 217); |
1360 path.lineTo(1195, 778); | 1351 path.lineTo(1195, 778); |
1361 path.cubicTo(1195, 779.65686f, 1192.76147f, 781, 1190, 781); | 1352 path.cubicTo(1195, 779.65686f, 1192.76147f, 781, 1190, 781); |
1362 path.lineTo(849, 781); | 1353 path.lineTo(849, 781); |
1363 path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778); | 1354 path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778); |
1364 path.lineTo(844, 217); | 1355 path.lineTo(844, 217); |
1365 path.close(); | 1356 path.close(); |
1366 SkPath pathB; | 1357 SkPath pathB; |
1367 pathB.setFillType(SkPath::kWinding_FillType); | 1358 pathB.setFillType(SkPath::kWinding_FillType); |
1368 pathB.moveTo(843, 784); | 1359 pathB.moveTo(843, 784); |
1369 pathB.lineTo(843, 779); | 1360 pathB.lineTo(843, 779); |
1370 pathB.lineTo(1196, 779.000061f); | 1361 pathB.lineTo(1196, 779.000061f); |
1371 pathB.lineTo(1196, 784); | 1362 pathB.lineTo(1196, 784); |
1372 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1363 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1373 } | 1364 } |
1374 | 1365 |
1375 | 1366 static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* fi
lename) { |
1376 static void skpwww_sciality_com_100(skiatest::Reporter* reporter) { | |
1377 SkPath path; | 1367 SkPath path; |
1378 path.setFillType(SkPath::kEvenOdd_FillType); | 1368 path.setFillType(SkPath::kEvenOdd_FillType); |
1379 path.moveTo(162, 468); | 1369 path.moveTo(162, 468); |
1380 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); | 1370 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); |
1381 path.lineTo(158, 528); | 1371 path.lineTo(158, 528); |
1382 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); | 1372 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); |
1383 path.lineTo(275, 532); | 1373 path.lineTo(275, 532); |
1384 path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528); | 1374 path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528); |
1385 path.lineTo(279, 472); | 1375 path.lineTo(279, 472); |
1386 path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468); | 1376 path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468); |
1387 path.lineTo(162, 468); | 1377 path.lineTo(162, 468); |
1388 path.close(); | 1378 path.close(); |
1389 SkPath pathB; | 1379 SkPath pathB; |
1390 pathB.setFillType(SkPath::kWinding_FillType); | 1380 pathB.setFillType(SkPath::kWinding_FillType); |
1391 pathB.moveTo(275, 468); | 1381 pathB.moveTo(275, 468); |
1392 pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471); | 1382 pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471); |
1393 pathB.lineTo(278, 529); | 1383 pathB.lineTo(278, 529); |
1394 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); | 1384 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); |
1395 pathB.lineTo(161, 532); | 1385 pathB.lineTo(161, 532); |
1396 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); | 1386 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); |
1397 pathB.lineTo(158, 471); | 1387 pathB.lineTo(158, 471); |
1398 pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468); | 1388 pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468); |
1399 pathB.lineTo(275, 468); | 1389 pathB.lineTo(275, 468); |
1400 pathB.close(); | 1390 pathB.close(); |
1401 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1391 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1402 } | 1392 } |
1403 | 1393 |
1404 #if TRY_SEPT_BROKEN_TESTS | 1394 static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* fi
lename) { |
1405 static void skpwww_sciality_com_101(skiatest::Reporter* reporter) { | |
1406 SkPath path; | 1395 SkPath path; |
1407 path.setFillType(SkPath::kEvenOdd_FillType); | 1396 path.setFillType(SkPath::kEvenOdd_FillType); |
1408 path.moveTo(162, 468); | 1397 path.moveTo(162, 468); |
1409 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); | 1398 path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); |
1410 path.lineTo(158, 528); | 1399 path.lineTo(158, 528); |
1411 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); | 1400 path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); |
1412 path.lineTo(275.009186f, 532); | 1401 path.lineTo(275.009186f, 532); |
1413 path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529); | 1402 path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529); |
1414 path.lineTo(278, 471); | 1403 path.lineTo(278, 471); |
1415 path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468); | 1404 path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468); |
1416 path.lineTo(162, 468); | 1405 path.lineTo(162, 468); |
1417 path.close(); | 1406 path.close(); |
1418 SkPath pathB; | 1407 SkPath pathB; |
1419 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1408 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1420 pathB.moveTo(161, 469); | 1409 pathB.moveTo(161, 469); |
1421 pathB.lineTo(275, 469); | 1410 pathB.lineTo(275, 469); |
1422 pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471); | 1411 pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471); |
1423 pathB.lineTo(278, 529); | 1412 pathB.lineTo(278, 529); |
1424 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); | 1413 pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); |
1425 pathB.lineTo(161, 532); | 1414 pathB.lineTo(161, 532); |
1426 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); | 1415 pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); |
1427 pathB.lineTo(158, 471); | 1416 pathB.lineTo(158, 471); |
1428 pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469); | 1417 pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469); |
1429 pathB.close(); | 1418 pathB.close(); |
1430 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1419 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1431 } | 1420 } |
1432 #endif | |
1433 | 1421 |
1434 static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter) { | 1422 static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filena
me) { |
1435 SkPath path; | 1423 SkPath path; |
1436 path.setFillType(SkPath::kEvenOdd_FillType); | 1424 path.setFillType(SkPath::kEvenOdd_FillType); |
1437 path.moveTo(137.34314f, 145.34314f); | 1425 path.moveTo(137.34314f, 145.34314f); |
1438 path.quadTo(139.687088f, 143.000793f, 143, 143); | 1426 path.quadTo(139.687088f, 143.000793f, 143, 143); |
1439 path.lineTo(242, 143); | 1427 path.lineTo(242, 143); |
1440 path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f); | 1428 path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f); |
1441 path.quadTo(249.999207f, 147.687088f, 250, 151); | 1429 path.quadTo(249.999207f, 147.687088f, 250, 151); |
1442 path.lineTo(250, 177); | 1430 path.lineTo(250, 177); |
1443 path.lineTo(135, 177); | 1431 path.lineTo(135, 177); |
1444 path.lineTo(135, 151); | 1432 path.lineTo(135, 151); |
1445 path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f); | 1433 path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f); |
1446 path.close(); | 1434 path.close(); |
1447 SkPath pathB; | 1435 SkPath pathB; |
1448 pathB.setFillType(SkPath::kWinding_FillType); | 1436 pathB.setFillType(SkPath::kWinding_FillType); |
1449 pathB.moveTo(135, 143); | 1437 pathB.moveTo(135, 143); |
1450 pathB.lineTo(250, 143); | 1438 pathB.lineTo(250, 143); |
1451 pathB.lineTo(250, 177); | 1439 pathB.lineTo(250, 177); |
1452 pathB.lineTo(135, 177); | 1440 pathB.lineTo(135, 177); |
1453 pathB.close(); | 1441 pathB.close(); |
1454 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1442 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1455 } | 1443 } |
1456 | 1444 |
1457 #if TRY_SEPT_BROKEN_TESTS | 1445 static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filena
me) { |
1458 static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter) { | |
1459 SkPath path; | 1446 SkPath path; |
1460 path.setFillType(SkPath::kEvenOdd_FillType); | 1447 path.setFillType(SkPath::kEvenOdd_FillType); |
1461 path.moveTo(143, 143); | 1448 path.moveTo(143, 143); |
1462 path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f); | 1449 path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f); |
1463 path.quadTo(135.000793f, 147.687088f, 135, 151); | 1450 path.quadTo(135.000793f, 147.687088f, 135, 151); |
1464 path.lineTo(135, 177); | 1451 path.lineTo(135, 177); |
1465 path.lineTo(250, 177); | 1452 path.lineTo(250, 177); |
1466 path.lineTo(250, 151); | 1453 path.lineTo(250, 151); |
1467 path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f); | 1454 path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f); |
1468 path.quadTo(245.312912f, 143.000793f, 242, 143); | 1455 path.quadTo(245.312912f, 143.000793f, 242, 143); |
1469 path.lineTo(143, 143); | 1456 path.lineTo(143, 143); |
1470 path.close(); | 1457 path.close(); |
1471 SkPath pathB; | 1458 SkPath pathB; |
1472 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1459 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1473 pathB.moveTo(143, 143); | 1460 pathB.moveTo(143, 143); |
1474 pathB.lineTo(242, 143); | 1461 pathB.lineTo(242, 143); |
1475 pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151); | 1462 pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151); |
1476 pathB.lineTo(249, 177); | 1463 pathB.lineTo(249, 177); |
1477 pathB.lineTo(135, 177); | 1464 pathB.lineTo(135, 177); |
1478 pathB.lineTo(135, 151); | 1465 pathB.lineTo(135, 151); |
1479 pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143); | 1466 pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143); |
1480 pathB.close(); | 1467 pathB.close(); |
1481 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1468 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1482 } | 1469 } |
1483 #endif | |
1484 | 1470 |
1485 static void skpgithub_io_25(skiatest::Reporter* reporter) { | 1471 static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename)
{ |
1486 SkPath path; | 1472 SkPath path; |
1487 path.setFillType(SkPath::kEvenOdd_FillType); | 1473 path.setFillType(SkPath::kEvenOdd_FillType); |
1488 path.moveTo(1001.87866f, 14.8786793f); | 1474 path.moveTo(1001.87866f, 14.8786793f); |
1489 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); | 1475 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); |
1490 path.lineTo(1105, 14); | 1476 path.lineTo(1105, 14); |
1491 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); | 1477 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); |
1492 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); | 1478 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); |
1493 path.lineTo(1108, 41); | 1479 path.lineTo(1108, 41); |
1494 path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); | 1480 path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); |
1495 path.quadTo(1106.24255f, 43.9999008f, 1105, 44); | 1481 path.quadTo(1106.24255f, 43.9999008f, 1105, 44); |
1496 path.lineTo(1004, 44); | 1482 path.lineTo(1004, 44); |
1497 path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f); | 1483 path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f); |
1498 path.quadTo(1001.00012f, 42.2425423f, 1001, 41); | 1484 path.quadTo(1001.00012f, 42.2425423f, 1001, 41); |
1499 path.lineTo(1001, 17); | 1485 path.lineTo(1001, 17); |
1500 path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f); | 1486 path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f); |
1501 path.close(); | 1487 path.close(); |
1502 SkPath pathB; | 1488 SkPath pathB; |
1503 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1489 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1504 pathB.moveTo(1005, 16); | 1490 pathB.moveTo(1005, 16); |
1505 pathB.lineTo(1104, 16); | 1491 pathB.lineTo(1104, 16); |
1506 pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18); | 1492 pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18); |
1507 pathB.lineTo(1106, 40); | 1493 pathB.lineTo(1106, 40); |
1508 pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42); | 1494 pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42); |
1509 pathB.lineTo(1005, 42); | 1495 pathB.lineTo(1005, 42); |
1510 pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); | 1496 pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); |
1511 pathB.lineTo(1003, 18); | 1497 pathB.lineTo(1003, 18); |
1512 pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16); | 1498 pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16); |
1513 pathB.close(); | 1499 pathB.close(); |
1514 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1500 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1515 } | 1501 } |
1516 | 1502 |
1517 static void skpgithub_io_26(skiatest::Reporter* reporter) { | 1503 static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename)
{ |
1518 SkPath path; | 1504 SkPath path; |
1519 path.setFillType(SkPath::kEvenOdd_FillType); | 1505 path.setFillType(SkPath::kEvenOdd_FillType); |
1520 path.moveTo(1001.87866f, 14.8786793f); | 1506 path.moveTo(1001.87866f, 14.8786793f); |
1521 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); | 1507 path.quadTo(1002.75745f, 14.0001001f, 1004, 14); |
1522 path.lineTo(1105, 14); | 1508 path.lineTo(1105, 14); |
1523 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); | 1509 path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); |
1524 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); | 1510 path.quadTo(1107.99988f, 15.7574596f, 1108, 17); |
1525 path.lineTo(1108, 41); | 1511 path.lineTo(1108, 41); |
1526 path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); | 1512 path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); |
1527 path.quadTo(1106.24255f, 43.9999008f, 1105, 44); | 1513 path.quadTo(1106.24255f, 43.9999008f, 1105, 44); |
(...skipping 12 matching lines...) Expand all Loading... |
1540 path.lineTo(1005, 42); | 1526 path.lineTo(1005, 42); |
1541 path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); | 1527 path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); |
1542 path.lineTo(1003, 18); | 1528 path.lineTo(1003, 18); |
1543 path.close(); | 1529 path.close(); |
1544 SkPath pathB; | 1530 SkPath pathB; |
1545 pathB.setFillType(SkPath::kWinding_FillType); | 1531 pathB.setFillType(SkPath::kWinding_FillType); |
1546 pathB.moveTo(1108, 14); | 1532 pathB.moveTo(1108, 14); |
1547 pathB.lineTo(1106, 16); | 1533 pathB.lineTo(1106, 16); |
1548 pathB.lineTo(1105.97998f, 46.0200005f); | 1534 pathB.lineTo(1105.97998f, 46.0200005f); |
1549 pathB.lineTo(1108, 44); | 1535 pathB.lineTo(1108, 44); |
1550 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1536 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1551 } | 1537 } |
1552 | 1538 |
1553 static void skpskpicture14(skiatest::Reporter* reporter) { | 1539 static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) { |
1554 SkPath path; | 1540 SkPath path; |
1555 path.setFillType(SkPath::kEvenOdd_FillType); | 1541 path.setFillType(SkPath::kEvenOdd_FillType); |
1556 path.moveTo(0, 994); | 1542 path.moveTo(0, 994); |
1557 path.lineTo(0, 0); | 1543 path.lineTo(0, 0); |
1558 path.lineTo(512, 0); | 1544 path.lineTo(512, 0); |
1559 path.lineTo(512, 994); | 1545 path.lineTo(512, 994); |
1560 path.lineTo(0, 994); | 1546 path.lineTo(0, 994); |
1561 path.close(); | 1547 path.close(); |
1562 SkPath pathB; | 1548 SkPath pathB; |
1563 pathB.setFillType(SkPath::kWinding_FillType); | 1549 pathB.setFillType(SkPath::kWinding_FillType); |
1564 pathB.moveTo(-317, 168); | 1550 pathB.moveTo(-317, 168); |
1565 pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f); | 1551 pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f); |
1566 pathB.quadTo(-315.242645f, 165, -314, 165); | 1552 pathB.quadTo(-315.242645f, 165, -314, 165); |
1567 pathB.lineTo(320, 165); | 1553 pathB.lineTo(320, 165); |
1568 pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f); | 1554 pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f); |
1569 pathB.quadTo(323, 166.757385f, 323, 168); | 1555 pathB.quadTo(323, 166.757385f, 323, 168); |
1570 pathB.lineTo(323, 193); | 1556 pathB.lineTo(323, 193); |
1571 pathB.lineTo(-317, 193); | 1557 pathB.lineTo(-317, 193); |
1572 pathB.close(); | 1558 pathB.close(); |
1573 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1559 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1574 } | 1560 } |
1575 | 1561 |
1576 #if TRY_SEPT_BROKEN_TESTS | 1562 static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) { |
1577 static void skpskpicture15(skiatest::Reporter* reporter) { | |
1578 SkPath path; | 1563 SkPath path; |
1579 path.setFillType(SkPath::kEvenOdd_FillType); | 1564 path.setFillType(SkPath::kEvenOdd_FillType); |
1580 path.moveTo(0, 193); | 1565 path.moveTo(0, 193); |
1581 path.lineTo(323, 193); | 1566 path.lineTo(323, 193); |
1582 path.lineTo(323, 168); | 1567 path.lineTo(323, 168); |
1583 path.quadTo(323, 166.757385f, 322.121338f, 165.878662f); | 1568 path.quadTo(323, 166.757385f, 322.121338f, 165.878662f); |
1584 path.quadTo(321.242615f, 165, 320, 165); | 1569 path.quadTo(321.242615f, 165, 320, 165); |
1585 path.lineTo(0, 165); | 1570 path.lineTo(0, 165); |
1586 path.lineTo(0, 193); | 1571 path.lineTo(0, 193); |
1587 path.close(); | 1572 path.close(); |
1588 SkPath pathB; | 1573 SkPath pathB; |
1589 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1574 pathB.setFillType(SkPath::kInverseWinding_FillType); |
1590 pathB.moveTo(-314, 165); | 1575 pathB.moveTo(-314, 165); |
1591 pathB.lineTo(320, 165); | 1576 pathB.lineTo(320, 165); |
1592 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); | 1577 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); |
1593 pathB.lineTo(323, 192); | 1578 pathB.lineTo(323, 192); |
1594 pathB.lineTo(-317, 192); | 1579 pathB.lineTo(-317, 192); |
1595 pathB.lineTo(-317, 168); | 1580 pathB.lineTo(-317, 168); |
1596 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); | 1581 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); |
1597 pathB.close(); | 1582 pathB.close(); |
1598 testPathOp(reporter, path, pathB, kIntersect_PathOp); | 1583 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1599 } | 1584 } |
1600 #endif | |
1601 | 1585 |
1602 static void (*firstTest)(skiatest::Reporter* ) = 0; | 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)
{ |
| 1592 SkPath path; |
| 1593 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1594 path.moveTo(183, 8507); |
| 1595 path.lineTo(552, 8506.99023f); |
| 1596 path.lineTo(552, 8508); |
| 1597 path.lineTo(183, 8508); |
| 1598 path.lineTo(183, 8507); |
| 1599 path.close(); |
| 1600 SkPath pathB; |
| 1601 pathB.setFillType(SkPath::kWinding_FillType); |
| 1602 pathB.moveTo(183, 8508); |
| 1603 pathB.lineTo(183, 8506.99023f); |
| 1604 pathB.lineTo(552, 8507); |
| 1605 pathB.lineTo(552, 8508); |
| 1606 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1607 } |
| 1608 |
| 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) { |
| 1617 SkPath path; |
| 1618 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1619 path.moveTo(140, 1000); |
| 1620 path.lineTo(140, 842); |
| 1621 path.lineTo(141, 842); |
| 1622 path.lineTo(141.14502f, 1000); |
| 1623 path.lineTo(140, 1000); |
| 1624 path.close(); |
| 1625 SkPath pathB; |
| 1626 pathB.setFillType(SkPath::kWinding_FillType); |
| 1627 pathB.moveTo(140, 842); |
| 1628 pathB.lineTo(141.008835f, 837.9646f); |
| 1629 pathB.lineTo(141.235291f, 1109.05884f); |
| 1630 pathB.lineTo(140, 1114); |
| 1631 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1632 } |
| 1633 |
| 1634 // fails on angle insert -- haven't investigated yet |
| 1635 static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil
ename) { |
| 1636 SkPath path; |
| 1637 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1638 path.moveTo(134.34314f, 9802.34277f); |
| 1639 path.quadTo(132, 9804.68652f, 132, 9808); |
| 1640 path.lineTo(132, 9822); |
| 1641 path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f); |
| 1642 path.quadTo(136.686295f, 9830, 140, 9830); |
| 1643 path.lineTo(140.028473f, 9830); |
| 1644 path.lineTo(139.877213f, 9828.90723f); |
| 1645 path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f); |
| 1646 path.quadTo(134, 9824.31348f, 134, 9821); |
| 1647 path.lineTo(134, 9809); |
| 1648 path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f); |
| 1649 path.lineTo(134.34314f, 9802.34277f); |
| 1650 path.close(); |
| 1651 SkPath pathB; |
| 1652 pathB.setFillType(SkPath::kWinding_FillType); |
| 1653 pathB.moveTo(132, 9800); |
| 1654 pathB.lineTo(135.962357f, 9800); |
| 1655 pathB.lineTo(140, 9830); |
| 1656 pathB.lineTo(132, 9830); |
| 1657 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1658 } |
| 1659 |
| 1660 /* asserts in alignSpanState looks like a coincident related bug */ |
| 1661 static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file
name) { |
| 1662 SkPath path; |
| 1663 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1664 path.moveTo(817.464478f, 11.4644661f); |
| 1665 path.quadTo(818.928955f, 10, 821, 10); |
| 1666 path.lineTo(998, 10); |
| 1667 path.quadTo(999.082947f, 10, 1000, 10.4003992f); |
| 1668 path.lineTo(1000, 13.3527431f); |
| 1669 path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f); |
| 1670 path.quadTo(998.65686f, 12, 997, 12); |
| 1671 path.lineTo(822, 12); |
| 1672 path.quadTo(820.34314f, 12, 819.17157f, 13.1715727f); |
| 1673 path.quadTo(818, 14.3431454f, 818, 16); |
| 1674 path.lineTo(818, 28); |
| 1675 path.quadTo(818, 29.6568546f, 819.17157f, 30.8284264f); |
| 1676 path.quadTo(820.34314f, 32, 822, 32); |
| 1677 path.lineTo(997, 32); |
| 1678 path.quadTo(998.65686f, 32, 999.82843f, 30.8284264f); |
| 1679 path.quadTo(999.917603f, 30.7392426f, 1000, 30.6472569f); |
| 1680 path.lineTo(1000, 33.5996017f); |
| 1681 path.quadTo(999.082947f, 34, 998, 34); |
| 1682 path.lineTo(821, 34); |
| 1683 path.quadTo(818.928955f, 34, 817.464478f, 32.5355339f); |
| 1684 path.quadTo(816, 31.0710678f, 816, 29); |
| 1685 path.lineTo(816, 15); |
| 1686 path.quadTo(816, 12.9289322f, 817.464478f, 11.4644661f); |
| 1687 path.close(); |
| 1688 SkPath pathB; |
| 1689 pathB.setFillType(SkPath::kWinding_FillType); |
| 1690 pathB.moveTo(1003, 10); |
| 1691 pathB.lineTo(1000, 13); |
| 1692 pathB.lineTo(999.969971f, 37.0299988f); |
| 1693 pathB.lineTo(1003, 34); |
| 1694 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1695 } |
| 1696 |
| 1697 // fails on angle insert |
| 1698 static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1699 SkPath path; |
| 1700 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1701 path.moveTo(966.464478f, 4261.46436f); |
| 1702 path.quadTo(965, 4262.92871f, 965, 4265); |
| 1703 path.lineTo(965, 4276); |
| 1704 path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f); |
| 1705 path.quadTo(967.928955f, 4281, 970, 4281); |
| 1706 path.lineTo(970.020325f, 4281); |
| 1707 path.lineTo(969.887512f, 4279.81641f); |
| 1708 path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f); |
| 1709 path.quadTo(967, 4277.07129f, 967, 4275); |
| 1710 path.lineTo(967, 4266); |
| 1711 path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f); |
| 1712 path.lineTo(968, 4263); |
| 1713 path.lineTo(966.464478f, 4261.46436f); |
| 1714 path.close(); |
| 1715 SkPath pathB; |
| 1716 pathB.setFillType(SkPath::kWinding_FillType); |
| 1717 pathB.moveTo(965, 4260); |
| 1718 pathB.lineTo(967.716675f, 4260); |
| 1719 pathB.lineTo(970, 4281); |
| 1720 pathB.lineTo(965, 4281); |
| 1721 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1722 } |
| 1723 |
| 1724 // fails in intersections insert |
| 1725 static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha
r* filename) { |
| 1726 SkPath path; |
| 1727 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1728 path.moveTo(991.633911f, 1839); |
| 1729 path.lineTo(964.265015f, 1839); |
| 1730 path.lineTo(963.734985f, 1893.73242f); |
| 1731 path.lineTo(991.3703f, 1894); |
| 1732 path.lineTo(1018.23492f, 1894); |
| 1733 path.lineTo(1018.76501f, 1839.2627f); |
| 1734 path.lineTo(991.638184f, 1839); |
| 1735 path.lineTo(991.633911f, 1839); |
| 1736 path.close(); |
| 1737 SkPath pathB; |
| 1738 pathB.setFillType(SkPath::kWinding_FillType); |
| 1739 pathB.moveTo(964.267578f, 1838.73499f); |
| 1740 pathB.lineTo(1019.26501f, 1839.26758f); |
| 1741 pathB.lineTo(1018.73242f, 1894.26501f); |
| 1742 pathB.lineTo(963.734985f, 1893.73242f); |
| 1743 pathB.close(); |
| 1744 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1745 } |
| 1746 |
| 1747 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; |
1603 | 1748 |
1604 static struct TestDesc tests[] = { | 1749 static struct TestDesc tests[] = { |
| 1750 TEST(skpnamecheap_com_405), |
| 1751 TEST(skpelpais_com_18), |
| 1752 TEST(skpwww_cityads_ru_249), |
| 1753 TEST(skpwww_alrakoba_net_62), |
| 1754 TEST(skpwww_dealnews_com_315), |
| 1755 TEST(skpwww_inmotionhosting_com_9), |
1605 TEST(skpskpicture14), | 1756 TEST(skpskpicture14), |
1606 #if TRY_SEPT_BROKEN_TESTS | |
1607 TEST(skpskpicture15), | 1757 TEST(skpskpicture15), |
1608 TEST(skpwww_meb_gov_tr_6), | 1758 TEST(skpwww_meb_gov_tr_6), |
1609 TEST(skpwww_sciality_com_101), | 1759 TEST(skpwww_sciality_com_101), |
1610 TEST(skpwww_booking_com_68), // similar to lavoixdunord | 1760 TEST(skpwww_booking_com_68), // similar to lavoixdunord |
1611 TEST(skpwww_despegar_com_mx_272), // similar to lavoixdunord | 1761 TEST(skpwww_despegar_com_mx_272), // similar to lavoixdunord |
1612 TEST(skpwww_lavoixdunord_fr_11), // not quite coincident, sorting line/cubi
c fails | 1762 TEST(skpwww_lavoixdunord_fr_11), // not quite coincident, sorting line/cubi
c fails |
1613 TEST(skppptv_com_62), // cubic have nearly identical tangents, sort incorre
ctly | 1763 TEST(skppptv_com_62), // cubic have nearly identical tangents, sort incorre
ctly |
1614 #endif | |
1615 #if TRY_BROKEN_TESTS | |
1616 TEST(skppchappy_com_au102), | 1764 TEST(skppchappy_com_au102), |
1617 TEST(skpsciality_com161), | 1765 TEST(skpsciality_com161), |
1618 TEST(skpi_gino_com16), | 1766 TEST(skpi_gino_com16), |
1619 TEST(skpnaoxrane_ru23), // see test for failure evaluation | 1767 TEST(skpnaoxrane_ru23), // see test for failure evaluation |
1620 TEST(skptcmevents_org23), // see test for (partial) failure evaluation | 1768 TEST(skptcmevents_org23), // see test for (partial) failure evaluation |
1621 TEST(skpredbullskatearcade_es16), // cubic have nearly identical tangents,
sort incorrectly | 1769 TEST(skpredbullskatearcade_es16), // cubic have nearly identical tangents,
sort incorrectly |
1622 TEST(skpfinanzasdigital_com9), // cubic/quad tangents too close to sort | 1770 TEST(skpfinanzasdigital_com9), // cubic/quad tangents too close to sort |
1623 #endif | |
1624 TEST(skpgithub_io_26), | 1771 TEST(skpgithub_io_26), |
1625 TEST(skpgithub_io_25), | 1772 TEST(skpgithub_io_25), |
1626 TEST(skpwww_meb_gov_tr_5), | 1773 TEST(skpwww_meb_gov_tr_5), |
1627 TEST(skpwww_sciality_com_100), | 1774 TEST(skpwww_sciality_com_100), |
1628 TEST(skpwww_joomla_org_23), | 1775 TEST(skpwww_joomla_org_23), |
1629 TEST(skpwww_macrumors_com_131), | 1776 TEST(skpwww_macrumors_com_131), |
1630 TEST(skpwww_briian_com_34), | 1777 TEST(skpwww_briian_com_34), |
1631 TEST(skpwww_leadpages_net_84), | 1778 TEST(skpwww_leadpages_net_84), |
1632 TEST(skpwww_fj_p_com_22), | 1779 TEST(skpwww_fj_p_com_22), |
1633 TEST(skppartainasdemo250_org56), | 1780 TEST(skppartainasdemo250_org56), |
(...skipping 15 matching lines...) Expand all Loading... |
1649 TEST(skpilkoora_com37), | 1796 TEST(skpilkoora_com37), |
1650 TEST(skpmm4everfriends_com43), | 1797 TEST(skpmm4everfriends_com43), |
1651 TEST(skpflite_com41), | 1798 TEST(skpflite_com41), |
1652 TEST(skpcheeseandburger_com225), | 1799 TEST(skpcheeseandburger_com225), |
1653 TEST(skpeverytechpro_blogspot_com100), | 1800 TEST(skpeverytechpro_blogspot_com100), |
1654 }; | 1801 }; |
1655 | 1802 |
1656 static const size_t testCount = SK_ARRAY_COUNT(tests); | 1803 static const size_t testCount = SK_ARRAY_COUNT(tests); |
1657 | 1804 |
1658 static bool runReverse = false; | 1805 static bool runReverse = false; |
1659 static void (*stopTest)(skiatest::Reporter* ) = 0; | 1806 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
1660 | 1807 |
1661 DEF_TEST(PathOpsSkp, reporter) { | 1808 DEF_TEST(PathOpsSkp, reporter) { |
1662 #if DEBUG_SHOW_TEST_NAME | 1809 #if DEBUG_SHOW_TEST_NAME |
1663 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); | 1810 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
1664 #endif | 1811 #endif |
1665 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); | 1812 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); |
1666 } | 1813 } |
OLD | NEW |