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 |