| 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 #define TEST(name) { name, #name } | 9 #define TEST(name) { name, #name } |
| 10 | 10 |
| (...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 889 path.close(); | 889 path.close(); |
| 890 SkPath pathB; | 890 SkPath pathB; |
| 891 pathB.setFillType(SkPath::kWinding_FillType); | 891 pathB.setFillType(SkPath::kWinding_FillType); |
| 892 pathB.moveTo(405.592621f, 909.435547f); | 892 pathB.moveTo(405.592621f, 909.435547f); |
| 893 pathB.lineTo(390.578583f, 867.014099f); | 893 pathB.lineTo(390.578583f, 867.014099f); |
| 894 pathB.lineTo(433, 852.000061f); | 894 pathB.lineTo(433, 852.000061f); |
| 895 pathB.lineTo(490.435486f, 879.40741f); | 895 pathB.lineTo(490.435486f, 879.40741f); |
| 896 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 896 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 897 } | 897 } |
| 898 | 898 |
| 899 /* this cubic/quad pair | |
| 900 c = 430,280 430,278.895416 473.876068,278 528,278 | |
| 901 q = 430,280 430.009796,277.101196 458.703552,275.050262 | |
| 902 only intersect at the shared point (430,280) | |
| 903 they sort backwards because the tangent from pt[0] to control pt[1] | |
| 904 c' = (0.00000000000000000, -1.1045837402343750) | |
| 905 q' = (0.0097961425781250000, -2.8988037109375000) | |
| 906 suggests that the quad is counterclockwise of the cubic, when the reverse is tr
ue | |
| 907 the angle code is fooled because the control pt[1] of both the quad and cubic | |
| 908 is far away from cubic cntl [2] and quad pt [2]. | |
| 909 Maybe in angle setup, this instability can be detected to suppress sorting on t
he initial tangent | |
| 910 Or the error term can be passed to NearRay that is magnified by the distance fr
om the next ctrl? | |
| 911 */ | |
| 912 static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename)
{ | 899 static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename)
{ |
| 913 SkPath path; | 900 SkPath path; |
| 914 path.setFillType(SkPath::kEvenOdd_FillType); | 901 path.setFillType(SkPath::kEvenOdd_FillType); |
| 915 path.moveTo(458.703552f, 275.050262f); | 902 path.moveTo(458.703552f, 275.050262f); |
| 916 path.quadTo(487.41687f, 273.000702f, 528, 273); | 903 path.quadTo(487.41687f, 273.000702f, 528, 273); |
| 917 path.lineTo(529, 273); | 904 path.lineTo(529, 273); |
| 918 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); | 905 path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); |
| 919 path.quadTo(531.999695f, 274.75766f, 532, 276); | 906 path.quadTo(531.999695f, 274.75766f, 532, 276); |
| 920 path.lineTo(532, 378); | 907 path.lineTo(532, 378); |
| 921 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); | 908 path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 934 pathB.lineTo(532, 378); | 921 pathB.lineTo(532, 378); |
| 935 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); | 922 pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); |
| 936 pathB.lineTo(433, 380); | 923 pathB.lineTo(433, 380); |
| 937 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); | 924 pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); |
| 938 pathB.lineTo(430, 280); | 925 pathB.lineTo(430, 280); |
| 939 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); | 926 pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); |
| 940 pathB.close(); | 927 pathB.close(); |
| 941 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 928 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 942 } | 929 } |
| 943 | 930 |
| 944 /* didn't investigate thoroughly, but looks to be missorting quad and cubic | |
| 945 {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}} | |
| 946 {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676},
{468.507751,560.724426}} | |
| 947 decision maker is case 14 leftLessThanRight | |
| 948 */ | |
| 949 static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam
e) { | 931 static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filenam
e) { |
| 950 SkPath path; | 932 SkPath path; |
| 951 path.setFillType(SkPath::kEvenOdd_FillType); | 933 path.setFillType(SkPath::kEvenOdd_FillType); |
| 952 path.moveTo(465.503998f, 546); | 934 path.moveTo(465.503998f, 546); |
| 953 path.lineTo(347, 546); | 935 path.lineTo(347, 546); |
| 954 path.lineTo(347, 632); | 936 path.lineTo(347, 632); |
| 955 path.lineTo(469.104248f, 632); | 937 path.lineTo(469.104248f, 632); |
| 956 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); | 938 path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); |
| 957 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); | 939 path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); |
| 958 path.lineTo(468.507751f, 560.724426f); | 940 path.lineTo(468.507751f, 560.724426f); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1072 pathB.moveTo(154, 671); | 1054 pathB.moveTo(154, 671); |
| 1073 pathB.lineTo(188, 671); | 1055 pathB.lineTo(188, 671); |
| 1074 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); | 1056 pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); |
| 1075 pathB.lineTo(193, 710); | 1057 pathB.lineTo(193, 710); |
| 1076 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); | 1058 pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); |
| 1077 pathB.lineTo(154, 715); | 1059 pathB.lineTo(154, 715); |
| 1078 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); | 1060 pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); |
| 1079 pathB.lineTo(149, 675); | 1061 pathB.lineTo(149, 675); |
| 1080 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); | 1062 pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); |
| 1081 pathB.close(); | 1063 pathB.close(); |
| 1082 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1064 testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_ru
nFail); |
| 1083 } | 1065 } |
| 1084 | 1066 |
| 1085 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi
lename) { | 1067 static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1086 SkPath path; | 1068 SkPath path; |
| 1087 path.setFillType(SkPath::kEvenOdd_FillType); | 1069 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1088 path.moveTo(50, 182); | 1070 path.moveTo(50, 182); |
| 1089 path.lineTo(1215, 182); | 1071 path.lineTo(1215, 182); |
| 1090 path.lineTo(1215, 202); | 1072 path.lineTo(1215, 202); |
| 1091 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); | 1073 path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); |
| 1092 path.quadTo(1212.07056f, 206.999496f, 1210, 207); | 1074 path.quadTo(1212.07056f, 206.999496f, 1210, 207); |
| 1093 path.lineTo(55, 207); | 1075 path.lineTo(55, 207); |
| 1094 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); | 1076 path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); |
| 1095 path.quadTo(50.0004997f, 204.070572f, 50, 202); | 1077 path.quadTo(50.0004997f, 204.070572f, 50, 202); |
| 1096 path.lineTo(50, 182); | 1078 path.lineTo(50, 182); |
| 1097 path.close(); | 1079 path.close(); |
| 1098 SkPath pathB; | 1080 SkPath pathB; |
| 1099 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1081 pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1100 pathB.moveTo(50, 183); | 1082 pathB.moveTo(50, 183); |
| 1101 pathB.lineTo(1215, 183); | 1083 pathB.lineTo(1215, 183); |
| 1102 pathB.lineTo(1215, 202); | 1084 pathB.lineTo(1215, 202); |
| 1103 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); | 1085 pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); |
| 1104 pathB.lineTo(55, 207); | 1086 pathB.lineTo(55, 207); |
| 1105 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); | 1087 pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); |
| 1106 pathB.lineTo(50, 183); | 1088 pathB.lineTo(50, 183); |
| 1107 pathB.close(); | 1089 pathB.close(); |
| 1090 // FIXME: this generates quads and cubics that are (correctly) not coinciden
t unlike the old code |
| 1091 // however, somewhere the angles are sorted incorrectly and the winding is c
omputed to be -1/-2 |
| 1092 // but I can't find the error |
| 1108 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1093 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1109 } | 1094 } |
| 1110 | 1095 |
| 1111 /* cubic ends just above opp line */ | |
| 1112 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam
e) { | 1096 static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filenam
e) { |
| 1113 SkPath path; | 1097 SkPath path; |
| 1114 path.setFillType(SkPath::kEvenOdd_FillType); | 1098 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1115 path.moveTo(172, 201); | 1099 path.moveTo(172, 201); |
| 1116 path.lineTo(172, 202); | 1100 path.lineTo(172, 202); |
| 1117 path.lineTo(220, 202); | 1101 path.lineTo(220, 202); |
| 1118 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); | 1102 path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); |
| 1119 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); | 1103 path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); |
| 1120 path.lineTo(172, 201); | 1104 path.lineTo(172, 201); |
| 1121 path.close(); | 1105 path.close(); |
| 1122 SkPath pathB; | 1106 SkPath pathB; |
| 1123 pathB.setFillType(SkPath::kWinding_FillType); | 1107 pathB.setFillType(SkPath::kWinding_FillType); |
| 1124 pathB.moveTo(161, 202); | 1108 pathB.moveTo(161, 202); |
| 1125 pathB.lineTo(161, 199); | 1109 pathB.lineTo(161, 199); |
| 1126 pathB.lineTo(223, 199.000015f); | 1110 pathB.lineTo(223, 199.000015f); |
| 1127 pathB.lineTo(223, 202); | 1111 pathB.lineTo(223, 202); |
| 1128 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1112 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1129 } | 1113 } |
| 1130 | 1114 |
| 1131 // pair of lines are not quite coincident, so sorting line/cubic fails (i think) | |
| 1132 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char*
filename) { | 1115 static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char*
filename) { |
| 1133 SkPath path; | 1116 SkPath path; |
| 1134 path.setFillType(SkPath::kEvenOdd_FillType); | 1117 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1135 path.moveTo(806, 57); | 1118 path.moveTo(806, 57); |
| 1136 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); | 1119 path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); |
| 1137 path.lineTo(930, 54); | 1120 path.lineTo(930, 54); |
| 1138 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); | 1121 path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); |
| 1139 path.lineTo(933, 91); | 1122 path.lineTo(933, 91); |
| 1140 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); | 1123 path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); |
| 1141 path.lineTo(809, 94); | 1124 path.lineTo(809, 94); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1154 path.close(); | 1137 path.close(); |
| 1155 SkPath pathB; | 1138 SkPath pathB; |
| 1156 pathB.setFillType(SkPath::kWinding_FillType); | 1139 pathB.setFillType(SkPath::kWinding_FillType); |
| 1157 pathB.moveTo(806, 54); | 1140 pathB.moveTo(806, 54); |
| 1158 pathB.lineTo(808, 56); | 1141 pathB.lineTo(808, 56); |
| 1159 pathB.lineTo(935.02002f, 56.0200005f); | 1142 pathB.lineTo(935.02002f, 56.0200005f); |
| 1160 pathB.lineTo(933, 54); | 1143 pathB.lineTo(933, 54); |
| 1161 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1144 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1162 } | 1145 } |
| 1163 | 1146 |
| 1164 // pair of curves have nearly the same initial tangent but are sorting by | |
| 1165 // that alone sorts them incorrectly. Need to detect that tangents are nearly | |
| 1166 // identical and not reliable by themselves | |
| 1167 static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) { | 1147 static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) { |
| 1168 SkPath path; | 1148 SkPath path; |
| 1169 path.setFillType(SkPath::kEvenOdd_FillType); | 1149 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1170 path.moveTo(173, 5342); | 1150 path.moveTo(173, 5342); |
| 1171 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); | 1151 path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); |
| 1172 path.quadTo(169.000397f, 5344.34375f, 169, 5346); | 1152 path.quadTo(169.000397f, 5344.34375f, 169, 5346); |
| 1173 path.lineTo(169, 5372); | 1153 path.lineTo(169, 5372); |
| 1174 path.lineTo(234, 5372); | 1154 path.lineTo(234, 5372); |
| 1175 path.lineTo(234, 5346); | 1155 path.lineTo(234, 5346); |
| 1176 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); | 1156 path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); |
| 1177 path.quadTo(231.656464f, 5342.00049f, 230, 5342); | 1157 path.quadTo(231.656464f, 5342.00049f, 230, 5342); |
| 1178 path.lineTo(173, 5342); | 1158 path.lineTo(173, 5342); |
| 1179 path.close(); | 1159 path.close(); |
| 1180 SkPath pathB; | 1160 SkPath pathB; |
| 1181 pathB.setFillType(SkPath::kInverseWinding_FillType); | 1161 pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1182 pathB.moveTo(173, 5342); | 1162 pathB.moveTo(173, 5342); |
| 1183 pathB.lineTo(230, 5342); | 1163 pathB.lineTo(230, 5342); |
| 1184 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); | 1164 pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); |
| 1185 pathB.lineTo(233, 5372); | 1165 pathB.lineTo(233, 5372); |
| 1186 pathB.lineTo(169, 5372); | 1166 pathB.lineTo(169, 5372); |
| 1187 pathB.lineTo(169, 5346); | 1167 pathB.lineTo(169, 5346); |
| 1188 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); | 1168 pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); |
| 1189 pathB.close(); | 1169 pathB.close(); |
| 1190 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1170 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1191 } | 1171 } |
| 1192 | 1172 |
| 1193 // nearly identical to lavoixdunord -- to not-quite-coincident lines | |
| 1194 static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file
name) { | 1173 static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* file
name) { |
| 1195 SkPath path; | 1174 SkPath path; |
| 1196 path.setFillType(SkPath::kEvenOdd_FillType); | 1175 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1197 path.moveTo(90, 187); | 1176 path.moveTo(90, 187); |
| 1198 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); | 1177 path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); |
| 1199 path.lineTo(588, 184); | 1178 path.lineTo(588, 184); |
| 1200 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); | 1179 path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); |
| 1201 path.lineTo(591, 218); | 1180 path.lineTo(591, 218); |
| 1202 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); | 1181 path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); |
| 1203 path.lineTo(93, 221); | 1182 path.lineTo(93, 221); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1216 path.close(); | 1195 path.close(); |
| 1217 SkPath pathB; | 1196 SkPath pathB; |
| 1218 pathB.setFillType(SkPath::kWinding_FillType); | 1197 pathB.setFillType(SkPath::kWinding_FillType); |
| 1219 pathB.moveTo(90, 184); | 1198 pathB.moveTo(90, 184); |
| 1220 pathB.lineTo(92, 186); | 1199 pathB.lineTo(92, 186); |
| 1221 pathB.lineTo(593.02002f, 186.020004f); | 1200 pathB.lineTo(593.02002f, 186.020004f); |
| 1222 pathB.lineTo(591, 184); | 1201 pathB.lineTo(591, 184); |
| 1223 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1202 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1224 } | 1203 } |
| 1225 | 1204 |
| 1226 // visually looks like lavoixdunord and www_booking_com | |
| 1227 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char*
filename) { | 1205 static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char*
filename) { |
| 1228 SkPath path; | 1206 SkPath path; |
| 1229 path.setFillType(SkPath::kEvenOdd_FillType); | 1207 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1230 path.moveTo(635, 1788); | 1208 path.moveTo(635, 1788); |
| 1231 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); | 1209 path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); |
| 1232 path.lineTo(832, 1785); | 1210 path.lineTo(832, 1785); |
| 1233 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); | 1211 path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); |
| 1234 path.lineTo(835, 1812); | 1212 path.lineTo(835, 1812); |
| 1235 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); | 1213 path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); |
| 1236 path.lineTo(638, 1815); | 1214 path.lineTo(638, 1815); |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1576 pathB.lineTo(320, 165); | 1554 pathB.lineTo(320, 165); |
| 1577 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); | 1555 pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); |
| 1578 pathB.lineTo(323, 192); | 1556 pathB.lineTo(323, 192); |
| 1579 pathB.lineTo(-317, 192); | 1557 pathB.lineTo(-317, 192); |
| 1580 pathB.lineTo(-317, 168); | 1558 pathB.lineTo(-317, 168); |
| 1581 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); | 1559 pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); |
| 1582 pathB.close(); | 1560 pathB.close(); |
| 1583 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1561 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1584 } | 1562 } |
| 1585 | 1563 |
| 1586 /* Three edges are partially coincident. Only one of the three knows about the o
ther two. | |
| 1587 Subsequently, when the angle loop is created, it misses one of the edges. | |
| 1588 After coincident edges are processed, probably need a check-and-correct that
makes sure the | |
| 1589 coincidences are all self-consistent. | |
| 1590 */ | |
| 1591 static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename)
{ | 1564 static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename)
{ |
| 1592 SkPath path; | 1565 SkPath path; |
| 1593 path.setFillType(SkPath::kEvenOdd_FillType); | 1566 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1594 path.moveTo(183, 8507); | 1567 path.moveTo(183, 8507); |
| 1595 path.lineTo(552, 8506.99023f); | 1568 path.lineTo(552, 8506.99023f); |
| 1596 path.lineTo(552, 8508); | 1569 path.lineTo(552, 8508); |
| 1597 path.lineTo(183, 8508); | 1570 path.lineTo(183, 8508); |
| 1598 path.lineTo(183, 8507); | 1571 path.lineTo(183, 8507); |
| 1599 path.close(); | 1572 path.close(); |
| 1600 SkPath pathB; | 1573 SkPath pathB; |
| 1601 pathB.setFillType(SkPath::kWinding_FillType); | 1574 pathB.setFillType(SkPath::kWinding_FillType); |
| 1602 pathB.moveTo(183, 8508); | 1575 pathB.moveTo(183, 8508); |
| 1603 pathB.lineTo(183, 8506.99023f); | 1576 pathB.lineTo(183, 8506.99023f); |
| 1604 pathB.lineTo(552, 8507); | 1577 pathB.lineTo(552, 8507); |
| 1605 pathB.lineTo(552, 8508); | 1578 pathB.lineTo(552, 8508); |
| 1606 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1579 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1607 } | 1580 } |
| 1608 | 1581 |
| 1609 /* this generates a pair of lines that are essentially coincident; but the next
line at a right | |
| 1610 angle is not treated as if it intersects at the same point. | |
| 1611 There are several of options: | |
| 1612 move the intersection of the right angle line to the coincident point (shou
ld 'near' do this? | |
| 1613 construct another coincident pair from the right angle line to the coincide
nt point | |
| 1614 treat the intersection as simple and not coincident | |
| 1615 */ | |
| 1616 static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filen
ame) { | 1582 static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filen
ame) { |
| 1617 SkPath path; | 1583 SkPath path; |
| 1618 path.setFillType(SkPath::kEvenOdd_FillType); | 1584 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1619 path.moveTo(140, 1000); | 1585 path.moveTo(140, 1000); |
| 1620 path.lineTo(140, 842); | 1586 path.lineTo(140, 842); |
| 1621 path.lineTo(141, 842); | 1587 path.lineTo(141, 842); |
| 1622 path.lineTo(141.14502f, 1000); | 1588 path.lineTo(141.14502f, 1000); |
| 1623 path.lineTo(140, 1000); | 1589 path.lineTo(140, 1000); |
| 1624 path.close(); | 1590 path.close(); |
| 1625 SkPath pathB; | 1591 SkPath pathB; |
| 1626 pathB.setFillType(SkPath::kWinding_FillType); | 1592 pathB.setFillType(SkPath::kWinding_FillType); |
| 1627 pathB.moveTo(140, 842); | 1593 pathB.moveTo(140, 842); |
| 1628 pathB.lineTo(141.008835f, 837.9646f); | 1594 pathB.lineTo(141.008835f, 837.9646f); |
| 1629 pathB.lineTo(141.235291f, 1109.05884f); | 1595 pathB.lineTo(141.235291f, 1109.05884f); |
| 1630 pathB.lineTo(140, 1114); | 1596 pathB.lineTo(140, 1114); |
| 1631 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1597 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1632 } | 1598 } |
| 1633 | 1599 |
| 1634 // fails on angle insert -- haven't investigated yet | |
| 1635 static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil
ename) { | 1600 static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* fil
ename) { |
| 1636 SkPath path; | 1601 SkPath path; |
| 1637 path.setFillType(SkPath::kEvenOdd_FillType); | 1602 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1638 path.moveTo(134.34314f, 9802.34277f); | 1603 path.moveTo(134.34314f, 9802.34277f); |
| 1639 path.quadTo(132, 9804.68652f, 132, 9808); | 1604 path.quadTo(132, 9804.68652f, 132, 9808); |
| 1640 path.lineTo(132, 9822); | 1605 path.lineTo(132, 9822); |
| 1641 path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f); | 1606 path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f); |
| 1642 path.quadTo(136.686295f, 9830, 140, 9830); | 1607 path.quadTo(136.686295f, 9830, 140, 9830); |
| 1643 path.lineTo(140.028473f, 9830); | 1608 path.lineTo(140.028473f, 9830); |
| 1644 path.lineTo(139.877213f, 9828.90723f); | 1609 path.lineTo(139.877213f, 9828.90723f); |
| 1645 path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f); | 1610 path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f); |
| 1646 path.quadTo(134, 9824.31348f, 134, 9821); | 1611 path.quadTo(134, 9824.31348f, 134, 9821); |
| 1647 path.lineTo(134, 9809); | 1612 path.lineTo(134, 9809); |
| 1648 path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f); | 1613 path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f); |
| 1649 path.lineTo(134.34314f, 9802.34277f); | 1614 path.lineTo(134.34314f, 9802.34277f); |
| 1650 path.close(); | 1615 path.close(); |
| 1651 SkPath pathB; | 1616 SkPath pathB; |
| 1652 pathB.setFillType(SkPath::kWinding_FillType); | 1617 pathB.setFillType(SkPath::kWinding_FillType); |
| 1653 pathB.moveTo(132, 9800); | 1618 pathB.moveTo(132, 9800); |
| 1654 pathB.lineTo(135.962357f, 9800); | 1619 pathB.lineTo(135.962357f, 9800); |
| 1655 pathB.lineTo(140, 9830); | 1620 pathB.lineTo(140, 9830); |
| 1656 pathB.lineTo(132, 9830); | 1621 pathB.lineTo(132, 9830); |
| 1657 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1622 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1658 } | 1623 } |
| 1659 | 1624 |
| 1660 /* asserts in alignSpanState looks like a coincident related bug */ | |
| 1661 static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file
name) { | 1625 static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* file
name) { |
| 1662 SkPath path; | 1626 SkPath path; |
| 1663 path.setFillType(SkPath::kEvenOdd_FillType); | 1627 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1664 path.moveTo(817.464478f, 11.4644661f); | 1628 path.moveTo(817.464478f, 11.4644661f); |
| 1665 path.quadTo(818.928955f, 10, 821, 10); | 1629 path.quadTo(818.928955f, 10, 821, 10); |
| 1666 path.lineTo(998, 10); | 1630 path.lineTo(998, 10); |
| 1667 path.quadTo(999.082947f, 10, 1000, 10.4003992f); | 1631 path.quadTo(999.082947f, 10, 1000, 10.4003992f); |
| 1668 path.lineTo(1000, 13.3527431f); | 1632 path.lineTo(1000, 13.3527431f); |
| 1669 path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f); | 1633 path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f); |
| 1670 path.quadTo(998.65686f, 12, 997, 12); | 1634 path.quadTo(998.65686f, 12, 997, 12); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1687 path.close(); | 1651 path.close(); |
| 1688 SkPath pathB; | 1652 SkPath pathB; |
| 1689 pathB.setFillType(SkPath::kWinding_FillType); | 1653 pathB.setFillType(SkPath::kWinding_FillType); |
| 1690 pathB.moveTo(1003, 10); | 1654 pathB.moveTo(1003, 10); |
| 1691 pathB.lineTo(1000, 13); | 1655 pathB.lineTo(1000, 13); |
| 1692 pathB.lineTo(999.969971f, 37.0299988f); | 1656 pathB.lineTo(999.969971f, 37.0299988f); |
| 1693 pathB.lineTo(1003, 34); | 1657 pathB.lineTo(1003, 34); |
| 1694 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1658 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1695 } | 1659 } |
| 1696 | 1660 |
| 1697 // fails on angle insert | |
| 1698 static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi
lename) { | 1661 static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1699 SkPath path; | 1662 SkPath path; |
| 1700 path.setFillType(SkPath::kEvenOdd_FillType); | 1663 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1701 path.moveTo(966.464478f, 4261.46436f); | 1664 path.moveTo(966.464478f, 4261.46436f); |
| 1702 path.quadTo(965, 4262.92871f, 965, 4265); | 1665 path.quadTo(965, 4262.92871f, 965, 4265); |
| 1703 path.lineTo(965, 4276); | 1666 path.lineTo(965, 4276); |
| 1704 path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f); | 1667 path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f); |
| 1705 path.quadTo(967.928955f, 4281, 970, 4281); | 1668 path.quadTo(967.928955f, 4281, 970, 4281); |
| 1706 path.lineTo(970.020325f, 4281); | 1669 path.lineTo(970.020325f, 4281); |
| 1707 path.lineTo(969.887512f, 4279.81641f); | 1670 path.lineTo(969.887512f, 4279.81641f); |
| 1708 path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f); | 1671 path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f); |
| 1709 path.quadTo(967, 4277.07129f, 967, 4275); | 1672 path.quadTo(967, 4277.07129f, 967, 4275); |
| 1710 path.lineTo(967, 4266); | 1673 path.lineTo(967, 4266); |
| 1711 path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f); | 1674 path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f); |
| 1712 path.lineTo(968, 4263); | 1675 path.lineTo(968, 4263); |
| 1713 path.lineTo(966.464478f, 4261.46436f); | 1676 path.lineTo(966.464478f, 4261.46436f); |
| 1714 path.close(); | 1677 path.close(); |
| 1715 SkPath pathB; | 1678 SkPath pathB; |
| 1716 pathB.setFillType(SkPath::kWinding_FillType); | 1679 pathB.setFillType(SkPath::kWinding_FillType); |
| 1717 pathB.moveTo(965, 4260); | 1680 pathB.moveTo(965, 4260); |
| 1718 pathB.lineTo(967.716675f, 4260); | 1681 pathB.lineTo(967.716675f, 4260); |
| 1719 pathB.lineTo(970, 4281); | 1682 pathB.lineTo(970, 4281); |
| 1720 pathB.lineTo(965, 4281); | 1683 pathB.lineTo(965, 4281); |
| 1721 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1684 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1722 } | 1685 } |
| 1723 | 1686 |
| 1724 // fails in intersections insert | |
| 1725 static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha
r* filename) { | 1687 static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const cha
r* filename) { |
| 1726 SkPath path; | 1688 SkPath path; |
| 1727 path.setFillType(SkPath::kEvenOdd_FillType); | 1689 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1728 path.moveTo(991.633911f, 1839); | 1690 path.moveTo(991.633911f, 1839); |
| 1729 path.lineTo(964.265015f, 1839); | 1691 path.lineTo(964.265015f, 1839); |
| 1730 path.lineTo(963.734985f, 1893.73242f); | 1692 path.lineTo(963.734985f, 1893.73242f); |
| 1731 path.lineTo(991.3703f, 1894); | 1693 path.lineTo(991.3703f, 1894); |
| 1732 path.lineTo(1018.23492f, 1894); | 1694 path.lineTo(1018.23492f, 1894); |
| 1733 path.lineTo(1018.76501f, 1839.2627f); | 1695 path.lineTo(1018.76501f, 1839.2627f); |
| 1734 path.lineTo(991.638184f, 1839); | 1696 path.lineTo(991.638184f, 1839); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1759 path.close(); | 1721 path.close(); |
| 1760 SkPath pathB; | 1722 SkPath pathB; |
| 1761 pathB.setFillType(SkPath::kWinding_FillType); | 1723 pathB.setFillType(SkPath::kWinding_FillType); |
| 1762 pathB.moveTo(1131, 1163); | 1724 pathB.moveTo(1131, 1163); |
| 1763 pathB.lineTo(-43515.8555f, -177415.594f); | 1725 pathB.lineTo(-43515.8555f, -177415.594f); |
| 1764 pathB.lineTo(1129.76465f, 1173.05884f); | 1726 pathB.lineTo(1129.76465f, 1173.05884f); |
| 1765 pathB.lineTo(1131, 1178); | 1727 pathB.lineTo(1131, 1178); |
| 1766 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1728 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1767 } | 1729 } |
| 1768 | 1730 |
| 1769 // /SkOpContour.cpp:278: failed assertion "!approximately_negative(oEndT - oStar
tT) | |
| 1770 static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char
* filename) { | 1731 static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char
* filename) { |
| 1771 SkPath path; | 1732 SkPath path; |
| 1772 path.setFillType(SkPath::kEvenOdd_FillType); | 1733 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1773 path.moveTo(143.292892f, 0.707106769f); | 1734 path.moveTo(143.292892f, 0.707106769f); |
| 1774 path.quadTo(143, 0.414213538f, 143, 0); | 1735 path.quadTo(143, 0.414213538f, 143, 0); |
| 1775 path.lineTo(1123, 0); | 1736 path.lineTo(1123, 0); |
| 1776 path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f); | 1737 path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f); |
| 1777 path.quadTo(1122.41418f, 1, 1122, 1); | 1738 path.quadTo(1122.41418f, 1, 1122, 1); |
| 1778 path.lineTo(144, 1); | 1739 path.lineTo(144, 1); |
| 1779 path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f); | 1740 path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f); |
| 1780 path.close(); | 1741 path.close(); |
| 1781 SkPath pathB; | 1742 SkPath pathB; |
| 1782 pathB.setFillType(SkPath::kWinding_FillType); | 1743 pathB.setFillType(SkPath::kWinding_FillType); |
| 1783 pathB.moveTo(143, 1); | 1744 pathB.moveTo(143, 1); |
| 1784 pathB.lineTo(144, 0); | 1745 pathB.lineTo(144, 0); |
| 1785 pathB.lineTo(1122, 0); | 1746 pathB.lineTo(1122, 0); |
| 1786 pathB.lineTo(1123, 1); | 1747 pathB.lineTo(1123, 1); |
| 1787 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1748 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1788 } | 1749 } |
| 1789 | 1750 |
| 1790 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue); | |
| 1791 static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons
t char* filename) { | 1751 static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons
t char* filename) { |
| 1792 SkPath path; | 1752 SkPath path; |
| 1793 path.setFillType(SkPath::kEvenOdd_FillType); | 1753 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1794 path.moveTo(741, 9432); | 1754 path.moveTo(741, 9432); |
| 1795 path.lineTo(761, 9431.99023f); | 1755 path.lineTo(761, 9431.99023f); |
| 1796 path.lineTo(761, 9433); | 1756 path.lineTo(761, 9433); |
| 1797 path.lineTo(741, 9433); | 1757 path.lineTo(741, 9433); |
| 1798 path.lineTo(741, 9432); | 1758 path.lineTo(741, 9432); |
| 1799 path.close(); | 1759 path.close(); |
| 1800 SkPath pathB; | 1760 SkPath pathB; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1818 SkPath pathB; | 1778 SkPath pathB; |
| 1819 pathB.setFillType(SkPath::kWinding_FillType); | 1779 pathB.setFillType(SkPath::kWinding_FillType); |
| 1820 pathB.moveTo(165, 343.000031f); | 1780 pathB.moveTo(165, 343.000031f); |
| 1821 pathB.lineTo(1000, 343.000031f); | 1781 pathB.lineTo(1000, 343.000031f); |
| 1822 pathB.lineTo(1000, 364.869904f); | 1782 pathB.lineTo(1000, 364.869904f); |
| 1823 pathB.lineTo(165, 364.869904f); | 1783 pathB.lineTo(165, 364.869904f); |
| 1824 pathB.close(); | 1784 pathB.close(); |
| 1825 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1785 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1826 } | 1786 } |
| 1827 | 1787 |
| 1828 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue); | |
| 1829 static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi
lename) { | 1788 static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1830 SkPath path; | 1789 SkPath path; |
| 1831 path.setFillType(SkPath::kEvenOdd_FillType); | 1790 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1832 path.moveTo(838, 9125); | 1791 path.moveTo(838, 9125); |
| 1833 path.lineTo(862, 9124.99023f); | 1792 path.lineTo(862, 9124.99023f); |
| 1834 path.lineTo(862, 9126); | 1793 path.lineTo(862, 9126); |
| 1835 path.lineTo(838, 9126); | 1794 path.lineTo(838, 9126); |
| 1836 path.lineTo(838, 9125); | 1795 path.lineTo(838, 9125); |
| 1837 path.close(); | 1796 path.close(); |
| 1838 SkPath pathB; | 1797 SkPath pathB; |
| 1839 pathB.setFillType(SkPath::kWinding_FillType); | 1798 pathB.setFillType(SkPath::kWinding_FillType); |
| 1840 pathB.moveTo(838, 9126); | 1799 pathB.moveTo(838, 9126); |
| 1841 pathB.lineTo(838, 9124.99023f); | 1800 pathB.lineTo(838, 9124.99023f); |
| 1842 pathB.lineTo(862, 9125); | 1801 pathB.lineTo(862, 9125); |
| 1843 pathB.lineTo(862, 9126); | 1802 pathB.lineTo(862, 9126); |
| 1844 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1803 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1845 } | 1804 } |
| 1846 | 1805 |
| 1847 // debugValidateLoop loop sum fails | |
| 1848 static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi
lename) { | 1806 static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1849 SkPath path; | 1807 SkPath path; |
| 1850 path.setFillType(SkPath::kEvenOdd_FillType); | 1808 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1851 path.moveTo(143, 9075); | 1809 path.moveTo(143, 9075); |
| 1852 path.lineTo(316, 9075); | 1810 path.lineTo(316, 9075); |
| 1853 path.lineTo(316, 9073.99023f); | 1811 path.lineTo(316, 9073.99023f); |
| 1854 path.lineTo(143, 9074); | 1812 path.lineTo(143, 9074); |
| 1855 path.lineTo(143, 9075); | 1813 path.lineTo(143, 9075); |
| 1856 path.close(); | 1814 path.close(); |
| 1857 SkPath pathB; | 1815 SkPath pathB; |
| 1858 pathB.setFillType(SkPath::kWinding_FillType); | 1816 pathB.setFillType(SkPath::kWinding_FillType); |
| 1859 pathB.moveTo(143, 9075); | 1817 pathB.moveTo(143, 9075); |
| 1860 pathB.lineTo(143, 9073.99023f); | 1818 pathB.lineTo(143, 9073.99023f); |
| 1861 pathB.lineTo(316, 9074); | 1819 pathB.lineTo(316, 9074); |
| 1862 pathB.lineTo(316, 9075); | 1820 pathB.lineTo(316, 9075); |
| 1863 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1821 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1864 } | 1822 } |
| 1865 | 1823 |
| 1866 // debugValidateLoop loop sum fails | |
| 1867 static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi
lename) { | 1824 static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1868 SkPath path; | 1825 SkPath path; |
| 1869 path.setFillType(SkPath::kEvenOdd_FillType); | 1826 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1870 path.moveTo(541.5f, 4835.99512f); | 1827 path.moveTo(541.5f, 4835.99512f); |
| 1871 path.lineTo(91.5f, 4836); | 1828 path.lineTo(91.5f, 4836); |
| 1872 path.lineTo(91.5f, 4836.5f); | 1829 path.lineTo(91.5f, 4836.5f); |
| 1873 path.lineTo(541.5f, 4836.5f); | 1830 path.lineTo(541.5f, 4836.5f); |
| 1874 path.lineTo(541.5f, 4835.99512f); | 1831 path.lineTo(541.5f, 4835.99512f); |
| 1875 path.close(); | 1832 path.close(); |
| 1876 SkPath pathB; | 1833 SkPath pathB; |
| 1877 pathB.setFillType(SkPath::kWinding_FillType); | 1834 pathB.setFillType(SkPath::kWinding_FillType); |
| 1878 pathB.moveTo(91.5f, 4836.5f); | 1835 pathB.moveTo(91.5f, 4836.5f); |
| 1879 pathB.lineTo(91.5f, 4835.99512f); | 1836 pathB.lineTo(91.5f, 4835.99512f); |
| 1880 pathB.lineTo(541.5f, 4836); | 1837 pathB.lineTo(541.5f, 4836); |
| 1881 pathB.lineTo(541.5f, 4836.5f); | 1838 pathB.lineTo(541.5f, 4836.5f); |
| 1882 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1839 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1883 } | 1840 } |
| 1884 | 1841 |
| 1885 // SkIntersections::lineVertical fUsed >= fMax | |
| 1886 static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file
name) { | 1842 static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file
name) { |
| 1887 SkPath path; | 1843 SkPath path; |
| 1888 path.setFillType(SkPath::kEvenOdd_FillType); | 1844 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1889 path.moveTo(284.878693f, 10134.8789f); | 1845 path.moveTo(284.878693f, 10134.8789f); |
| 1890 path.quadTo(284, 10135.7578f, 284, 10137); | 1846 path.quadTo(284, 10135.7578f, 284, 10137); |
| 1891 path.lineTo(284, 10216); | 1847 path.lineTo(284, 10216); |
| 1892 path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f); | 1848 path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f); |
| 1893 path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f); | 1849 path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f); |
| 1894 path.lineTo(286, 10138); | 1850 path.lineTo(286, 10138); |
| 1895 path.lineTo(286, 10136); | 1851 path.lineTo(286, 10136); |
| 1896 path.lineTo(284.878693f, 10134.8789f); | 1852 path.lineTo(284.878693f, 10134.8789f); |
| 1897 path.close(); | 1853 path.close(); |
| 1898 SkPath pathB; | 1854 SkPath pathB; |
| 1899 pathB.setFillType(SkPath::kWinding_FillType); | 1855 pathB.setFillType(SkPath::kWinding_FillType); |
| 1900 pathB.moveTo(284, 10134); | 1856 pathB.moveTo(284, 10134); |
| 1901 pathB.lineTo(286.05957f, 10129.8809f); | 1857 pathB.lineTo(286.05957f, 10129.8809f); |
| 1902 pathB.lineTo(285.399994f, 10216.2002f); | 1858 pathB.lineTo(285.399994f, 10216.2002f); |
| 1903 pathB.lineTo(284, 10219); | 1859 pathB.lineTo(284, 10219); |
| 1904 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1860 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1905 } | 1861 } |
| 1906 | 1862 |
| 1907 // SkOpContour::calcPartialCoincidentWinding SkASSERT(!approximately_negative(en
dT - startT)); | |
| 1908 static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch
ar* filename) { | 1863 static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch
ar* filename) { |
| 1909 SkPath path; | 1864 SkPath path; |
| 1910 path.setFillType(SkPath::kEvenOdd_FillType); | 1865 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1911 path.moveTo(3.17157292f, 11831.1719f); | 1866 path.moveTo(3.17157292f, 11831.1719f); |
| 1912 path.quadTo(4.34314585f, 11830, 6, 11830); | 1867 path.quadTo(4.34314585f, 11830, 6, 11830); |
| 1913 path.lineTo(1259, 11830); | 1868 path.lineTo(1259, 11830); |
| 1914 path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f); | 1869 path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f); |
| 1915 path.quadTo(1263, 11832.3428f, 1263, 11834); | 1870 path.quadTo(1263, 11832.3428f, 1263, 11834); |
| 1916 path.lineTo(1263, 11848); | 1871 path.lineTo(1263, 11848); |
| 1917 path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f); | 1872 path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1938 path.close(); | 1893 path.close(); |
| 1939 SkPath pathB; | 1894 SkPath pathB; |
| 1940 pathB.setFillType(SkPath::kWinding_FillType); | 1895 pathB.setFillType(SkPath::kWinding_FillType); |
| 1941 pathB.moveTo(2, 11830); | 1896 pathB.moveTo(2, 11830); |
| 1942 pathB.lineTo(4.5f, 11832.5f); | 1897 pathB.lineTo(4.5f, 11832.5f); |
| 1943 pathB.lineTo(1260.5f, 11832.5f); | 1898 pathB.lineTo(1260.5f, 11832.5f); |
| 1944 pathB.lineTo(1263, 11830); | 1899 pathB.lineTo(1263, 11830); |
| 1945 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1900 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1946 } | 1901 } |
| 1947 | 1902 |
| 1948 // can't find winding of remaining vertical edges | |
| 1949 static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f
ilename) { | 1903 static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f
ilename) { |
| 1950 SkPath path; | 1904 SkPath path; |
| 1951 path.setFillType(SkPath::kEvenOdd_FillType); | 1905 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1952 path.moveTo(1000, 902.329346f); | 1906 path.moveTo(1000, 902.329346f); |
| 1953 path.quadTo(998, 905.250427f, 998, 909); | 1907 path.quadTo(998, 905.250427f, 998, 909); |
| 1954 path.lineTo(998, 910); | 1908 path.lineTo(998, 910); |
| 1955 path.quadTo(998, 913.749573f, 1000, 916.670654f); | 1909 path.quadTo(998, 913.749573f, 1000, 916.670654f); |
| 1956 path.lineTo(1000, 902.329346f); | 1910 path.lineTo(1000, 902.329346f); |
| 1957 path.close(); | 1911 path.close(); |
| 1958 SkPath pathB; | 1912 SkPath pathB; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1986 SkPath pathB; | 1940 SkPath pathB; |
| 1987 pathB.setFillType(SkPath::kWinding_FillType); | 1941 pathB.setFillType(SkPath::kWinding_FillType); |
| 1988 pathB.moveTo(611, 0); | 1942 pathB.moveTo(611, 0); |
| 1989 pathB.lineTo(1084, 0); | 1943 pathB.lineTo(1084, 0); |
| 1990 pathB.lineTo(1084, 469); | 1944 pathB.lineTo(1084, 469); |
| 1991 pathB.lineTo(611, 469); | 1945 pathB.lineTo(611, 469); |
| 1992 pathB.close(); | 1946 pathB.close(); |
| 1993 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1947 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1994 } | 1948 } |
| 1995 | 1949 |
| 1996 // asserts in bridgeOp simple->isClosed() | |
| 1997 static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c
har* filename) { | 1950 static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c
har* filename) { |
| 1998 SkPath path; | 1951 SkPath path; |
| 1999 path.setFillType(SkPath::kEvenOdd_FillType); | 1952 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2000 path.moveTo(85.6091843f, 5.92893219f); | 1953 path.moveTo(85.6091843f, 5.92893219f); |
| 2001 path.quadTo(89.6041641f, 3, 93.7462997f, 3); | 1954 path.quadTo(89.6041641f, 3, 93.7462997f, 3); |
| 2002 path.lineTo(1212.74634f, 3); | 1955 path.lineTo(1212.74634f, 3); |
| 2003 path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f); | 1956 path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f); |
| 2004 path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f); | 1957 path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f); |
| 2005 path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f); | 1958 path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f); |
| 2006 path.quadTo(1216.52441f, 4, 1212.38232f, 4); | 1959 path.quadTo(1216.52441f, 4, 1212.38232f, 4); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2127 path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f); | 2080 path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f); |
| 2128 SkPath pathB; | 2081 SkPath pathB; |
| 2129 pathB.setFillType(SkPath::kWinding_FillType); | 2082 pathB.setFillType(SkPath::kWinding_FillType); |
| 2130 pathB.moveTo(474.873322f, 199.293594f); | 2083 pathB.moveTo(474.873322f, 199.293594f); |
| 2131 pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f); | 2084 pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f); |
| 2132 pathB.lineTo(490.183014f, 179.9702f); | 2085 pathB.lineTo(490.183014f, 179.9702f); |
| 2133 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f); | 2086 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f); |
| 2134 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2087 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2135 } | 2088 } |
| 2136 | 2089 |
| 2137 // !simple->isClosed() | |
| 2138 static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con
st char* filename) { | 2090 static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con
st char* filename) { |
| 2139 SkPath path; | 2091 SkPath path; |
| 2140 path.setFillType(SkPath::kEvenOdd_FillType); | 2092 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2141 path.moveTo(460.257355f, 1202.27808f); | 2093 path.moveTo(460.257355f, 1202.27808f); |
| 2142 path.lineTo(460.257355f, 1204.27808f); | 2094 path.lineTo(460.257355f, 1204.27808f); |
| 2143 path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f); | 2095 path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f); |
| 2144 path.lineTo(461.67157f, 1203.69238f); | 2096 path.lineTo(461.67157f, 1203.69238f); |
| 2145 path.lineTo(466.621307f, 1198.74268f); | 2097 path.lineTo(466.621307f, 1198.74268f); |
| 2146 path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f); | 2098 path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f); |
| 2147 path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f); | 2099 path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f); |
| 2148 path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f); | 2100 path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f); |
| 2149 path.lineTo(465.914215f, 1196.62122f); | 2101 path.lineTo(465.914215f, 1196.62122f); |
| 2150 path.lineTo(460.257355f, 1202.27808f); | 2102 path.lineTo(460.257355f, 1202.27808f); |
| 2151 path.close(); | 2103 path.close(); |
| 2152 SkPath pathB; | 2104 SkPath pathB; |
| 2153 pathB.setFillType(SkPath::kWinding_FillType); | 2105 pathB.setFillType(SkPath::kWinding_FillType); |
| 2154 pathB.moveTo(460.257355f, 1205.10657f); | 2106 pathB.moveTo(460.257355f, 1205.10657f); |
| 2155 pathB.lineTo(458.828979f, 1203.67822f); | 2107 pathB.lineTo(458.828979f, 1203.67822f); |
| 2156 pathB.lineTo(465.914215f, 1196.62122f); | 2108 pathB.lineTo(465.914215f, 1196.62122f); |
| 2157 pathB.lineTo(467.32843f, 1198.03552f); | 2109 pathB.lineTo(467.32843f, 1198.03552f); |
| 2158 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2110 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2159 } | 2111 } |
| 2160 | 2112 |
| 2161 // line quad intersection SkIntersections::assert | |
| 2162 static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi
lename) { | 2113 static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2163 SkPath path; | 2114 SkPath path; |
| 2164 path.setFillType(SkPath::kEvenOdd_FillType); | 2115 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2165 path.moveTo(899.17157f, 548.17157f); | 2116 path.moveTo(899.17157f, 548.17157f); |
| 2166 path.quadTo(898, 549.34314f, 898, 551); | 2117 path.quadTo(898, 549.34314f, 898, 551); |
| 2167 path.lineTo(898, 556); | 2118 path.lineTo(898, 556); |
| 2168 path.lineTo(899.027283f, 556); | 2119 path.lineTo(899.027283f, 556); |
| 2169 path.lineTo(900.02356f, 551.602844f); | 2120 path.lineTo(900.02356f, 551.602844f); |
| 2170 path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f); | 2121 path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f); |
| 2171 path.lineTo(900.5f, 549.5f); | 2122 path.lineTo(900.5f, 549.5f); |
| 2172 path.lineTo(899.17157f, 548.17157f); | 2123 path.lineTo(899.17157f, 548.17157f); |
| 2173 path.close(); | 2124 path.close(); |
| 2174 SkPath pathB; | 2125 SkPath pathB; |
| 2175 pathB.setFillType(SkPath::kWinding_FillType); | 2126 pathB.setFillType(SkPath::kWinding_FillType); |
| 2176 pathB.moveTo(898, 547); | 2127 pathB.moveTo(898, 547); |
| 2177 pathB.lineTo(901.086914f, 547); | 2128 pathB.lineTo(901.086914f, 547); |
| 2178 pathB.lineTo(899, 556); | 2129 pathB.lineTo(899, 556); |
| 2179 pathB.lineTo(898, 556); | 2130 pathB.lineTo(898, 556); |
| 2180 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2131 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2181 } | 2132 } |
| 2182 | 2133 |
| 2183 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0); | |
| 2184 static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char*
filename) { | 2134 static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char*
filename) { |
| 2185 SkPath path; | 2135 SkPath path; |
| 2186 path.setFillType(SkPath::kEvenOdd_FillType); | 2136 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2187 path.moveTo(0, 1431); | 2137 path.moveTo(0, 1431); |
| 2188 path.lineTo(0, 775); | 2138 path.lineTo(0, 775); |
| 2189 path.lineTo(1265, 775); | 2139 path.lineTo(1265, 775); |
| 2190 path.lineTo(1265, 1431); | 2140 path.lineTo(1265, 1431); |
| 2191 path.lineTo(0, 1431); | 2141 path.lineTo(0, 1431); |
| 2192 path.close(); | 2142 path.close(); |
| 2193 SkPath pathB; | 2143 SkPath pathB; |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2296 path.close(); | 2246 path.close(); |
| 2297 SkPath pathB; | 2247 SkPath pathB; |
| 2298 pathB.setFillType(SkPath::kWinding_FillType); | 2248 pathB.setFillType(SkPath::kWinding_FillType); |
| 2299 pathB.moveTo(22.5f, 24527.5f); | 2249 pathB.moveTo(22.5f, 24527.5f); |
| 2300 pathB.lineTo(22.5f, 24527.248f); | 2250 pathB.lineTo(22.5f, 24527.248f); |
| 2301 pathB.lineTo(45, 24527.25f); | 2251 pathB.lineTo(45, 24527.25f); |
| 2302 pathB.lineTo(45, 24527.5f); | 2252 pathB.lineTo(45, 24527.5f); |
| 2303 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2253 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2304 } | 2254 } |
| 2305 | 2255 |
| 2306 // joinCoincidence / findT / assert | |
| 2307 static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter,
const char* filename) { | 2256 static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter,
const char* filename) { |
| 2308 SkPath path; | 2257 SkPath path; |
| 2309 path.setFillType(SkPath::kEvenOdd_FillType); | 2258 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2310 path.moveTo(1000, 844.329346f); | 2259 path.moveTo(1000, 844.329346f); |
| 2311 path.quadTo(998, 847.250427f, 998, 851); | 2260 path.quadTo(998, 847.250427f, 998, 851); |
| 2312 path.lineTo(998, 852); | 2261 path.lineTo(998, 852); |
| 2313 path.quadTo(998, 855.749573f, 1000, 858.670654f); | 2262 path.quadTo(998, 855.749573f, 1000, 858.670654f); |
| 2314 path.lineTo(1000, 844.329346f); | 2263 path.lineTo(1000, 844.329346f); |
| 2315 path.close(); | 2264 path.close(); |
| 2316 SkPath pathB; | 2265 SkPath pathB; |
| 2317 pathB.setFillType(SkPath::kWinding_FillType); | 2266 pathB.setFillType(SkPath::kWinding_FillType); |
| 2318 pathB.moveTo(998, 852); | 2267 pathB.moveTo(998, 852); |
| 2319 pathB.lineTo(998, 851); | 2268 pathB.lineTo(998, 851); |
| 2320 pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f); | 2269 pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f); |
| 2321 pathB.quadTo(1005.02942f, 839, 1010, 839); | 2270 pathB.quadTo(1005.02942f, 839, 1010, 839); |
| 2322 pathB.lineTo(1011, 839); | 2271 pathB.lineTo(1011, 839); |
| 2323 pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f); | 2272 pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f); |
| 2324 pathB.quadTo(1021, 846.029419f, 1021, 851); | 2273 pathB.quadTo(1021, 846.029419f, 1021, 851); |
| 2325 pathB.lineTo(1021, 852); | 2274 pathB.lineTo(1021, 852); |
| 2326 pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f); | 2275 pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f); |
| 2327 pathB.quadTo(1015.14215f, 862, 1011, 862); | 2276 pathB.quadTo(1015.14215f, 862, 1011, 862); |
| 2328 pathB.lineTo(1010, 862); | 2277 pathB.lineTo(1010, 862); |
| 2329 pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f); | 2278 pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f); |
| 2330 pathB.quadTo(998, 856.142151f, 998, 852); | 2279 pathB.quadTo(998, 856.142151f, 998, 852); |
| 2331 pathB.close(); | 2280 pathB.close(); |
| 2332 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); | 2281 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2333 } | 2282 } |
| 2334 | 2283 |
| 2335 // joinCoincidence / findT / assert | |
| 2336 static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f
ilename) { | 2284 static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f
ilename) { |
| 2337 SkPath path; | 2285 SkPath path; |
| 2338 path.setFillType(SkPath::kEvenOdd_FillType); | 2286 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2339 path.moveTo(1000, 866.329346f); | 2287 path.moveTo(1000, 866.329346f); |
| 2340 path.quadTo(998, 869.250427f, 998, 873); | 2288 path.quadTo(998, 869.250427f, 998, 873); |
| 2341 path.lineTo(998, 874); | 2289 path.lineTo(998, 874); |
| 2342 path.quadTo(998, 877.749573f, 1000, 880.670654f); | 2290 path.quadTo(998, 877.749573f, 1000, 880.670654f); |
| 2343 path.lineTo(1000, 866.329346f); | 2291 path.lineTo(1000, 866.329346f); |
| 2344 path.close(); | 2292 path.close(); |
| 2345 SkPath pathB; | 2293 SkPath pathB; |
| 2346 pathB.setFillType(SkPath::kWinding_FillType); | 2294 pathB.setFillType(SkPath::kWinding_FillType); |
| 2347 pathB.moveTo(998, 874); | 2295 pathB.moveTo(998, 874); |
| 2348 pathB.lineTo(998, 873); | 2296 pathB.lineTo(998, 873); |
| 2349 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); | 2297 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); |
| 2350 pathB.quadTo(1005.02942f, 861, 1010, 861); | 2298 pathB.quadTo(1005.02942f, 861, 1010, 861); |
| 2351 pathB.lineTo(1011, 861); | 2299 pathB.lineTo(1011, 861); |
| 2352 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); | 2300 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); |
| 2353 pathB.quadTo(1021, 868.029419f, 1021, 873); | 2301 pathB.quadTo(1021, 868.029419f, 1021, 873); |
| 2354 pathB.lineTo(1021, 874); | 2302 pathB.lineTo(1021, 874); |
| 2355 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); | 2303 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); |
| 2356 pathB.quadTo(1015.14215f, 884, 1011, 884); | 2304 pathB.quadTo(1015.14215f, 884, 1011, 884); |
| 2357 pathB.lineTo(1010, 884); | 2305 pathB.lineTo(1010, 884); |
| 2358 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); | 2306 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); |
| 2359 pathB.quadTo(998, 878.142151f, 998, 874); | 2307 pathB.quadTo(998, 878.142151f, 998, 874); |
| 2360 pathB.close(); | 2308 pathB.close(); |
| 2361 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); | 2309 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2362 } | 2310 } |
| 2363 | 2311 |
| 2364 // cubic-cubic intersection reduce checkLinear assert | |
| 2365 static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil
ename) { | 2312 static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil
ename) { |
| 2366 SkPath path; | 2313 SkPath path; |
| 2367 path.setFillType(SkPath::kEvenOdd_FillType); | 2314 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2368 path.moveTo(407, 119); | 2315 path.moveTo(407, 119); |
| 2369 path.lineTo(407, 28); | 2316 path.lineTo(407, 28); |
| 2370 path.lineTo(647, 28); | 2317 path.lineTo(647, 28); |
| 2371 path.lineTo(647, 119); | 2318 path.lineTo(647, 119); |
| 2372 path.lineTo(407, 119); | 2319 path.lineTo(407, 119); |
| 2373 path.close(); | 2320 path.close(); |
| 2374 SkPath pathB; | 2321 SkPath pathB; |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2653 pathB.lineTo(630.581177f, 44.7682648f); | 2600 pathB.lineTo(630.581177f, 44.7682648f); |
| 2654 pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163
f, 45.0124512f); | 2601 pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163
f, 45.0124512f); |
| 2655 pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225
f, 45.5493507f); | 2602 pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225
f, 45.5493507f); |
| 2656 pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f
, 46.3656998f); | 2603 pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f
, 46.3656998f); |
| 2657 pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f,
47.4595947f); | 2604 pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f,
47.4595947f); |
| 2658 pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f
, 48.6171875f); | 2605 pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f
, 48.6171875f); |
| 2659 pathB.close(); | 2606 pathB.close(); |
| 2660 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2607 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2661 } | 2608 } |
| 2662 | 2609 |
| 2663 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0); | |
| 2664 static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const
char* filename) { | 2610 static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const
char* filename) { |
| 2665 SkPath path; | 2611 SkPath path; |
| 2666 path.setFillType(SkPath::kEvenOdd_FillType); | 2612 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2667 path.moveTo(999.892212f, 246); | 2613 path.moveTo(999.892212f, 246); |
| 2668 path.lineTo(927.340759f, 245.505722f); | 2614 path.lineTo(927.340759f, 245.505722f); |
| 2669 path.quadTo(928.068054f, 246, 929, 246); | 2615 path.quadTo(928.068054f, 246, 929, 246); |
| 2670 path.lineTo(999.892212f, 246); | 2616 path.lineTo(999.892212f, 246); |
| 2671 path.close(); | 2617 path.close(); |
| 2672 path.moveTo(927.340759f, 245.505722f); | 2618 path.moveTo(927.340759f, 245.505722f); |
| 2673 path.lineTo(926.5f, 245.5f); | 2619 path.lineTo(926.5f, 245.5f); |
| 2674 path.lineTo(925.17157f, 246.82843f); | 2620 path.lineTo(925.17157f, 246.82843f); |
| 2675 path.quadTo(926.34314f, 248, 928, 248); | 2621 path.quadTo(926.34314f, 248, 928, 248); |
| 2676 path.lineTo(1000, 248); | 2622 path.lineTo(1000, 248); |
| 2677 path.lineTo(1000, 246); | 2623 path.lineTo(1000, 246); |
| 2678 SkPath pathB; | 2624 SkPath pathB; |
| 2679 pathB.setFillType(SkPath::kWinding_FillType); | 2625 pathB.setFillType(SkPath::kWinding_FillType); |
| 2680 pathB.moveTo(924, 248); | 2626 pathB.moveTo(924, 248); |
| 2681 pathB.lineTo(924, 245.472672f); | 2627 pathB.lineTo(924, 245.472672f); |
| 2682 pathB.lineTo(1143, 247); | 2628 pathB.lineTo(1143, 247); |
| 2683 pathB.lineTo(1143, 248); | 2629 pathB.lineTo(1143, 248); |
| 2684 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2630 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2685 } | 2631 } |
| 2686 | 2632 |
| 2687 // joinCoincidence / findT / assert | |
| 2688 static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen
ame) { | 2633 static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen
ame) { |
| 2689 SkPath path; | 2634 SkPath path; |
| 2690 path.setFillType(SkPath::kEvenOdd_FillType); | 2635 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2691 path.moveTo(1000, 896.991394f); | 2636 path.moveTo(1000, 896.991394f); |
| 2692 path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f); | 2637 path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f); |
| 2693 path.quadTo(998.071045f, 895, 996, 895); | 2638 path.quadTo(998.071045f, 895, 996, 895); |
| 2694 path.lineTo(956, 895); | 2639 path.lineTo(956, 895); |
| 2695 path.quadTo(951.857849f, 895, 948.928955f, 897.928955f); | 2640 path.quadTo(951.857849f, 895, 948.928955f, 897.928955f); |
| 2696 path.quadTo(946, 900.857849f, 946, 905); | 2641 path.quadTo(946, 900.857849f, 946, 905); |
| 2697 path.lineTo(946, 906); | 2642 path.lineTo(946, 906); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2714 pathB.lineTo(1001, 911); | 2659 pathB.lineTo(1001, 911); |
| 2715 pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f); | 2660 pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f); |
| 2716 pathB.quadTo(998.071045f, 916, 996, 916); | 2661 pathB.quadTo(998.071045f, 916, 996, 916); |
| 2717 pathB.lineTo(956, 916); | 2662 pathB.lineTo(956, 916); |
| 2718 pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f); | 2663 pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f); |
| 2719 pathB.quadTo(946, 910.142151f, 946, 906); | 2664 pathB.quadTo(946, 910.142151f, 946, 906); |
| 2720 pathB.close(); | 2665 pathB.close(); |
| 2721 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); | 2666 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2722 } | 2667 } |
| 2723 | 2668 |
| 2724 // !simple->isClosed() | |
| 2725 static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons
t char* filename) { | 2669 static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons
t char* filename) { |
| 2726 SkPath path; | 2670 SkPath path; |
| 2727 path.setFillType(SkPath::kEvenOdd_FillType); | 2671 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2728 path.moveTo(90.9763107f, 153.309662f); | 2672 path.moveTo(90.9763107f, 153.309662f); |
| 2729 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); | 2673 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); |
| 2730 path.lineTo(124.666664f, 152.333344f); | 2674 path.lineTo(124.666664f, 152.333344f); |
| 2731 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f); | 2675 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f); |
| 2732 path.quadTo(128, 154.285965f, 128, 155.666672f); | 2676 path.quadTo(128, 154.285965f, 128, 155.666672f); |
| 2733 path.lineTo(128, 163.666672f); | 2677 path.lineTo(128, 163.666672f); |
| 2734 path.lineTo(90, 163.666672f); | 2678 path.lineTo(90, 163.666672f); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2779 pathB.lineTo(127.666672f, 163.666672f); | 2723 pathB.lineTo(127.666672f, 163.666672f); |
| 2780 pathB.lineTo(127.666672f, 163.666672f); | 2724 pathB.lineTo(127.666672f, 163.666672f); |
| 2781 pathB.lineTo(127.666672f, 163.666672f); | 2725 pathB.lineTo(127.666672f, 163.666672f); |
| 2782 pathB.lineTo(90, 163.666672f); | 2726 pathB.lineTo(90, 163.666672f); |
| 2783 pathB.lineTo(90, 163.666672f); | 2727 pathB.lineTo(90, 163.666672f); |
| 2784 pathB.lineTo(90, 163.666672f); | 2728 pathB.lineTo(90, 163.666672f); |
| 2785 pathB.close(); | 2729 pathB.close(); |
| 2786 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); | 2730 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2787 } | 2731 } |
| 2788 | 2732 |
| 2789 // !simple->isClosed() | |
| 2790 static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file
name) { | 2733 static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file
name) { |
| 2791 SkPath path; | 2734 SkPath path; |
| 2792 path.setFillType(SkPath::kEvenOdd_FillType); | 2735 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2793 path.moveTo(360.740479f, 741.040771f); | 2736 path.moveTo(360.740479f, 741.040771f); |
| 2794 path.quadTo(360.378967f, 741, 360, 741); | 2737 path.quadTo(360.378967f, 741, 360, 741); |
| 2795 path.quadTo(359.159821f, 741, 358.403076f, 741.200745f); | 2738 path.quadTo(359.159821f, 741, 358.403076f, 741.200745f); |
| 2796 path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f); | 2739 path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f); |
| 2797 path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f); | 2740 path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f); |
| 2798 path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f); | 2741 path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f); |
| 2799 path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f); | 2742 path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2863 pathB.lineTo(311, 1171); | 2806 pathB.lineTo(311, 1171); |
| 2864 pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f); | 2807 pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f); |
| 2865 pathB.quadTo(309.242645f, 1174, 308, 1174); | 2808 pathB.quadTo(309.242645f, 1174, 308, 1174); |
| 2866 pathB.lineTo(172, 1174); | 2809 pathB.lineTo(172, 1174); |
| 2867 pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f); | 2810 pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f); |
| 2868 pathB.quadTo(170, 1172.24268f, 170, 1171); | 2811 pathB.quadTo(170, 1172.24268f, 170, 1171); |
| 2869 pathB.close(); | 2812 pathB.close(); |
| 2870 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); | 2813 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2871 } | 2814 } |
| 2872 | 2815 |
| 2873 // hangs | |
| 2874 static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const
char* filename) { | 2816 static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const
char* filename) { |
| 2875 SkPath path; | 2817 SkPath path; |
| 2876 path.setFillType(SkPath::kEvenOdd_FillType); | 2818 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2877 path.moveTo(443, 8292); | 2819 path.moveTo(443, 8292); |
| 2878 path.lineTo(443, 8140); | 2820 path.lineTo(443, 8140); |
| 2879 path.lineTo(444, 8140); | 2821 path.lineTo(444, 8140); |
| 2880 path.lineTo(444.01001f, 8292); | 2822 path.lineTo(444.01001f, 8292); |
| 2881 path.lineTo(443, 8292); | 2823 path.lineTo(443, 8292); |
| 2882 path.close(); | 2824 path.close(); |
| 2883 SkPath pathB; | 2825 SkPath pathB; |
| 2884 pathB.setFillType(SkPath::kWinding_FillType); | 2826 pathB.setFillType(SkPath::kWinding_FillType); |
| 2885 pathB.moveTo(443, 8140); | 2827 pathB.moveTo(443, 8140); |
| 2886 pathB.lineTo(444.01001f, 8140); | 2828 pathB.lineTo(444.01001f, 8140); |
| 2887 pathB.lineTo(444, 8292); | 2829 pathB.lineTo(444, 8292); |
| 2888 pathB.lineTo(443, 8292); | 2830 pathB.lineTo(443, 8292); |
| 2889 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 2831 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2890 } | 2832 } |
| 2891 | 2833 |
| 2892 // hangs | |
| 2893 static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi
lename) { | 2834 static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2894 SkPath path; | 2835 SkPath path; |
| 2895 path.setFillType(SkPath::kEvenOdd_FillType); | 2836 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2896 path.moveTo(10105, 2510); | 2837 path.moveTo(10105, 2510); |
| 2897 path.lineTo(10123, 2509.98999f); | 2838 path.lineTo(10123, 2509.98999f); |
| 2898 path.lineTo(10123, 2511); | 2839 path.lineTo(10123, 2511); |
| 2899 path.lineTo(10105, 2511); | 2840 path.lineTo(10105, 2511); |
| 2900 path.lineTo(10105, 2510); | 2841 path.lineTo(10105, 2510); |
| 2901 path.close(); | 2842 path.close(); |
| 2902 SkPath pathB; | 2843 SkPath pathB; |
| (...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3606 pathB.moveTo(4981.99902f, 1590); | 3547 pathB.moveTo(4981.99902f, 1590); |
| 3607 pathB.quadTo(4981.99902f, 1617.75232f, 4962.375f, 1637.3761f); | 3548 pathB.quadTo(4981.99902f, 1617.75232f, 4962.375f, 1637.3761f); |
| 3608 pathB.quadTo(4942.75146f, 1657, 4914.99902f, 1657); | 3549 pathB.quadTo(4942.75146f, 1657, 4914.99902f, 1657); |
| 3609 pathB.quadTo(4887.24658f, 1657, 4867.62305f, 1637.3761f); | 3550 pathB.quadTo(4887.24658f, 1657, 4867.62305f, 1637.3761f); |
| 3610 pathB.quadTo(4847.99902f, 1617.75232f, 4847.99902f, 1590); | 3551 pathB.quadTo(4847.99902f, 1617.75232f, 4847.99902f, 1590); |
| 3611 pathB.quadTo(4847.99902f, 1562.24768f, 4867.62305f, 1542.6239f); | 3552 pathB.quadTo(4847.99902f, 1562.24768f, 4867.62305f, 1542.6239f); |
| 3612 pathB.quadTo(4887.24658f, 1523, 4914.99902f, 1523); | 3553 pathB.quadTo(4887.24658f, 1523, 4914.99902f, 1523); |
| 3613 pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f); | 3554 pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f); |
| 3614 pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590); | 3555 pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590); |
| 3615 pathB.close(); | 3556 pathB.close(); |
| 3616 if (FLAGS_runFail) { | 3557 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3617 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | |
| 3618 } else { | |
| 3619 // INVESTIGATE : why this normal test takes fail case (test has never wo
rked) | |
| 3620 testPathFailOp(reporter, path, pathB, kIntersect_PathOp, filename); | |
| 3621 } | |
| 3622 } | 3558 } |
| 3623 | 3559 |
| 3624 static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filena
me) { | 3560 static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filena
me) { |
| 3625 SkPath path; | 3561 SkPath path; |
| 3626 path.setFillType(SkPath::kEvenOdd_FillType); | 3562 path.setFillType(SkPath::kEvenOdd_FillType); |
| 3627 path.moveTo(10210.8789f, 5315.87891f); | 3563 path.moveTo(10210.8789f, 5315.87891f); |
| 3628 path.quadTo(10211.7578f, 5315, 10213, 5315); | 3564 path.quadTo(10211.7578f, 5315, 10213, 5315); |
| 3629 path.lineTo(10230, 5315); | 3565 path.lineTo(10230, 5315); |
| 3630 path.quadTo(10231.2422f, 5315, 10232.1211f, 5315.87891f); | 3566 path.quadTo(10231.2422f, 5315, 10232.1211f, 5315.87891f); |
| 3631 path.quadTo(10233, 5316.75732f, 10233, 5318); | 3567 path.quadTo(10233, 5316.75732f, 10233, 5318); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3700 path.close(); | 3636 path.close(); |
| 3701 SkPath pathB; | 3637 SkPath pathB; |
| 3702 pathB.setFillType(SkPath::kWinding_FillType); | 3638 pathB.setFillType(SkPath::kWinding_FillType); |
| 3703 pathB.moveTo(808, 11703); | 3639 pathB.moveTo(808, 11703); |
| 3704 pathB.lineTo(809.5f, 11701.5f); | 3640 pathB.lineTo(809.5f, 11701.5f); |
| 3705 pathB.lineTo(1062.91907f, 11687.0811f); | 3641 pathB.lineTo(1062.91907f, 11687.0811f); |
| 3706 pathB.lineTo(1047, 11703); | 3642 pathB.lineTo(1047, 11703); |
| 3707 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 3643 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3708 } | 3644 } |
| 3709 | 3645 |
| 3710 // addSimpleAngle: failed assertion "index == count() - 2" | |
| 3711 static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* fi
lename) { | 3646 static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* fi
lename) { |
| 3712 SkPath path; | 3647 SkPath path; |
| 3713 path.setFillType(SkPath::kEvenOdd_FillType); | 3648 path.setFillType(SkPath::kEvenOdd_FillType); |
| 3714 path.moveTo(205.884888f, 648.203857f); | 3649 path.moveTo(205.884888f, 648.203857f); |
| 3715 path.lineTo(771.570374f, 82.5183716f); | 3650 path.lineTo(771.570374f, 82.5183716f); |
| 3716 path.lineTo(1110.98169f, 421.929626f); | 3651 path.lineTo(1110.98169f, 421.929626f); |
| 3717 path.lineTo(545.296143f, 987.615112f); | 3652 path.lineTo(545.296143f, 987.615112f); |
| 3718 path.lineTo(205.884888f, 648.203857f); | 3653 path.lineTo(205.884888f, 648.203857f); |
| 3719 path.close(); | 3654 path.close(); |
| 3720 SkPath pathB; | 3655 SkPath pathB; |
| 3721 pathB.setFillType(SkPath::kWinding_FillType); | 3656 pathB.setFillType(SkPath::kWinding_FillType); |
| 3722 pathB.moveTo(771.570374f, 82.5183716f); | 3657 pathB.moveTo(771.570374f, 82.5183716f); |
| 3723 pathB.lineTo(1110.98169f, 421.929626f); | 3658 pathB.lineTo(1110.98169f, 421.929626f); |
| 3724 pathB.lineTo(545.296204f, 987.615051f); | 3659 pathB.lineTo(545.296204f, 987.615051f); |
| 3725 pathB.lineTo(205.884949f, 648.203796f); | 3660 pathB.lineTo(205.884949f, 648.203796f); |
| 3726 pathB.close(); | 3661 pathB.close(); |
| 3727 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 3662 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3728 } | 3663 } |
| 3729 | 3664 |
| 3730 // addTCoincident oPeek = &other->fTs[++oPeekIndex]; | |
| 3731 static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filena
me) { | 3665 static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filena
me) { |
| 3732 SkPath path; | 3666 SkPath path; |
| 3733 path.setFillType(SkPath::kEvenOdd_FillType); | 3667 path.setFillType(SkPath::kEvenOdd_FillType); |
| 3734 path.moveTo(78.6429825f, 1394.30969f); | 3668 path.moveTo(78.6429825f, 1394.30969f); |
| 3735 path.quadTo(79.6192932f, 1393.33337f, 81.0000076f, 1393.33337f); | 3669 path.quadTo(79.6192932f, 1393.33337f, 81.0000076f, 1393.33337f); |
| 3736 path.lineTo(341, 1393.33337f); | 3670 path.lineTo(341, 1393.33337f); |
| 3737 path.quadTo(342.380707f, 1393.33337f, 343.357025f, 1394.30969f); | 3671 path.quadTo(342.380707f, 1393.33337f, 343.357025f, 1394.30969f); |
| 3738 path.quadTo(344.333344f, 1395.28601f, 344.333344f, 1396.66675f); | 3672 path.quadTo(344.333344f, 1395.28601f, 344.333344f, 1396.66675f); |
| 3739 path.lineTo(344.333344f, 1465.66663f); | 3673 path.lineTo(344.333344f, 1465.66663f); |
| 3740 path.quadTo(344.333344f, 1467.04736f, 343.357025f, 1468.02368f); | 3674 path.quadTo(344.333344f, 1467.04736f, 343.357025f, 1468.02368f); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3774 SkPath pathB; | 3708 SkPath pathB; |
| 3775 pathB.setFillType(SkPath::kWinding_FillType); | 3709 pathB.setFillType(SkPath::kWinding_FillType); |
| 3776 pathB.moveTo(771.570374f, 82.5183716f); | 3710 pathB.moveTo(771.570374f, 82.5183716f); |
| 3777 pathB.lineTo(1110.98169f, 421.929626f); | 3711 pathB.lineTo(1110.98169f, 421.929626f); |
| 3778 pathB.lineTo(545.296204f, 987.615051f); | 3712 pathB.lineTo(545.296204f, 987.615051f); |
| 3779 pathB.lineTo(205.884949f, 648.203796f); | 3713 pathB.lineTo(205.884949f, 648.203796f); |
| 3780 pathB.close(); | 3714 pathB.close(); |
| 3781 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 3715 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3782 } | 3716 } |
| 3783 | 3717 |
| 3784 // SkOpSegment.cpp:4398: failed assertion "!span->fDone" | |
| 3785 static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filena
me) { | 3718 static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filena
me) { |
| 3786 if (/* 0 && */ !FLAGS_runFail) { // has never worked MUST BE FIXED BEFORE N
EXT CHECKIN | |
| 3787 return; | |
| 3788 } | |
| 3789 SkPath path; | 3719 SkPath path; |
| 3790 path.setFillType(SkPath::kEvenOdd_FillType); | 3720 path.setFillType(SkPath::kEvenOdd_FillType); |
| 3791 path.moveTo(78.6429825f, 3150.97632f); | 3721 path.moveTo(78.6429825f, 3150.97632f); |
| 3792 path.quadTo(79.6192932f, 3150, 81.0000076f, 3150); | 3722 path.quadTo(79.6192932f, 3150, 81.0000076f, 3150); |
| 3793 path.lineTo(341, 3150); | 3723 path.lineTo(341, 3150); |
| 3794 path.quadTo(342.380707f, 3150, 343.357025f, 3150.97632f); | 3724 path.quadTo(342.380707f, 3150, 343.357025f, 3150.97632f); |
| 3795 path.quadTo(344.333344f, 3151.95264f, 344.333344f, 3153.33325f); | 3725 path.quadTo(344.333344f, 3151.95264f, 344.333344f, 3153.33325f); |
| 3796 path.lineTo(344.333344f, 5205.3335f); | 3726 path.lineTo(344.333344f, 5205.3335f); |
| 3797 path.quadTo(344.333344f, 5206.71436f, 343.357025f, 5207.69092f); | 3727 path.quadTo(344.333344f, 5206.71436f, 343.357025f, 5207.69092f); |
| 3798 path.quadTo(342.380707f, 5208.66699f, 341, 5208.66699f); | 3728 path.quadTo(342.380707f, 5208.66699f, 341, 5208.66699f); |
| 3799 path.lineTo(81.0000076f, 5208.66699f); | 3729 path.lineTo(81.0000076f, 5208.66699f); |
| 3800 path.quadTo(79.6192932f, 5208.66699f, 78.6429825f, 5207.69092f); | 3730 path.quadTo(79.6192932f, 5208.66699f, 78.6429825f, 5207.69092f); |
| 3801 path.quadTo(77.6666718f, 5206.71436f, 77.6666718f, 5205.3335f); | 3731 path.quadTo(77.6666718f, 5206.71436f, 77.6666718f, 5205.3335f); |
| 3802 path.lineTo(77.6666718f, 3153.33325f); | 3732 path.lineTo(77.6666718f, 3153.33325f); |
| 3803 path.quadTo(77.6666718f, 3151.95264f, 78.6429825f, 3150.97632f); | 3733 path.quadTo(77.6666718f, 3151.95264f, 78.6429825f, 3150.97632f); |
| 3804 path.close(); | 3734 path.close(); |
| 3805 SkPath pathB; | 3735 SkPath pathB; |
| 3806 pathB.setFillType(SkPath::kEvenOdd_FillType); | 3736 pathB.setFillType(SkPath::kEvenOdd_FillType); |
| 3807 pathB.moveTo(81, 3150); | 3737 pathB.moveTo(81, 3150); |
| 3808 pathB.lineTo(341, 3150); | 3738 pathB.lineTo(341, 3150); |
| 3809 pathB.cubicTo(342.840942f, 3150, 344.333344f, 3151.49268f, 344.333344f, 3153
.3335f); | 3739 pathB.cubicTo(342.840942f, 3150, 344.333344f, 3151.49268f, 344.333344f, 3153
.3335f); |
| 3810 pathB.lineTo(344.333344f, 5205.3335f); | 3740 pathB.lineTo(344.333344f, 5205.3335f); |
| 3811 pathB.cubicTo(344.333344f, 5206.99023f, 342.840942f, 5208.3335f, 341, 5208.3
335f); | 3741 pathB.cubicTo(344.333344f, 5206.99023f, 342.840942f, 5208.3335f, 341, 5208.3
335f); |
| 3812 pathB.lineTo(81, 5208.3335f); | 3742 pathB.lineTo(81, 5208.3335f); |
| 3813 pathB.cubicTo(79.15905f, 5208.3335f, 77.6666718f, 5206.99023f, 77.6666718f,
5205.3335f); | 3743 pathB.cubicTo(79.15905f, 5208.3335f, 77.6666718f, 5206.99023f, 77.6666718f,
5205.3335f); |
| 3814 pathB.lineTo(77.6666718f, 3153.3335f); | 3744 pathB.lineTo(77.6666718f, 3153.3335f); |
| 3815 pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150); | 3745 pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150); |
| 3816 pathB.close(); | 3746 pathB.close(); |
| 3817 testPathOpCheck(reporter, path, pathB, kIntersect_PathOp, filename, FLAGS_ru
nFail); | 3747 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3818 } | 3748 } |
| 3819 | 3749 |
| 3750 static void skpwww_educationalcraft_com_4a(skiatest::Reporter* reporter, const c
har* filename) { |
| 3751 SkPath path; |
| 3752 path.setFillType(SkPath::kEvenOdd_FillType); |
| 3753 path.moveTo(941, 1494); |
| 3754 path.lineTo(941, 1464); |
| 3755 path.lineTo(985, 1464); |
| 3756 path.lineTo(985, 1494); |
| 3757 path.lineTo(941, 1494); |
| 3758 path.close(); |
| 3759 SkPath pathB; |
| 3760 pathB.setFillType(SkPath::kWinding_FillType); |
| 3761 |
| 3762 pathB.moveTo(984.546021f, 1478.31494f); |
| 3763 pathB.cubicTo(984.546021f, 1478.31494f, 984.543213f, 1478.32239f, 984.537598f, 1
478.33655f); |
| 3764 pathB.cubicTo(984.419006f, 1478.63477f, 983.044373f, 1481.90405f, 980.026001f, 1
481.276f); |
| 3765 pathB.cubicTo(980.026001f, 1481.276f, 980.02594f, 1481.27576f, 980.025879f, 1481
.27527f); |
| 3766 pathB.cubicTo(980.018494f, 1481.22131f, 979.602478f, 1478.38831f, 984.546021f, 1
478.31494f); |
| 3767 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3768 |
| 3769 } |
| 3770 |
| 3771 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; |
| 3820 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; | 3772 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; |
| 3773 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
| 3821 | 3774 |
| 3822 static struct TestDesc tests[] = { | 3775 static struct TestDesc tests[] = { |
| 3776 TEST(skpwww_educationalcraft_com_4a), |
| 3823 TEST(skpwww_lptemp_com_3), | 3777 TEST(skpwww_lptemp_com_3), |
| 3824 TEST(skpwww_shinydemos_com_5), | 3778 TEST(skpwww_shinydemos_com_5), |
| 3825 TEST(skpwww_lptemp_com_5), | 3779 TEST(skpwww_lptemp_com_5), |
| 3826 TEST(skpwww_shinydemos_com_15), | 3780 TEST(skpwww_shinydemos_com_15), |
| 3827 TEST(skpwww_familysurvivalprotocol_wordpress_com_61), | 3781 TEST(skpwww_familysurvivalprotocol_wordpress_com_61), |
| 3828 TEST(skpwww_alamdi_com_3), | 3782 TEST(skpwww_alamdi_com_3), |
| 3829 TEST(skpwww_devbridge_com_22), | 3783 TEST(skpwww_devbridge_com_22), |
| 3830 TEST(skpwww_firstunitedbank_com_19), | 3784 TEST(skpwww_firstunitedbank_com_19), |
| 3831 TEST(skpwww_googleventures_com_32), | 3785 TEST(skpwww_googleventures_com_32), |
| 3832 TEST(skpwww_9to5mac_com_64), | 3786 TEST(skpwww_9to5mac_com_64), |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3932 TEST(skpilkoora_com37), | 3886 TEST(skpilkoora_com37), |
| 3933 TEST(skpmm4everfriends_com43), | 3887 TEST(skpmm4everfriends_com43), |
| 3934 TEST(skpflite_com41), | 3888 TEST(skpflite_com41), |
| 3935 TEST(skpcheeseandburger_com225), | 3889 TEST(skpcheeseandburger_com225), |
| 3936 TEST(skpeverytechpro_blogspot_com100), | 3890 TEST(skpeverytechpro_blogspot_com100), |
| 3937 }; | 3891 }; |
| 3938 | 3892 |
| 3939 static const size_t testCount = SK_ARRAY_COUNT(tests); | 3893 static const size_t testCount = SK_ARRAY_COUNT(tests); |
| 3940 | 3894 |
| 3941 static bool runReverse = false; | 3895 static bool runReverse = false; |
| 3942 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; | |
| 3943 | 3896 |
| 3944 DEF_TEST(PathOpsSkp, reporter) { | 3897 DEF_TEST(PathOpsSkp, reporter) { |
| 3945 #if DEBUG_SHOW_TEST_NAME | 3898 #if DEBUG_SHOW_TEST_NAME |
| 3946 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); | 3899 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
| 3947 #endif | 3900 #endif |
| 3948 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); | 3901 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev
erse); |
| 3949 } | 3902 } |
| OLD | NEW |