aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/PathOpsSkpTest.cpp
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2015-03-26 07:52:43 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-26 07:52:43 -0700
commit54359294a7c9dc54802d512a5d891a35c1663392 (patch)
tree7339bbad708bb43a4a96f7b76075c84ff7732189 /tests/PathOpsSkpTest.cpp
parentc08330f1601aeca7f10aeb2194118decbfbf83e1 (diff)
cumulative pathops patch
Replace the implicit curve intersection with a geometric curve intersection. The implicit intersection proved mathematically unstable and took a long time to zero in on an answer. Use pointers instead of indices to refer to parts of curves. Indices required awkward renumbering. Unify t and point values so that small intervals can be eliminated in one pass. Break cubics up front to eliminate loops and cusps. Make the Simplify and Op code more regular and eliminate arbitrary differences. Add a builder that takes an array of paths and operators. Delete unused code. BUG=skia:3588 R=reed@google.com Review URL: https://codereview.chromium.org/1037573004
Diffstat (limited to 'tests/PathOpsSkpTest.cpp')
-rwxr-xr-xtests/PathOpsSkpTest.cpp335
1 files changed, 144 insertions, 191 deletions
diff --git a/tests/PathOpsSkpTest.cpp b/tests/PathOpsSkpTest.cpp
index 6af790f72a..cd20fe5e7e 100755
--- a/tests/PathOpsSkpTest.cpp
+++ b/tests/PathOpsSkpTest.cpp
@@ -366,7 +366,7 @@ static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char*
pathB.lineTo(716.868225f, 365.046783f);
pathB.cubicTo(716.868225f, 363.740021f, 716.960083f, 363.043213f, 717.597961f, 362);
pathB.cubicTo(715.331848f, 363.104095f, 714.19873f, 363.657166f, 711.928711f, 364.782227f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const char* filename) {
@@ -400,7 +400,7 @@ static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const
pathB.lineTo(1075, 628);
pathB.lineTo(1116.5f, 644.5f);
pathB.lineTo(1134, 627);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) {
@@ -423,7 +423,7 @@ static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) {
pathB.lineTo(304.510101f, 438.724121f);
pathB.lineTo(295.849854f, 433.724121f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename) {
@@ -455,7 +455,7 @@ static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename)
pathB.lineTo(1001.5f, 325.5f);
pathB.lineTo(1001.5f, 782.5f);
pathB.lineTo(1185, 966);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* filename) {
@@ -478,7 +478,7 @@ static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(576.435852f, 247.626068f);
pathB.lineTo(535.280823f, 235.165573f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) {
@@ -505,7 +505,7 @@ static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) {
pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f);
pathB.quadTo(33, 793.213196f, 33, 787);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* filename) {
@@ -529,7 +529,7 @@ static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(803, 891);
pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename) {
@@ -554,7 +554,7 @@ static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename)
pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734);
pathB.lineTo(185, 734);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filename) {
@@ -582,7 +582,7 @@ static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(359, 496);
pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpsciality_com161(skiatest::Reporter* reporter, const char* filename) {
@@ -610,7 +610,7 @@ static void skpsciality_com161(skiatest::Reporter* reporter, const char* filenam
pathB.lineTo(652, 731);
pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char* filename) {
@@ -640,7 +640,7 @@ static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char*
pathB.lineTo(24, 471);
pathB.lineTo(24, 317);
pathB.lineTo(48, 293);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* filename) {
@@ -661,7 +661,7 @@ static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* f
pathB.lineTo(866.016724f, 701.620361f);
pathB.lineTo(785.84491f, 723.102356f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename) {
@@ -684,7 +684,7 @@ static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename
pathB.lineTo(30, 648);
pathB.lineTo(0, 648);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* filename) {
@@ -706,7 +706,7 @@ static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* f
pathB.lineTo(34, 371);
pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filename) {
@@ -740,7 +740,7 @@ static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filenam
pathB.cubicTo(26.0091248f, 64.2129364f, 24.2174377f, 66.0046234f, 22.0072803f, 66.0046234f);
pathB.cubicTo(19.7970943f, 66.0045929f, 18.0054054f, 64.2129059f, 18.0054054f, 62.0027809f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filename) {
@@ -759,7 +759,7 @@ static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filenam
pathB.lineTo(8.57224448e-15f, 301);
pathB.lineTo(6.12303177e-17f, 162);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* filename) {
@@ -787,7 +787,7 @@ static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(177, 410);
pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filename) {
@@ -813,7 +813,7 @@ static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(806, 818);
pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filename) {
@@ -839,7 +839,7 @@ static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(966, 264);
pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* filename) {
@@ -868,7 +868,7 @@ static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* file
pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f);
pathB.quadTo(327, 55.4831848f, 327, 123);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filename) {
@@ -893,22 +893,9 @@ static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(390.578583f, 867.014099f);
pathB.lineTo(433, 852.000061f);
pathB.lineTo(490.435486f, 879.40741f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
-}
-
-/* this cubic/quad pair
- c = 430,280 430,278.895416 473.876068,278 528,278
- q = 430,280 430.009796,277.101196 458.703552,275.050262
- only intersect at the shared point (430,280)
- they sort backwards because the tangent from pt[0] to control pt[1]
- c' = (0.00000000000000000, -1.1045837402343750)
- q' = (0.0097961425781250000, -2.8988037109375000)
- suggests that the quad is counterclockwise of the cubic, when the reverse is true
- the angle code is fooled because the control pt[1] of both the quad and cubic
- is far away from cubic cntl [2] and quad pt [2].
- Maybe in angle setup, this instability can be detected to suppress sorting on the initial tangent
- Or the error term can be passed to NearRay that is magnified by the distance from the next ctrl?
- */
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
+}
+
static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -938,14 +925,9 @@ static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename)
pathB.lineTo(430, 280);
pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-/* didn't investigate thoroughly, but looks to be missorting quad and cubic
- {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}}
- {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676}, {468.507751,560.724426}}
- decision maker is case 14 leftLessThanRight
- */
static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -971,7 +953,7 @@ static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam
pathB.lineTo(325.968597f, 560.475708f);
pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f, 542.495361f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char* filename) {
@@ -1002,7 +984,7 @@ static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char*
pathB.lineTo(652.258179f, 468.503662f);
pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263f, 458.958862f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* filename) {
@@ -1028,7 +1010,7 @@ static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(153, 130);
pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char* filename) {
@@ -1051,7 +1033,7 @@ static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char*
pathB.lineTo(206.748749f, 634.748718f);
pathB.lineTo(182.000015f, 610);
pathB.lineTo(132.502533f, 610);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) {
@@ -1079,7 +1061,7 @@ static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) {
pathB.lineTo(149, 675);
pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOpCheck(reporter, path, pathB, kIntersect_SkPathOp, filename, FLAGS_runFail);
}
static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* filename) {
@@ -1105,10 +1087,12 @@ static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi
pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202);
pathB.lineTo(50, 183);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ // FIXME: this generates quads and cubics that are (correctly) not coincident unlike the old code
+ // however, somewhere the angles are sorted incorrectly and the winding is computed to be -1/-2
+ // but I can't find the error
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-/* cubic ends just above opp line */
static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1125,10 +1109,9 @@ static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam
pathB.lineTo(161, 199);
pathB.lineTo(223, 199.000015f);
pathB.lineTo(223, 202);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// pair of lines are not quite coincident, so sorting line/cubic fails (i think)
static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1158,12 +1141,9 @@ static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char*
pathB.lineTo(808, 56);
pathB.lineTo(935.02002f, 56.0200005f);
pathB.lineTo(933, 54);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// pair of curves have nearly the same initial tangent but are sorting by
-// that alone sorts them incorrectly. Need to detect that tangents are nearly
-// identical and not reliable by themselves
static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1187,10 +1167,9 @@ static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) {
pathB.lineTo(169, 5346);
pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// nearly identical to lavoixdunord -- to not-quite-coincident lines
static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1220,10 +1199,9 @@ static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file
pathB.lineTo(92, 186);
pathB.lineTo(593.02002f, 186.020004f);
pathB.lineTo(591, 184);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// visually looks like lavoixdunord and www_booking_com
static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1253,7 +1231,7 @@ static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char*
pathB.lineTo(833, 1787);
pathB.lineTo(832.97998f, 1817.02002f);
pathB.lineTo(835, 1815);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filename) {
@@ -1281,7 +1259,7 @@ static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(320, 378);
pathB.lineTo(421, 378.000031f);
pathB.lineTo(421, 383);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* filename) {
@@ -1307,7 +1285,7 @@ static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* f
pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089);
pathB.lineTo(136, 14057);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* filename) {
@@ -1328,7 +1306,7 @@ static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(378.481873f, 5909);
pathB.lineTo(379.999878f, 5976);
pathB.lineTo(376, 5976);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filename) {
@@ -1360,7 +1338,7 @@ static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(843, 779);
pathB.lineTo(1196, 779.000061f);
pathB.lineTo(1196, 784);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* filename) {
@@ -1388,7 +1366,7 @@ static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* fi
pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468);
pathB.lineTo(275, 468);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* filename) {
@@ -1416,7 +1394,7 @@ static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(158, 471);
pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filename) {
@@ -1439,7 +1417,7 @@ static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(250, 177);
pathB.lineTo(135, 177);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filename) {
@@ -1465,7 +1443,7 @@ static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(135, 151);
pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename) {
@@ -1497,7 +1475,7 @@ static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename)
pathB.lineTo(1003, 18);
pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename) {
@@ -1533,7 +1511,7 @@ static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename)
pathB.lineTo(1106, 16);
pathB.lineTo(1105.97998f, 46.0200005f);
pathB.lineTo(1108, 44);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) {
@@ -1556,7 +1534,7 @@ static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) {
pathB.lineTo(323, 193);
pathB.lineTo(-317, 193);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) {
@@ -1580,14 +1558,9 @@ static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) {
pathB.lineTo(-317, 168);
pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-/* Three edges are partially coincident. Only one of the three knows about the other two.
- Subsequently, when the angle loop is created, it misses one of the edges.
- After coincident edges are processed, probably need a check-and-correct that makes sure the
- coincidences are all self-consistent.
- */
static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1603,16 +1576,9 @@ static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename)
pathB.lineTo(183, 8506.99023f);
pathB.lineTo(552, 8507);
pathB.lineTo(552, 8508);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-/* this generates a pair of lines that are essentially coincident; but the next line at a right
- angle is not treated as if it intersects at the same point.
- There are several of options:
- move the intersection of the right angle line to the coincident point (should 'near' do this?
- construct another coincident pair from the right angle line to the coincident point
- treat the intersection as simple and not coincident
- */
static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1628,10 +1594,9 @@ static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filen
pathB.lineTo(141.008835f, 837.9646f);
pathB.lineTo(141.235291f, 1109.05884f);
pathB.lineTo(140, 1114);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// fails on angle insert -- haven't investigated yet
static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1654,10 +1619,9 @@ static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil
pathB.lineTo(135.962357f, 9800);
pathB.lineTo(140, 9830);
pathB.lineTo(132, 9830);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-/* asserts in alignSpanState looks like a coincident related bug */
static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1691,10 +1655,9 @@ static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file
pathB.lineTo(1000, 13);
pathB.lineTo(999.969971f, 37.0299988f);
pathB.lineTo(1003, 34);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// fails on angle insert
static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1718,10 +1681,9 @@ static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(967.716675f, 4260);
pathB.lineTo(970, 4281);
pathB.lineTo(965, 4281);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// fails in intersections insert
static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1741,7 +1703,7 @@ static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha
pathB.lineTo(1018.73242f, 1894.26501f);
pathB.lineTo(963.734985f, 1893.73242f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char* filename) {
@@ -1763,10 +1725,9 @@ static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char*
pathB.lineTo(-43515.8555f, -177415.594f);
pathB.lineTo(1129.76465f, 1173.05884f);
pathB.lineTo(1131, 1178);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// /SkOpContour.cpp:278: failed assertion "!approximately_negative(oEndT - oStartT)
static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1784,10 +1745,9 @@ static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char
pathB.lineTo(144, 0);
pathB.lineTo(1122, 0);
pathB.lineTo(1123, 1);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue);
static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1803,7 +1763,7 @@ static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons
pathB.lineTo(741, 9431.99023f);
pathB.lineTo(761, 9432);
pathB.lineTo(761, 9433);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char* filename) {
@@ -1822,10 +1782,9 @@ static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char*
pathB.lineTo(1000, 364.869904f);
pathB.lineTo(165, 364.869904f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue);
static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1841,10 +1800,9 @@ static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(838, 9124.99023f);
pathB.lineTo(862, 9125);
pathB.lineTo(862, 9126);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// debugValidateLoop loop sum fails
static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1860,10 +1818,9 @@ static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(143, 9073.99023f);
pathB.lineTo(316, 9074);
pathB.lineTo(316, 9075);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// debugValidateLoop loop sum fails
static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1879,10 +1836,9 @@ static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(91.5f, 4835.99512f);
pathB.lineTo(541.5f, 4836);
pathB.lineTo(541.5f, 4836.5f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkIntersections::lineVertical fUsed >= fMax
static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1901,10 +1857,9 @@ static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file
pathB.lineTo(286.05957f, 10129.8809f);
pathB.lineTo(285.399994f, 10216.2002f);
pathB.lineTo(284, 10219);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpContour::calcPartialCoincidentWinding SkASSERT(!approximately_negative(endT - startT));
static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1942,10 +1897,9 @@ static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch
pathB.lineTo(4.5f, 11832.5f);
pathB.lineTo(1260.5f, 11832.5f);
pathB.lineTo(1263, 11830);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// can't find winding of remaining vertical edges
static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -1971,7 +1925,7 @@ static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f
pathB.quadTo(1005.02942f, 920, 1001.51471f, 917.071045f);
pathB.quadTo(998, 914.142151f, 998, 910);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter, const char* filename) {
@@ -1990,10 +1944,9 @@ static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter,
pathB.lineTo(1084, 469);
pathB.lineTo(611, 469);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// asserts in bridgeOp simple->isClosed()
static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2016,7 +1969,7 @@ static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c
pathB.lineTo(1219.10657f, 13);
pathB.lineTo(80.1065979f, 13);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_phototransferapp_com_24x(skiatest::Reporter* reporter, const char* filename) {
@@ -2041,7 +1994,7 @@ static void skpwww_phototransferapp_com_24x(skiatest::Reporter* reporter, const
pathB.lineTo(119.10657f, 13);
pathB.lineTo(80.1065979f, 13);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filename) {
@@ -2063,7 +2016,7 @@ static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(117.686981f, 3339.08423f);
pathB.lineTo(98.4669647f, 3351.56104f);
pathB.lineTo(104.291214f, 3359.87891f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* filename) {
@@ -2115,7 +2068,7 @@ static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* fi
pathB.quadTo(509.696686f, 241.450104f, 497.29361f, 238.126709f);
pathB.quadTo(484.890533f, 234.803314f, 478.470215f, 223.683014f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_cooksnaps_com_32a(skiatest::Reporter* reporter, const char* filename) {
@@ -2131,10 +2084,9 @@ static void skpwww_cooksnaps_com_32a(skiatest::Reporter* reporter, const char* f
pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f);
pathB.lineTo(490.183014f, 179.9702f);
pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// !simple->isClosed()
static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2155,10 +2107,9 @@ static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con
pathB.lineTo(458.828979f, 1203.67822f);
pathB.lineTo(465.914215f, 1196.62122f);
pathB.lineTo(467.32843f, 1198.03552f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// line quad intersection SkIntersections::assert
static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2177,10 +2128,9 @@ static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(901.086914f, 547);
pathB.lineTo(899, 556);
pathB.lineTo(898, 556);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpAngle::setSector SkASSERT(fSectorStart >= 0);
static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2197,7 +2147,7 @@ static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char*
pathB.lineTo(427, 1081);
pathB.lineTo(-3.81469727e-06f, 1081);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filename) {
@@ -2236,7 +2186,7 @@ static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filena
pathB.quadTo(1013.13599f, 2273, 1012.06104f, 2271.53564f);
pathB.quadTo(1010.98615f, 2270.07104f, 1011.53705f, 2268);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* filename) {
@@ -2254,7 +2204,7 @@ static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* file
pathB.lineTo(22.5f, 24174.498f);
pathB.lineTo(185.5f, 24174.5f);
pathB.lineTo(185.5f, 24174.75f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char* filename) {
@@ -2282,7 +2232,7 @@ static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char*
pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
pathB.quadTo(998, 878.142151f, 998, 874);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* filename) {
@@ -2300,10 +2250,9 @@ static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* file
pathB.lineTo(22.5f, 24527.248f);
pathB.lineTo(45, 24527.25f);
pathB.lineTo(45, 24527.5f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// joinCoincidence / findT / assert
static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2329,10 +2278,9 @@ static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter,
pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f);
pathB.quadTo(998, 856.142151f, 998, 852);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
-// joinCoincidence / findT / assert
static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2358,10 +2306,9 @@ static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f
pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
pathB.quadTo(998, 878.142151f, 998, 874);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
-// cubic-cubic intersection reduce checkLinear assert
static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2657,10 +2604,9 @@ static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil
pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f, 47.4595947f);
pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f, 48.6171875f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpAngle::setSector SkASSERT(fSectorStart >= 0);
static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2681,10 +2627,9 @@ static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const
pathB.lineTo(924, 245.472672f);
pathB.lineTo(1143, 247);
pathB.lineTo(1143, 248);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// joinCoincidence / findT / assert
static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2718,10 +2663,9 @@ static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen
pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f);
pathB.quadTo(946, 910.142151f, 946, 906);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
-// !simple->isClosed()
static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2751,7 +2695,7 @@ static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons
pathB.lineTo(90, 163.666672f);
pathB.lineTo(90, 163.666672f);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
static void skpwww_wartepop_blogspot_com_br_6a(skiatest::Reporter* reporter, const char* filename) {
@@ -2783,10 +2727,9 @@ static void skpwww_wartepop_blogspot_com_br_6a(skiatest::Reporter* reporter, con
pathB.lineTo(90, 163.666672f);
pathB.lineTo(90, 163.666672f);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
-// !simple->isClosed()
static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2831,7 +2774,7 @@ static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file
pathB.lineTo(364.345337f, 754.288269f);
pathB.lineTo(352.711792f, 751.345337f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* filename) {
@@ -2867,10 +2810,9 @@ static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* fi
pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f);
pathB.quadTo(170, 1172.24268f, 170, 1171);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
-// hangs
static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2886,10 +2828,9 @@ static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const
pathB.lineTo(444.01001f, 8140);
pathB.lineTo(444, 8292);
pathB.lineTo(443, 8292);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// hangs
static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -2905,7 +2846,7 @@ static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(10105, 2509.98999f);
pathB.lineTo(10123, 2510);
pathB.lineTo(10123, 2511);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const char* filename) {
@@ -2923,7 +2864,7 @@ static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const
pathB.lineTo(429.994995f, 2187);
pathB.lineTo(430, 6268);
pathB.lineTo(430.5f, 6268);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const char* filename) {
@@ -2959,7 +2900,7 @@ static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const cha
pathB.quadTo(26.2238579f, 418, 26.0285969f, 417.75592f);
pathB.quadTo(25.833334f, 417.511841f, 25.833334f, 417.166656f);
pathB.close();
- testPathOp(reporter, path, pathB, kDifference_PathOp, filename);
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
}
static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const char* filename) {
@@ -2977,7 +2918,7 @@ static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const
pathB.lineTo(277.01001f, 7531);
pathB.lineTo(277, 9506);
pathB.lineTo(276, 9506);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter, const char* filename) {
@@ -2995,7 +2936,7 @@ static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter,
pathB.lineTo(277.01001f, 7703);
pathB.lineTo(277, 9600);
pathB.lineTo(276, 9600);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* filename) {
@@ -3013,7 +2954,7 @@ static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(958.997253f, 306.002747f);
pathB.lineTo(1017, 307);
pathB.lineTo(1019, 305);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* reporter, const char* filename) {
@@ -3031,7 +2972,7 @@ static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* repo
pathB.lineTo(47.1666679f, 19651.332f);
pathB.lineTo(65.8333359f, 19651.334f);
pathB.lineTo(65.8333359f, 19651.5f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_educationalcraft_com_4(skiatest::Reporter* reporter, const char* filename) {
@@ -3209,7 +3150,7 @@ static void skpwww_educationalcraft_com_4(skiatest::Reporter* reporter, const ch
pathB.cubicTo(980.968994f, 1478.18005f, 979.718018f, 1475.66199f, 983.632019f, 1473.87805f);
pathB.cubicTo(983.632019f, 1473.87805f, 984.229004f, 1477.80103f, 980.968994f, 1478.18005f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_narayana_publishers_com_194(skiatest::Reporter* reporter, const char* filename) {
@@ -3237,7 +3178,7 @@ static void skpwww_narayana_publishers_com_194(skiatest::Reporter* reporter, con
pathB.lineTo(1082, 440);
pathB.lineTo(1090.01001f, 448);
pathB.lineTo(1081, 448);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_cooksnaps_com_17(skiatest::Reporter* reporter, const char* filename) {
@@ -3286,7 +3227,7 @@ static void skpwww_cooksnaps_com_17(skiatest::Reporter* reporter, const char* fi
pathB.quadTo(170.696686f, 241.450104f, 158.293594f, 238.126709f);
pathB.quadTo(145.890503f, 234.803314f, 139.4702f, 223.683014f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_swapspacesystems_com_5(skiatest::Reporter* reporter, const char* filename) {
@@ -3313,7 +3254,7 @@ static void skpwww_swapspacesystems_com_5(skiatest::Reporter* reporter, const ch
pathB.lineTo(1186.5199f, 5809.85059f);
pathB.lineTo(811.648376f, 5800.03418f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_kitcheninspirations_wordpress_com_66(skiatest::Reporter* reporter, const char* filename) {
@@ -3331,7 +3272,7 @@ static void skpwww_kitcheninspirations_wordpress_com_66(skiatest::Reporter* repo
pathB.lineTo(47.1666679f, 27820.498f);
pathB.lineTo(60.8333359f, 27820.5f);
pathB.lineTo(60.8333359f, 27820.668f);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_etiqadd_com_2464(skiatest::Reporter* reporter, const char* filename) {
@@ -3358,7 +3299,7 @@ static void skpwww_etiqadd_com_2464(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(632.5f, 1309.69238f);
pathB.lineTo(623.307617f, 1300.5f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_narayana_verlag_de_194(skiatest::Reporter* reporter, const char* filename) {
@@ -3386,7 +3327,7 @@ static void skpwww_narayana_verlag_de_194(skiatest::Reporter* reporter, const ch
pathB.lineTo(1082, 508);
pathB.lineTo(1090.01001f, 516);
pathB.lineTo(1081, 516);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_americascup_com_108(skiatest::Reporter* reporter, const char* filename) {
@@ -3409,7 +3350,7 @@ static void skpwww_americascup_com_108(skiatest::Reporter* reporter, const char*
pathB.lineTo(1002.17114f, 713);
pathB.lineTo(987.171143f, 713);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_vantageproduction_com_109(skiatest::Reporter* reporter, const char* filename) {
@@ -3437,7 +3378,7 @@ static void skpwww_vantageproduction_com_109(skiatest::Reporter* reporter, const
pathB.lineTo(792, 751);
pathB.lineTo(804.01001f, 763);
pathB.lineTo(791, 763);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_aceinfographics_com_106(skiatest::Reporter* reporter, const char* filename) {
@@ -3461,7 +3402,7 @@ static void skpwww_aceinfographics_com_106(skiatest::Reporter* reporter, const c
pathB.lineTo(168.020004f, 7635.97998f);
pathB.lineTo(168, 11578);
pathB.lineTo(166, 11580);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_tcmevents_org_13(skiatest::Reporter* reporter, const char* filename) {
@@ -3488,7 +3429,7 @@ static void skpwww_tcmevents_org_13(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(468.507751f, 560.724426f);
pathB.lineTo(325.968597f, 560.475708f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_paseoitaigara_com_br_56(skiatest::Reporter* reporter, const char* filename) {
@@ -3516,7 +3457,7 @@ static void skpwww_paseoitaigara_com_br_56(skiatest::Reporter* reporter, const c
pathB.quadTo(634.389832f, 1248.24268f, 634.389832f, 1247);
pathB.quadTo(634.389832f, 1245.75732f, 635.268494f, 1244.87866f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_mortgagemarketguide_com_109(skiatest::Reporter* reporter, const char* filename) {
@@ -3544,7 +3485,7 @@ static void skpwww_mortgagemarketguide_com_109(skiatest::Reporter* reporter, con
pathB.lineTo(814, 773);
pathB.lineTo(826.01001f, 785);
pathB.lineTo(813, 785);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_9to5mac_com_64(skiatest::Reporter* reporter, const char* filename) {
@@ -3566,7 +3507,7 @@ static void skpwww_9to5mac_com_64(skiatest::Reporter* reporter, const char* file
pathB.lineTo(365.848175f, 5081.15186f);
pathB.lineTo(368, 5103);
pathB.lineTo(365, 5106);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_googleventures_com_32(skiatest::Reporter* reporter, const char* filename) {
@@ -3585,7 +3526,7 @@ static void skpwww_googleventures_com_32(skiatest::Reporter* reporter, const cha
pathB.lineTo(738.767395f, 914.088379f);
pathB.lineTo(713.055908f, 883.446594f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_devbridge_com_22(skiatest::Reporter* reporter, const char* filename) {
@@ -3613,12 +3554,7 @@ static void skpwww_devbridge_com_22(skiatest::Reporter* reporter, const char* fi
pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f);
pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590);
pathB.close();
- if (FLAGS_runFail) {
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
- } else {
- // INVESTIGATE : why this normal test takes fail case (test has never worked)
- testPathFailOp(reporter, path, pathB, kIntersect_PathOp, filename);
- }
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filename) {
@@ -3650,7 +3586,7 @@ static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(10210, 5318);
pathB.cubicTo(10210, 5316.34326f, 10211.3428f, 5315, 10213, 5315);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_familysurvivalprotocol_wordpress_com_61(skiatest::Reporter* reporter, const char* filename) {
@@ -3668,7 +3604,7 @@ static void skpwww_familysurvivalprotocol_wordpress_com_61(skiatest::Reporter* r
pathB.lineTo(143, 14555.9902f);
pathB.lineTo(165, 14556);
pathB.lineTo(165, 14557);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_firstunitedbank_com_19(skiatest::Reporter* reporter, const char* filename) {
@@ -3704,10 +3640,9 @@ static void skpwww_firstunitedbank_com_19(skiatest::Reporter* reporter, const ch
pathB.lineTo(809.5f, 11701.5f);
pathB.lineTo(1062.91907f, 11687.0811f);
pathB.lineTo(1047, 11703);
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// addSimpleAngle: failed assertion "index == count() - 2"
static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -3724,10 +3659,9 @@ static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* fi
pathB.lineTo(545.296204f, 987.615051f);
pathB.lineTo(205.884949f, 648.203796f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// addTCoincident oPeek = &other->fTs[++oPeekIndex];
static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filename) {
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
@@ -3757,7 +3691,7 @@ static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(77.6666718f, 1396.66675f);
pathB.cubicTo(77.6666718f, 1394.82568f, 79.15905f, 1393.33337f, 81, 1393.33337f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
static void skpwww_shinydemos_com_15(skiatest::Reporter* reporter, const char* filename) {
@@ -3778,14 +3712,10 @@ static void skpwww_shinydemos_com_15(skiatest::Reporter* reporter, const char* f
pathB.lineTo(545.296204f, 987.615051f);
pathB.lineTo(205.884949f, 648.203796f);
pathB.close();
- testPathOp(reporter, path, pathB, kIntersect_PathOp, filename);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
}
-// SkOpSegment.cpp:4398: failed assertion "!span->fDone"
static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filename) {
- if (/* 0 && */ !FLAGS_runFail) { // has never worked MUST BE FIXED BEFORE NEXT CHECKIN
- return;
- }
SkPath path;
path.setFillType(SkPath::kEvenOdd_FillType);
path.moveTo(78.6429825f, 3150.97632f);
@@ -3814,12 +3744,36 @@ static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filena
pathB.lineTo(77.6666718f, 3153.3335f);
pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150);
pathB.close();
- testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_runFail);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
+}
+
+static void skpwww_educationalcraft_com_4a(skiatest::Reporter* reporter, const char* filename) {
+ SkPath path;
+ path.setFillType(SkPath::kEvenOdd_FillType);
+ path.moveTo(941, 1494);
+ path.lineTo(941, 1464);
+ path.lineTo(985, 1464);
+ path.lineTo(985, 1494);
+ path.lineTo(941, 1494);
+ path.close();
+ SkPath pathB;
+ pathB.setFillType(SkPath::kWinding_FillType);
+
+pathB.moveTo(984.546021f, 1478.31494f);
+pathB.cubicTo(984.546021f, 1478.31494f, 984.543213f, 1478.32239f, 984.537598f, 1478.33655f);
+pathB.cubicTo(984.419006f, 1478.63477f, 983.044373f, 1481.90405f, 980.026001f, 1481.276f);
+pathB.cubicTo(980.026001f, 1481.276f, 980.02594f, 1481.27576f, 980.025879f, 1481.27527f);
+pathB.cubicTo(980.018494f, 1481.22131f, 979.602478f, 1478.38831f, 984.546021f, 1478.31494f);
+ testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
+
}
+static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
+static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
static struct TestDesc tests[] = {
+ TEST(skpwww_educationalcraft_com_4a),
TEST(skpwww_lptemp_com_3),
TEST(skpwww_shinydemos_com_5),
TEST(skpwww_lptemp_com_5),
@@ -3939,11 +3893,10 @@ static struct TestDesc tests[] = {
static const size_t testCount = SK_ARRAY_COUNT(tests);
static bool runReverse = false;
-static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
DEF_TEST(PathOpsSkp, reporter) {
#if DEBUG_SHOW_TEST_NAME
strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
#endif
- RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse);
+ RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runReverse);
}