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 5034 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5045 path.lineTo(SkBits2Float(0x4c000016), SkBits2Float(0x00000000)); // 3.35545e+07
f, 0 | 5045 path.lineTo(SkBits2Float(0x4c000016), SkBits2Float(0x00000000)); // 3.35545e+07
f, 0 |
5046 path.lineTo(SkBits2Float(0x42ba0000), SkBits2Float(0x00000000)); // 93, 0 | 5046 path.lineTo(SkBits2Float(0x42ba0000), SkBits2Float(0x00000000)); // 93, 0 |
5047 path.close(); | 5047 path.close(); |
5048 | 5048 |
5049 path.moveTo(SkBits2Float(0x42f60000), SkBits2Float(0x00000000)); // 123, 0 | 5049 path.moveTo(SkBits2Float(0x42f60000), SkBits2Float(0x00000000)); // 123, 0 |
5050 path.lineTo(SkBits2Float(0x4c00001e), SkBits2Float(0x00000000)); // 3.35546e+07
f, 0 | 5050 path.lineTo(SkBits2Float(0x4c00001e), SkBits2Float(0x00000000)); // 3.35546e+07
f, 0 |
5051 path.lineTo(SkBits2Float(0x4c00001e), SkBits2Float(0x00000000)); // 3.35546e+07
f, 0 | 5051 path.lineTo(SkBits2Float(0x4c00001e), SkBits2Float(0x00000000)); // 3.35546e+07
f, 0 |
5052 path.lineTo(SkBits2Float(0x42f60000), SkBits2Float(0x00000000)); // 123, 0 | 5052 path.lineTo(SkBits2Float(0x42f60000), SkBits2Float(0x00000000)); // 123, 0 |
5053 path.close(); | 5053 path.close(); |
5054 | 5054 |
5055 REPORTER_ASSERT(reporter, !Simplify(path, &path)); | 5055 testSimplify(reporter, path, filename); |
5056 } | 5056 } |
5057 | 5057 |
5058 static void fuzz_59(skiatest::Reporter* reporter, const char* filename) { | 5058 static void tiger8(skiatest::Reporter* reporter, const char* filename) { |
5059 SkPath path; | 5059 #if DEBUG_UNDER_DEVELOPMENT // tiger |
5060 path.moveTo(SkBits2Float(0x430c0000), SkBits2Float(0xce58f41c)); // 140, -9.099
69e+08f | 5060 return; |
5061 path.lineTo(SkBits2Float(0x43480000), SkBits2Float(0xce58f419)); // 200, -9.099
69e+08f | 5061 #endif |
5062 path.lineTo(SkBits2Float(0x42200000), SkBits2Float(0xce58f41b)); // 40, -9.0996
9e+08f | 5062 SkPath path; |
5063 path.lineTo(SkBits2Float(0x43700000), SkBits2Float(0xce58f41b)); // 240, -9.099
69e+08f | 5063 path.moveTo(SkBits2Float(0x43f639c5), SkBits2Float(0x4361375a)); // 492.451
f, 225.216f |
5064 path.lineTo(SkBits2Float(0x428c0000), SkBits2Float(0xce58f419)); // 70, -9.0996
9e+08f | 5064 path.quadTo(SkBits2Float(0x43f58ce4), SkBits2Float(0x435d2a04), SkBits2Float(0x4
3f71bd9), SkBits2Float(0x435ac7d8)); // 491.101f, 221.164f, 494.218f, 218.781f |
5065 path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0xce58f41c)); // 140, -9.099
69e+08f | 5065 path.quadTo(SkBits2Float(0x43f7d69d), SkBits2Float(0x4359aa35), SkBits2Float(0x4
3f8b3b3), SkBits2Float(0x435951c5)); // 495.677f, 217.665f, 497.404f, 217.319f |
5066 path.close(); | 5066 path.conicTo(SkBits2Float(0x43f8ba67), SkBits2Float(0x43594f16), SkBits2Float(0x
43f8c136), SkBits2Float(0x43594dd9), SkBits2Float(0x3f7fa2b1)); // 497.456f, 21
7.309f, 497.509f, 217.304f, 0.998576f |
5067 REPORTER_ASSERT(reporter, !Simplify(path, &path)); | 5067 path.quadTo(SkBits2Float(0x43fcc3a8), SkBits2Float(0x43589340), SkBits2Float(0x4
3ff01dc), SkBits2Float(0x4352e191)); // 505.529f, 216.575f, 510.015f, 210.881f |
| 5068 path.conicTo(SkBits2Float(0x43ff5113), SkBits2Float(0x4352187b), SkBits2Float(0x
43ffb59e), SkBits2Float(0x4352b6e9), SkBits2Float(0x3f3504f3)); // 510.633f, 21
0.096f, 511.419f, 210.714f, 0.707107f |
| 5069 path.conicTo(SkBits2Float(0x43ffdc85), SkBits2Float(0x4352f435), SkBits2Float(0x
43ffe4a9), SkBits2Float(0x435355e9), SkBits2Float(0x3f6ec0ae)); // 511.723f, 21
0.954f, 511.786f, 211.336f, 0.932628f |
| 5070 path.quadTo(SkBits2Float(0x4400461c), SkBits2Float(0x435b3080), SkBits2Float(0x4
400b692), SkBits2Float(0x4360b229)); // 513.095f, 219.189f, 514.853f, 224.696f |
| 5071 path.conicTo(SkBits2Float(0x4400c662), SkBits2Float(0x43617856), SkBits2Float(0x
44009920), SkBits2Float(0x4361decb), SkBits2Float(0x3f46ad5b)); // 515.1f, 225.
47f, 514.393f, 225.87f, 0.776083f |
| 5072 path.quadTo(SkBits2Float(0x43fb4920), SkBits2Float(0x43688f50), SkBits2Float(0x4
3f8340f), SkBits2Float(0x4365b887)); // 502.571f, 232.56f, 496.407f, 229.721f |
| 5073 path.quadTo(SkBits2Float(0x43f72cd2), SkBits2Float(0x4364c612), SkBits2Float(0x4
3f69888), SkBits2Float(0x4362e330)); // 494.35f, 228.774f, 493.192f, 226.887f |
| 5074 path.quadTo(SkBits2Float(0x43f66a00), SkBits2Float(0x43624bae), SkBits2Float(0x4
3f64c73), SkBits2Float(0x4361ad04)); // 492.828f, 226.296f, 492.597f, 225.676f |
| 5075 path.quadTo(SkBits2Float(0x43f642ea), SkBits2Float(0x436179d2), SkBits2Float(0x4
3f63c1c), SkBits2Float(0x43614abe)); // 492.523f, 225.476f, 492.47f, 225.292f |
| 5076 path.quadTo(SkBits2Float(0x43f639c9), SkBits2Float(0x43613aa5), SkBits2Float(0x4
3f63809), SkBits2Float(0x43612cda)); // 492.451f, 225.229f, 492.438f, 225.175f |
| 5077 path.quadTo(SkBits2Float(0x43f63777), SkBits2Float(0x43612855), SkBits2Float(0x4
3f636df), SkBits2Float(0x43612357)); // 492.433f, 225.158f, 492.429f, 225.138f |
| 5078 path.quadTo(SkBits2Float(0x43f6368f), SkBits2Float(0x436120b2), SkBits2Float(0x4
3f6367b), SkBits2Float(0x43612005)); // 492.426f, 225.128f, 492.426f, 225.125f |
| 5079 path.lineTo(SkBits2Float(0x43f63656), SkBits2Float(0x43611ebc)); // 492.424f, 2
25.12f |
| 5080 path.lineTo(SkBits2Float(0x43f63647), SkBits2Float(0x43611e34)); // 492.424f, 2
25.118f |
| 5081 path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float(0x43611df3)); // 492.424f, 2
25.117f |
| 5082 path.lineTo(SkBits2Float(0x43f6363e), SkBits2Float(0x43611de5)); // 492.424f, 2
25.117f |
| 5083 path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float(0x43611deb)); // 492.424f, 2
25.117f |
| 5084 path.lineTo(SkBits2Float(0x43f63647), SkBits2Float(0x43611e37)); // 492.424f, 2
25.118f |
| 5085 path.lineTo(SkBits2Float(0x43f63644), SkBits2Float(0x43611e19)); // 492.424f, 2
25.118f |
| 5086 path.quadTo(SkBits2Float(0x43f6365c), SkBits2Float(0x43611ee7), SkBits2Float(0x4
3f6365d), SkBits2Float(0x43611ef9)); // 492.425f, 225.121f, 492.425f, 225.121f |
| 5087 path.quadTo(SkBits2Float(0x43f63666), SkBits2Float(0x43611f4b), SkBits2Float(0x4
3f63672), SkBits2Float(0x43611fb1)); // 492.425f, 225.122f, 492.425f, 225.124f |
| 5088 path.quadTo(SkBits2Float(0x43f636ab), SkBits2Float(0x436121a4), SkBits2Float(0x4
3f636e3), SkBits2Float(0x4361236a)); // 492.427f, 225.131f, 492.429f, 225.138f |
| 5089 path.quadTo(SkBits2Float(0x43f636fd), SkBits2Float(0x43612443), SkBits2Float(0x4
3f63705), SkBits2Float(0x4361247e)); // 492.43f, 225.142f, 492.43f, 225.143f |
| 5090 path.quadTo(SkBits2Float(0x43f637d7), SkBits2Float(0x43612b15), SkBits2Float(0x4
3f638dc), SkBits2Float(0x436131b0)); // 492.436f, 225.168f, 492.444f, 225.194f |
| 5091 path.quadTo(SkBits2Float(0x43f63b88), SkBits2Float(0x43614303), SkBits2Float(0x4
3f63f62), SkBits2Float(0x43615368)); // 492.465f, 225.262f, 492.495f, 225.326f |
| 5092 path.quadTo(SkBits2Float(0x43f6436f), SkBits2Float(0x4361649f), SkBits2Float(0x4
3f648b2), SkBits2Float(0x43617468)); // 492.527f, 225.393f, 492.568f, 225.455f |
| 5093 path.quadTo(SkBits2Float(0x43f68760), SkBits2Float(0x43623072), SkBits2Float(0x4
3f6ec71), SkBits2Float(0x4361cb60)); // 493.058f, 226.189f, 493.847f, 225.794f |
| 5094 path.quadTo(SkBits2Float(0x43f722ef), SkBits2Float(0x436194e0), SkBits2Float(0x4
3f73027), SkBits2Float(0x43611df0)); // 494.273f, 225.582f, 494.376f, 225.117f |
| 5095 path.quadTo(SkBits2Float(0x43f73334), SkBits2Float(0x43610284), SkBits2Float(0x4
3f73333), SkBits2Float(0x4360e667)); // 494.4f, 225.01f, 494.4f, 224.9f |
| 5096 path.lineTo(SkBits2Float(0x43f63638), SkBits2Float(0x43611daf)); // 492.424f, 2
25.116f |
| 5097 path.lineTo(SkBits2Float(0x43f6b333), SkBits2Float(0x4360e666)); // 493.4f, 224
.9f |
| 5098 path.lineTo(SkBits2Float(0x43f639c5), SkBits2Float(0x4361375a)); // 492.451f, 2
25.216f |
| 5099 path.close(); |
| 5100 path.moveTo(SkBits2Float(0x43f72ca1), SkBits2Float(0x43609572)); // 494.349f, 2
24.584f |
| 5101 path.conicTo(SkBits2Float(0x43f72ebd), SkBits2Float(0x4360a219), SkBits2Float(0x
43f7302e), SkBits2Float(0x4360af1f), SkBits2Float(0x3f7fa741)); // 494.365f, 22
4.633f, 494.376f, 224.684f, 0.998646f |
| 5102 path.lineTo(SkBits2Float(0x43f63333), SkBits2Float(0x4360e667)); // 492.4f, 224
.9f |
| 5103 path.quadTo(SkBits2Float(0x43f63333), SkBits2Float(0x4360ca4b), SkBits2Float(0x4
3f6363f), SkBits2Float(0x4360aede)); // 492.4f, 224.79f, 492.424f, 224.683f |
| 5104 path.quadTo(SkBits2Float(0x43f64377), SkBits2Float(0x436037ee), SkBits2Float(0x4
3f679f5), SkBits2Float(0x4360016e)); // 492.527f, 224.218f, 492.953f, 224.006f |
| 5105 path.quadTo(SkBits2Float(0x43f6df06), SkBits2Float(0x435f9c5c), SkBits2Float(0x4
3f71db4), SkBits2Float(0x43605866)); // 493.742f, 223.611f, 494.232f, 224.345f |
| 5106 path.quadTo(SkBits2Float(0x43f722f8), SkBits2Float(0x43606830), SkBits2Float(0x4
3f72704), SkBits2Float(0x43607966)); // 494.273f, 224.407f, 494.305f, 224.474f |
| 5107 path.quadTo(SkBits2Float(0x43f72ae0), SkBits2Float(0x436089cd), SkBits2Float(0x4
3f72d8a), SkBits2Float(0x43609b1e)); // 494.335f, 224.538f, 494.356f, 224.606f |
| 5108 path.quadTo(SkBits2Float(0x43f72e8e), SkBits2Float(0x4360a1b8), SkBits2Float(0x4
3f72f61), SkBits2Float(0x4360a850)); // 494.364f, 224.632f, 494.37f, 224.657f |
| 5109 path.quadTo(SkBits2Float(0x43f72f68), SkBits2Float(0x4360a88a), SkBits2Float(0x4
3f72f83), SkBits2Float(0x4360a964)); // 494.37f, 224.658f, 494.371f, 224.662f |
| 5110 path.quadTo(SkBits2Float(0x43f72fbb), SkBits2Float(0x4360ab2a), SkBits2Float(0x4
3f72ff4), SkBits2Float(0x4360ad1d)); // 494.373f, 224.669f, 494.375f, 224.676f |
| 5111 path.quadTo(SkBits2Float(0x43f73000), SkBits2Float(0x4360ad83), SkBits2Float(0x4
3f73009), SkBits2Float(0x4360add5)); // 494.375f, 224.678f, 494.375f, 224.679f |
| 5112 path.quadTo(SkBits2Float(0x43f7300b), SkBits2Float(0x4360ade9), SkBits2Float(0x4
3f73022), SkBits2Float(0x4360aeb5)); // 494.375f, 224.679f, 494.376f, 224.682f |
| 5113 path.lineTo(SkBits2Float(0x43f7301f), SkBits2Float(0x4360ae97)); // 494.376f, 2
24.682f |
| 5114 path.lineTo(SkBits2Float(0x43f73027), SkBits2Float(0x4360aee3)); // 494.376f, 2
24.683f |
| 5115 path.lineTo(SkBits2Float(0x43f73028), SkBits2Float(0x4360aeeb)); // 494.376f, 2
24.683f |
| 5116 path.lineTo(SkBits2Float(0x43f73027), SkBits2Float(0x4360aedf)); // 494.376f, 2
24.683f |
| 5117 path.lineTo(SkBits2Float(0x43f73021), SkBits2Float(0x4360aeaa)); // 494.376f, 2
24.682f |
| 5118 path.lineTo(SkBits2Float(0x43f73016), SkBits2Float(0x4360ae50)); // 494.376f, 2
24.681f |
| 5119 path.lineTo(SkBits2Float(0x43f73007), SkBits2Float(0x4360adc1)); // 494.375f, 2
24.679f |
| 5120 path.lineTo(SkBits2Float(0x43f72ff9), SkBits2Float(0x4360ad4d)); // 494.375f, 2
24.677f |
| 5121 path.quadTo(SkBits2Float(0x43f7300d), SkBits2Float(0x4360adf7), SkBits2Float(0x4
3f73031), SkBits2Float(0x4360af12)); // 494.375f, 224.68f, 494.376f, 224.684f |
| 5122 path.quadTo(SkBits2Float(0x43f730f0), SkBits2Float(0x4360b4f1), SkBits2Float(0x4
3f7320a), SkBits2Float(0x4360bc94)); // 494.382f, 224.707f, 494.391f, 224.737f |
| 5123 path.quadTo(SkBits2Float(0x43f73625), SkBits2Float(0x4360d8fe), SkBits2Float(0x4
3f73c59), SkBits2Float(0x4360fa4a)); // 494.423f, 224.848f, 494.471f, 224.978f |
| 5124 path.quadTo(SkBits2Float(0x43f75132), SkBits2Float(0x43616a36), SkBits2Float(0x4
3f772ac), SkBits2Float(0x4361d738)); // 494.634f, 225.415f, 494.896f, 225.841f |
| 5125 path.quadTo(SkBits2Float(0x43f7de60), SkBits2Float(0x436335ea), SkBits2Float(0x4
3f89f25), SkBits2Float(0x4363e779)); // 495.737f, 227.211f, 497.243f, 227.904f |
| 5126 path.quadTo(SkBits2Float(0x43fb3d30), SkBits2Float(0x436650a0), SkBits2Float(0x4
4005a14), SkBits2Float(0x43602133)); // 502.478f, 230.315f, 513.407f, 224.13f |
| 5127 path.lineTo(SkBits2Float(0x4400799a), SkBits2Float(0x4360ffff)); // 513.9f, 225 |
| 5128 path.lineTo(SkBits2Float(0x44003ca2), SkBits2Float(0x43614dd5)); // 512.947f, 2
25.304f |
| 5129 path.quadTo(SkBits2Float(0x43ff92b8), SkBits2Float(0x435ba8f8), SkBits2Float(0x4
3fee825), SkBits2Float(0x4353aa15)); // 511.146f, 219.66f, 509.814f, 211.664f |
| 5130 path.lineTo(SkBits2Float(0x43ff6667), SkBits2Float(0x43537fff)); // 510.8f, 211
.5f |
| 5131 path.lineTo(SkBits2Float(0x43ffcaf2), SkBits2Float(0x43541e6d)); // 511.586f, 2
12.119f |
| 5132 path.quadTo(SkBits2Float(0x43fd4888), SkBits2Float(0x435a7d38), SkBits2Float(0x4
3f8d864), SkBits2Float(0x435b4bbf)); // 506.567f, 218.489f, 497.691f, 219.296f |
| 5133 path.lineTo(SkBits2Float(0x43f8cccd), SkBits2Float(0x435a4ccc)); // 497.6f, 218
.3f |
| 5134 path.lineTo(SkBits2Float(0x43f8e5e7), SkBits2Float(0x435b47d3)); // 497.796f, 2
19.281f |
| 5135 path.quadTo(SkBits2Float(0x43f84300), SkBits2Float(0x435b88fd), SkBits2Float(0x4
3f7b75b), SkBits2Float(0x435c5e8e)); // 496.523f, 219.535f, 495.432f, 220.369f |
| 5136 path.quadTo(SkBits2Float(0x43f6b984), SkBits2Float(0x435de2c4), SkBits2Float(0x4
3f72ca1), SkBits2Float(0x43609572)); // 493.449f, 221.886f, 494.349f, 224.584f |
| 5137 path.close(); |
| 5138 testSimplify(reporter, path, filename); |
| 5139 } |
| 5140 |
| 5141 // fails to include a line of edges, probably mis-sorting |
| 5142 static void tiger8a(skiatest::Reporter* reporter, const char* filename) { |
| 5143 #if DEBUG_UNDER_DEVELOPMENT // tiger |
| 5144 return; |
| 5145 #endif |
| 5146 SkPath path; |
| 5147 path.moveTo(SkBits2Float(0x43f639c5), SkBits2Float(0x4361375a)); // 492.451
f, 225.216f |
| 5148 path.quadTo(SkBits2Float(0x43f58ce4), SkBits2Float(0x435d2a04), SkBits2Float(0x4
3f71bd9), SkBits2Float(0x435ac7d8)); // 491.101f, 221.164f, 494.218f, 218.781f |
| 5149 path.quadTo(SkBits2Float(0x43f7d69d), SkBits2Float(0x4359aa35), SkBits2Float(0x4
3f8b3b3), SkBits2Float(0x435951c5)); // 495.677f, 217.665f, 497.404f, 217.319f |
| 5150 path.conicTo(SkBits2Float(0x43f8ba67), SkBits2Float(0x43594f16), SkBits2Float(0x
43f8c136), SkBits2Float(0x43594dd9), SkBits2Float(0x3f7fa2b1)); // 497.456f, 21
7.309f, 497.509f, 217.304f, 0.998576f |
| 5151 path.quadTo(SkBits2Float(0x43fcc3a8), SkBits2Float(0x43589340), SkBits2Float(0x4
3ff01dc), SkBits2Float(0x4352e191)); // 505.529f, 216.575f, 510.015f, 210.881f |
| 5152 path.conicTo(SkBits2Float(0x43ff5113), SkBits2Float(0x4352187b), SkBits2Float(0x
43ffb59e), SkBits2Float(0x4352b6e9), SkBits2Float(0x3f3504f3)); // 510.633f, 21
0.096f, 511.419f, 210.714f, 0.707107f |
| 5153 path.conicTo(SkBits2Float(0x43ffdc85), SkBits2Float(0x4352f435), SkBits2Float(0x
43ffe4a9), SkBits2Float(0x435355e9), SkBits2Float(0x3f6ec0ae)); // 511.723f, 21
0.954f, 511.786f, 211.336f, 0.932628f |
| 5154 path.quadTo(SkBits2Float(0x4400461c), SkBits2Float(0x435b3080), SkBits2Float(0x4
400b692), SkBits2Float(0x4360b229)); // 513.095f, 219.189f, 514.853f, 224.696f |
| 5155 path.conicTo(SkBits2Float(0x4400c662), SkBits2Float(0x43617856), SkBits2Float(0x
44009920), SkBits2Float(0x4361decb), SkBits2Float(0x3f46ad5b)); // 515.1f, 225.
47f, 514.393f, 225.87f, 0.776083f |
| 5156 path.quadTo(SkBits2Float(0x43fb4920), SkBits2Float(0x43688f50), SkBits2Float(0x4
3f8340f), SkBits2Float(0x4365b887)); // 502.571f, 232.56f, 496.407f, 229.721f |
| 5157 path.quadTo(SkBits2Float(0x43f72cd2), SkBits2Float(0x4364c612), SkBits2Float(0x4
3f69888), SkBits2Float(0x4362e330)); // 494.35f, 228.774f, 493.192f, 226.887f |
| 5158 path.quadTo(SkBits2Float(0x43f66a00), SkBits2Float(0x43624bae), SkBits2Float(0x4
3f64c73), SkBits2Float(0x4361ad04)); // 492.828f, 226.296f, 492.597f, 225.676f |
| 5159 path.quadTo(SkBits2Float(0x43f642ea), SkBits2Float(0x436179d2), SkBits2Float(0x4
3f63c1c), SkBits2Float(0x43614abe)); // 492.523f, 225.476f, 492.47f, 225.292f |
| 5160 path.quadTo(SkBits2Float(0x43f639c9), SkBits2Float(0x43613aa5), SkBits2Float(0x4
3f63809), SkBits2Float(0x43612cda)); // 492.451f, 225.229f, 492.438f, 225.175f |
| 5161 path.quadTo(SkBits2Float(0x43f63777), SkBits2Float(0x43612855), SkBits2Float(0x4
3f636df), SkBits2Float(0x43612357)); // 492.433f, 225.158f, 492.429f, 225.138f |
| 5162 path.quadTo(SkBits2Float(0x43f6368f), SkBits2Float(0x436120b2), SkBits2Float(0x4
3f6367b), SkBits2Float(0x43612005)); // 492.426f, 225.128f, 492.426f, 225.125f |
| 5163 path.lineTo(SkBits2Float(0x43f63656), SkBits2Float(0x43611ebc)); // 492.424f, 2
25.12f |
| 5164 path.lineTo(SkBits2Float(0x43f63647), SkBits2Float(0x43611e34)); // 492.424f, 2
25.118f |
| 5165 path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float(0x43611df3)); // 492.424f, 2
25.117f |
| 5166 path.lineTo(SkBits2Float(0x43f6363e), SkBits2Float(0x43611de5)); // 492.424f, 2
25.117f |
| 5167 path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float(0x43611deb)); // 492.424f, 2
25.117f |
| 5168 path.lineTo(SkBits2Float(0x43f63647), SkBits2Float(0x43611e37)); // 492.424f, 2
25.118f |
| 5169 path.lineTo(SkBits2Float(0x43f63644), SkBits2Float(0x43611e19)); // 492.424f, 2
25.118f |
| 5170 path.quadTo(SkBits2Float(0x43f6365c), SkBits2Float(0x43611ee7), SkBits2Float(0x4
3f6365d), SkBits2Float(0x43611ef9)); // 492.425f, 225.121f, 492.425f, 225.121f |
| 5171 path.quadTo(SkBits2Float(0x43f63666), SkBits2Float(0x43611f4b), SkBits2Float(0x4
3f63672), SkBits2Float(0x43611fb1)); // 492.425f, 225.122f, 492.425f, 225.124f |
| 5172 path.quadTo(SkBits2Float(0x43f636ab), SkBits2Float(0x436121a4), SkBits2Float(0x4
3f636e3), SkBits2Float(0x4361236a)); // 492.427f, 225.131f, 492.429f, 225.138f |
| 5173 path.quadTo(SkBits2Float(0x43f636fd), SkBits2Float(0x43612443), SkBits2Float(0x4
3f63705), SkBits2Float(0x4361247e)); // 492.43f, 225.142f, 492.43f, 225.143f |
| 5174 path.quadTo(SkBits2Float(0x43f637d7), SkBits2Float(0x43612b15), SkBits2Float(0x4
3f638dc), SkBits2Float(0x436131b0)); // 492.436f, 225.168f, 492.444f, 225.194f |
| 5175 path.quadTo(SkBits2Float(0x43f63b88), SkBits2Float(0x43614303), SkBits2Float(0x4
3f63f62), SkBits2Float(0x43615368)); // 492.465f, 225.262f, 492.495f, 225.326f |
| 5176 path.quadTo(SkBits2Float(0x43f6436f), SkBits2Float(0x4361649f), SkBits2Float(0x4
3f648b2), SkBits2Float(0x43617468)); // 492.527f, 225.393f, 492.568f, 225.455f |
| 5177 path.quadTo(SkBits2Float(0x43f68760), SkBits2Float(0x43623072), SkBits2Float(0x4
3f6ec71), SkBits2Float(0x4361cb60)); // 493.058f, 226.189f, 493.847f, 225.794f |
| 5178 path.quadTo(SkBits2Float(0x43f722ef), SkBits2Float(0x436194e0), SkBits2Float(0x4
3f73027), SkBits2Float(0x43611df0)); // 494.273f, 225.582f, 494.376f, 225.117f |
| 5179 path.quadTo(SkBits2Float(0x43f73334), SkBits2Float(0x43610284), SkBits2Float(0x4
3f73333), SkBits2Float(0x4360e667)); // 494.4f, 225.01f, 494.4f, 224.9f |
| 5180 path.lineTo(SkBits2Float(0x43f63638), SkBits2Float(0x43611daf)); // 492.424f, 2
25.116f |
| 5181 path.lineTo(SkBits2Float(0x43f6b333), SkBits2Float(0x4360e666)); // 493.4f, 224
.9f |
| 5182 path.lineTo(SkBits2Float(0x43f639c5), SkBits2Float(0x4361375a)); // 492.451f, 2
25.216f |
| 5183 path.close(); |
| 5184 testSimplify(reporter, path, filename); |
| 5185 } |
| 5186 |
| 5187 static void tiger8a_x(skiatest::Reporter* reporter, const char* filename, uint64
_t testlines) { |
| 5188 #if DEBUG_UNDER_DEVELOPMENT // tiger |
| 5189 return; |
| 5190 #endif |
| 5191 SkPath path; |
| 5192 uint64_t i = 0; |
| 5193 if (testlines & (1LL << i++)) path.moveTo(SkBits2Float(0x43f639c5), SkBits2Float
(0x4361375a)); // 492.451f, 225.216f |
| 5194 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f58ce4), SkBits2Float
(0x435d2a04), SkBits2Float(0x43f71bd9), SkBits2Float(0x435ac7d8)); // 491.101f,
221.164f, 494.218f, 218.781f |
| 5195 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f7d69d), SkBits2Float
(0x4359aa35), SkBits2Float(0x43f8b3b3), SkBits2Float(0x435951c5)); // 495.677f,
217.665f, 497.404f, 217.319f |
| 5196 if (testlines & (1LL << i++)) path.conicTo(SkBits2Float(0x43f8ba67), SkBits2Floa
t(0x43594f16), SkBits2Float(0x43f8c136), SkBits2Float(0x43594dd9), SkBits2Float(
0x3f7fa2b1)); // 497.456f, 217.309f, 497.509f, 217.304f, 0.998576f |
| 5197 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43fcc3a8), SkBits2Float
(0x43589340), SkBits2Float(0x43ff01dc), SkBits2Float(0x4352e191)); // 505.529f,
216.575f, 510.015f, 210.881f |
| 5198 if (testlines & (1LL << i++)) path.conicTo(SkBits2Float(0x43ff5113), SkBits2Floa
t(0x4352187b), SkBits2Float(0x43ffb59e), SkBits2Float(0x4352b6e9), SkBits2Float(
0x3f3504f3)); // 510.633f, 210.096f, 511.419f, 210.714f, 0.707107f |
| 5199 if (testlines & (1LL << i++)) path.conicTo(SkBits2Float(0x43ffdc85), SkBits2Floa
t(0x4352f435), SkBits2Float(0x43ffe4a9), SkBits2Float(0x435355e9), SkBits2Float(
0x3f6ec0ae)); // 511.723f, 210.954f, 511.786f, 211.336f, 0.932628f |
| 5200 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x4400461c), SkBits2Float
(0x435b3080), SkBits2Float(0x4400b692), SkBits2Float(0x4360b229)); // 513.095f,
219.189f, 514.853f, 224.696f |
| 5201 if (testlines & (1LL << i++)) path.conicTo(SkBits2Float(0x4400c662), SkBits2Floa
t(0x43617856), SkBits2Float(0x44009920), SkBits2Float(0x4361decb), SkBits2Float(
0x3f46ad5b)); // 515.1f, 225.47f, 514.393f, 225.87f, 0.776083f |
| 5202 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43fb4920), SkBits2Float
(0x43688f50), SkBits2Float(0x43f8340f), SkBits2Float(0x4365b887)); // 502.571f,
232.56f, 496.407f, 229.721f |
| 5203 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f72cd2), SkBits2Float
(0x4364c612), SkBits2Float(0x43f69888), SkBits2Float(0x4362e330)); // 494.35f,
228.774f, 493.192f, 226.887f |
| 5204 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f66a00), SkBits2Float
(0x43624bae), SkBits2Float(0x43f64c73), SkBits2Float(0x4361ad04)); // 492.828f,
226.296f, 492.597f, 225.676f |
| 5205 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f642ea), SkBits2Float
(0x436179d2), SkBits2Float(0x43f63c1c), SkBits2Float(0x43614abe)); // 492.523f,
225.476f, 492.47f, 225.292f |
| 5206 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f639c9), SkBits2Float
(0x43613aa5), SkBits2Float(0x43f63809), SkBits2Float(0x43612cda)); // 492.451f,
225.229f, 492.438f, 225.175f |
| 5207 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f63777), SkBits2Float
(0x43612855), SkBits2Float(0x43f636df), SkBits2Float(0x43612357)); // 492.433f,
225.158f, 492.429f, 225.138f |
| 5208 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f6368f), SkBits2Float
(0x436120b2), SkBits2Float(0x43f6367b), SkBits2Float(0x43612005)); // 492.426f,
225.128f, 492.426f, 225.125f |
| 5209 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f63656), SkBits2Float
(0x43611ebc)); // 492.424f, 225.12f |
| 5210 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f63647), SkBits2Float
(0x43611e34)); // 492.424f, 225.118f |
| 5211 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float
(0x43611df3)); // 492.424f, 225.117f |
| 5212 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f6363e), SkBits2Float
(0x43611de5)); // 492.424f, 225.117f |
| 5213 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f6363f), SkBits2Float
(0x43611deb)); // 492.424f, 225.117f |
| 5214 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f63647), SkBits2Float
(0x43611e37)); // 492.424f, 225.118f |
| 5215 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f63644), SkBits2Float
(0x43611e19)); // 492.424f, 225.118f |
| 5216 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f6365c), SkBits2Float
(0x43611ee7), SkBits2Float(0x43f6365d), SkBits2Float(0x43611ef9)); // 492.425f,
225.121f, 492.425f, 225.121f |
| 5217 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f63666), SkBits2Float
(0x43611f4b), SkBits2Float(0x43f63672), SkBits2Float(0x43611fb1)); // 492.425f,
225.122f, 492.425f, 225.124f |
| 5218 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f636ab), SkBits2Float
(0x436121a4), SkBits2Float(0x43f636e3), SkBits2Float(0x4361236a)); // 492.427f,
225.131f, 492.429f, 225.138f |
| 5219 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f636fd), SkBits2Float
(0x43612443), SkBits2Float(0x43f63705), SkBits2Float(0x4361247e)); // 492.43f,
225.142f, 492.43f, 225.143f |
| 5220 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f637d7), SkBits2Float
(0x43612b15), SkBits2Float(0x43f638dc), SkBits2Float(0x436131b0)); // 492.436f,
225.168f, 492.444f, 225.194f |
| 5221 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f63b88), SkBits2Float
(0x43614303), SkBits2Float(0x43f63f62), SkBits2Float(0x43615368)); // 492.465f,
225.262f, 492.495f, 225.326f |
| 5222 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f6436f), SkBits2Float
(0x4361649f), SkBits2Float(0x43f648b2), SkBits2Float(0x43617468)); // 492.527f,
225.393f, 492.568f, 225.455f |
| 5223 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f68760), SkBits2Float
(0x43623072), SkBits2Float(0x43f6ec71), SkBits2Float(0x4361cb60)); // 493.058f,
226.189f, 493.847f, 225.794f |
| 5224 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f722ef), SkBits2Float
(0x436194e0), SkBits2Float(0x43f73027), SkBits2Float(0x43611df0)); // 494.273f,
225.582f, 494.376f, 225.117f |
| 5225 if (testlines & (1LL << i++)) path.quadTo(SkBits2Float(0x43f73334), SkBits2Float
(0x43610284), SkBits2Float(0x43f73333), SkBits2Float(0x4360e667)); // 494.4f, 2
25.01f, 494.4f, 224.9f |
| 5226 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f63638), SkBits2Float
(0x43611daf)); // 492.424f, 225.116f |
| 5227 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f6b333), SkBits2Float
(0x4360e666)); // 493.4f, 224.9f |
| 5228 if (testlines & (1LL << i++)) path.lineTo(SkBits2Float(0x43f639c5), SkBits2Float
(0x4361375a)); // 492.451f, 225.216f |
| 5229 if (testlines & (1LL << i++)) path.close(); |
| 5230 testSimplify(reporter, path, filename); |
| 5231 } |
| 5232 |
| 5233 #include "SkRandom.h" |
| 5234 |
| 5235 static void tiger8a_h(skiatest::Reporter* reporter, const char* filename) { |
| 5236 #if DEBUG_UNDER_DEVELOPMENT // tiger |
| 5237 return; |
| 5238 #endif |
| 5239 SkRandom r; |
| 5240 for (int samples = 2; samples < 38; ++samples) { |
| 5241 for (int tests = 0; tests < 10000; ++tests) { |
| 5242 uint64_t testlines = 0; |
| 5243 for (int i = 0; i < samples; ++i) { |
| 5244 int bit; |
| 5245 do { |
| 5246 bit = r.nextRangeU(0, 38); |
| 5247 } while (testlines & (1LL << bit)); |
| 5248 testlines |= 1LL << bit; |
| 5249 } |
| 5250 tiger8a_x(reporter, filename, testlines); |
| 5251 } |
| 5252 } |
| 5253 } |
| 5254 |
| 5255 static void tiger8a_h_1(skiatest::Reporter* reporter, const char* filename) { |
| 5256 #if DEBUG_UNDER_DEVELOPMENT // tiger |
| 5257 return; |
| 5258 #endif |
| 5259 uint64_t testlines = 0x0000000280802863; // best so far: 0x0000001610031021
; |
| 5260 tiger8a_x(reporter, filename, testlines); |
| 5261 } |
| 5262 |
| 5263 // tries to add same edge twice |
| 5264 static void tiger8b(skiatest::Reporter* reporter, const char* filename) { |
| 5265 #if DEBUG_UNDER_DEVELOPMENT // tiger |
| 5266 return; |
| 5267 #endif |
| 5268 SkPath path; |
| 5269 path.moveTo(SkBits2Float(0x43f72ca1), SkBits2Float(0x43609572)); // 494.349f, 2
24.584f |
| 5270 path.conicTo(SkBits2Float(0x43f72ebd), SkBits2Float(0x4360a219), SkBits2Float(0x
43f7302e), SkBits2Float(0x4360af1f), SkBits2Float(0x3f7fa741)); // 494.365f, 22
4.633f, 494.376f, 224.684f, 0.998646f |
| 5271 path.lineTo(SkBits2Float(0x43f63333), SkBits2Float(0x4360e667)); // 492.4f, 224
.9f |
| 5272 path.quadTo(SkBits2Float(0x43f63333), SkBits2Float(0x4360ca4b), SkBits2Float(0x4
3f6363f), SkBits2Float(0x4360aede)); // 492.4f, 224.79f, 492.424f, 224.683f |
| 5273 path.quadTo(SkBits2Float(0x43f64377), SkBits2Float(0x436037ee), SkBits2Float(0x4
3f679f5), SkBits2Float(0x4360016e)); // 492.527f, 224.218f, 492.953f, 224.006f |
| 5274 path.quadTo(SkBits2Float(0x43f6df06), SkBits2Float(0x435f9c5c), SkBits2Float(0x4
3f71db4), SkBits2Float(0x43605866)); // 493.742f, 223.611f, 494.232f, 224.345f |
| 5275 path.quadTo(SkBits2Float(0x43f722f8), SkBits2Float(0x43606830), SkBits2Float(0x4
3f72704), SkBits2Float(0x43607966)); // 494.273f, 224.407f, 494.305f, 224.474f |
| 5276 path.quadTo(SkBits2Float(0x43f72ae0), SkBits2Float(0x436089cd), SkBits2Float(0x4
3f72d8a), SkBits2Float(0x43609b1e)); // 494.335f, 224.538f, 494.356f, 224.606f |
| 5277 path.quadTo(SkBits2Float(0x43f72e8e), SkBits2Float(0x4360a1b8), SkBits2Float(0x4
3f72f61), SkBits2Float(0x4360a850)); // 494.364f, 224.632f, 494.37f, 224.657f |
| 5278 path.quadTo(SkBits2Float(0x43f72f68), SkBits2Float(0x4360a88a), SkBits2Float(0x4
3f72f83), SkBits2Float(0x4360a964)); // 494.37f, 224.658f, 494.371f, 224.662f |
| 5279 path.quadTo(SkBits2Float(0x43f72fbb), SkBits2Float(0x4360ab2a), SkBits2Float(0x4
3f72ff4), SkBits2Float(0x4360ad1d)); // 494.373f, 224.669f, 494.375f, 224.676f |
| 5280 path.quadTo(SkBits2Float(0x43f73000), SkBits2Float(0x4360ad83), SkBits2Float(0x4
3f73009), SkBits2Float(0x4360add5)); // 494.375f, 224.678f, 494.375f, 224.679f |
| 5281 path.quadTo(SkBits2Float(0x43f7300b), SkBits2Float(0x4360ade9), SkBits2Float(0x4
3f73022), SkBits2Float(0x4360aeb5)); // 494.375f, 224.679f, 494.376f, 224.682f |
| 5282 path.lineTo(SkBits2Float(0x43f7301f), SkBits2Float(0x4360ae97)); // 494.376f, 2
24.682f |
| 5283 path.lineTo(SkBits2Float(0x43f73027), SkBits2Float(0x4360aee3)); // 494.376f, 2
24.683f |
| 5284 path.lineTo(SkBits2Float(0x43f73028), SkBits2Float(0x4360aeeb)); // 494.376f, 2
24.683f |
| 5285 path.lineTo(SkBits2Float(0x43f73027), SkBits2Float(0x4360aedf)); // 494.376f, 2
24.683f |
| 5286 path.lineTo(SkBits2Float(0x43f73021), SkBits2Float(0x4360aeaa)); // 494.376f, 2
24.682f |
| 5287 path.lineTo(SkBits2Float(0x43f73016), SkBits2Float(0x4360ae50)); // 494.376f, 2
24.681f |
| 5288 path.lineTo(SkBits2Float(0x43f73007), SkBits2Float(0x4360adc1)); // 494.375f, 2
24.679f |
| 5289 path.lineTo(SkBits2Float(0x43f72ff9), SkBits2Float(0x4360ad4d)); // 494.375f, 2
24.677f |
| 5290 path.quadTo(SkBits2Float(0x43f7300d), SkBits2Float(0x4360adf7), SkBits2Float(0x4
3f73031), SkBits2Float(0x4360af12)); // 494.375f, 224.68f, 494.376f, 224.684f |
| 5291 path.quadTo(SkBits2Float(0x43f730f0), SkBits2Float(0x4360b4f1), SkBits2Float(0x4
3f7320a), SkBits2Float(0x4360bc94)); // 494.382f, 224.707f, 494.391f, 224.737f |
| 5292 path.quadTo(SkBits2Float(0x43f73625), SkBits2Float(0x4360d8fe), SkBits2Float(0x4
3f73c59), SkBits2Float(0x4360fa4a)); // 494.423f, 224.848f, 494.471f, 224.978f |
| 5293 path.quadTo(SkBits2Float(0x43f75132), SkBits2Float(0x43616a36), SkBits2Float(0x4
3f772ac), SkBits2Float(0x4361d738)); // 494.634f, 225.415f, 494.896f, 225.841f |
| 5294 path.quadTo(SkBits2Float(0x43f7de60), SkBits2Float(0x436335ea), SkBits2Float(0x4
3f89f25), SkBits2Float(0x4363e779)); // 495.737f, 227.211f, 497.243f, 227.904f |
| 5295 path.quadTo(SkBits2Float(0x43fb3d30), SkBits2Float(0x436650a0), SkBits2Float(0x4
4005a14), SkBits2Float(0x43602133)); // 502.478f, 230.315f, 513.407f, 224.13f |
| 5296 path.lineTo(SkBits2Float(0x4400799a), SkBits2Float(0x4360ffff)); // 513.9f, 225 |
| 5297 path.lineTo(SkBits2Float(0x44003ca2), SkBits2Float(0x43614dd5)); // 512.947f, 2
25.304f |
| 5298 path.quadTo(SkBits2Float(0x43ff92b8), SkBits2Float(0x435ba8f8), SkBits2Float(0x4
3fee825), SkBits2Float(0x4353aa15)); // 511.146f, 219.66f, 509.814f, 211.664f |
| 5299 path.lineTo(SkBits2Float(0x43ff6667), SkBits2Float(0x43537fff)); // 510.8f, 211
.5f |
| 5300 path.lineTo(SkBits2Float(0x43ffcaf2), SkBits2Float(0x43541e6d)); // 511.586f, 2
12.119f |
| 5301 path.quadTo(SkBits2Float(0x43fd4888), SkBits2Float(0x435a7d38), SkBits2Float(0x4
3f8d864), SkBits2Float(0x435b4bbf)); // 506.567f, 218.489f, 497.691f, 219.296f |
| 5302 path.lineTo(SkBits2Float(0x43f8cccd), SkBits2Float(0x435a4ccc)); // 497.6f, 218
.3f |
| 5303 path.lineTo(SkBits2Float(0x43f8e5e7), SkBits2Float(0x435b47d3)); // 497.796f, 2
19.281f |
| 5304 path.quadTo(SkBits2Float(0x43f84300), SkBits2Float(0x435b88fd), SkBits2Float(0x4
3f7b75b), SkBits2Float(0x435c5e8e)); // 496.523f, 219.535f, 495.432f, 220.369f |
| 5305 path.quadTo(SkBits2Float(0x43f6b984), SkBits2Float(0x435de2c4), SkBits2Float(0x4
3f72ca1), SkBits2Float(0x43609572)); // 493.449f, 221.886f, 494.349f, 224.584f |
| 5306 path.close(); |
| 5307 testSimplify(reporter, path, filename); |
5068 } | 5308 } |
5069 | 5309 |
5070 // FIXME: this should not fail -- it was isolated looking for the root cause to
fuzz763_4713 | 5310 // FIXME: this should not fail -- it was isolated looking for the root cause to
fuzz763_4713 |
5071 // it fails with and without that change | 5311 // it fails with and without that change |
5072 static void fuzz763_4713_b(skiatest::Reporter* reporter, const char* filename) { | 5312 static void fuzz763_4713_b(skiatest::Reporter* reporter, const char* filename) { |
5073 SkPath path; | 5313 SkPath path; |
5074 path.setFillType((SkPath::FillType) 0); | 5314 path.setFillType((SkPath::FillType) 0); |
5075 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000)); | 5315 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000)); |
5076 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4
21aa09e), SkBits2Float(0x421aa09e)); | 5316 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4
21aa09e), SkBits2Float(0x421aa09e)); |
5077 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4
2040000), SkBits2Float(0x42240000)); | 5317 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4
2040000), SkBits2Float(0x42240000)); |
(...skipping 16 matching lines...) Expand all Loading... |
5094 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4
2040000), SkBits2Float(0x42240000)); | 5334 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4
2040000), SkBits2Float(0x42240000)); |
5095 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4
1dabec3), SkBits2Float(0x421aa09e)); | 5335 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4
1dabec3), SkBits2Float(0x421aa09e)); |
5096 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4
1c80000), SkBits2Float(0x42040000)); | 5336 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4
1c80000), SkBits2Float(0x42040000)); |
5097 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4
1dabec3), SkBits2Float(0x41dabec3)); | 5337 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4
1dabec3), SkBits2Float(0x41dabec3)); |
5098 path.quadTo(SkBits2Float(0x41db19b1), SkBits2Float(0x41da63d5), SkBits2Float(0x4
1db755b), SkBits2Float(0x41da0a9b)); | 5338 path.quadTo(SkBits2Float(0x41db19b1), SkBits2Float(0x41da63d5), SkBits2Float(0x4
1db755b), SkBits2Float(0x41da0a9b)); |
5099 path.quadTo(SkBits2Float(0x41dbce01), SkBits2Float(0x41d9ae59), SkBits2Float(0x4
1dc285e), SkBits2Float(0x41d952ce)); | 5339 path.quadTo(SkBits2Float(0x41dbce01), SkBits2Float(0x41d9ae59), SkBits2Float(0x4
1dc285e), SkBits2Float(0x41d952ce)); |
5100 path.quadTo(SkBits2Float(0x41dc55b6), SkBits2Float(0x41d924df), SkBits2Float(0x4
1dc82cd), SkBits2Float(0x41d8f7cd)); | 5340 path.quadTo(SkBits2Float(0x41dc55b6), SkBits2Float(0x41d924df), SkBits2Float(0x4
1dc82cd), SkBits2Float(0x41d8f7cd)); |
5101 path.quadTo(SkBits2Float(0x41dcaf1e), SkBits2Float(0x41d8ca01), SkBits2Float(0x4
1dcdc4c), SkBits2Float(0x41d89bf0)); | 5341 path.quadTo(SkBits2Float(0x41dcaf1e), SkBits2Float(0x41d8ca01), SkBits2Float(0x4
1dcdc4c), SkBits2Float(0x41d89bf0)); |
5102 path.quadTo(SkBits2Float(0x41ef6c33), SkBits2Float(0x41c5aec5), SkBits2Float(0x4
204f72e), SkBits2Float(0x41c56cd2)); | 5342 path.quadTo(SkBits2Float(0x41ef6c33), SkBits2Float(0x41c5aec5), SkBits2Float(0x4
204f72e), SkBits2Float(0x41c56cd2)); |
5103 path.close(); | 5343 path.close(); |
5104 testSimplifyCheck(reporter, path, filename, false); | 5344 // DEBUG_UNDER_DEVELOPMENT fuzz763_4713_b disable expectation check for now |
| 5345 testSimplifyCheck(reporter, path, filename, !FLAGS_runFail); |
| 5346 } |
| 5347 |
| 5348 static void dean4(skiatest::Reporter* reporter, const char* filename) { |
| 5349 SkPath path; |
| 5350 |
| 5351 // start region |
| 5352 // start loop, contour: 1 |
| 5353 // Segment 1145.3381097316742 2017.6783947944641 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2017.0033947825432 |
| 5354 path.moveTo(1145.3381347656250, 2017.6783447265625); |
| 5355 path.lineTo(1145.3381347656250, 2017.0034179687500); |
| 5356 // Segment 1145.3381097316742 2017.0033947825432 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6927231521568 2017.0033947825432 |
| 5357 path.lineTo(1143.6927490234375, 2017.0034179687500); |
| 5358 // Segment 1143.6927231521568 2017.0033947825432 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1144.8640675112890 2018.1589246992417 |
| 5359 path.lineTo(1144.8640136718750, 2018.1589355468750); |
| 5360 // Segment 1144.8640675112890 2018.1589246992417 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2017.6783947944641 |
| 5361 path.lineTo(1145.3381347656250, 2017.6783447265625); |
| 5362 path.close(); |
| 5363 // start loop, contour: 2 |
| 5364 // Segment 1145.3381097316742 2016.3216052055359 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1144.8640675258462 2015.8410752863977 |
| 5365 path.moveTo(1145.3381347656250, 2016.3216552734375); |
| 5366 path.lineTo(1144.8640136718750, 2015.8410644531250); |
| 5367 // Segment 1144.8640675258462 2015.8410752863977 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6927230811802 2016.9966052174568 |
| 5368 path.lineTo(1143.6927490234375, 2016.9965820312500); |
| 5369 // Segment 1143.6927230811802 2016.9966052174568 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2016.9966052174568 |
| 5370 path.lineTo(1145.3381347656250, 2016.9965820312500); |
| 5371 // Segment 1145.3381097316742 2016.9966052174568 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2016.3216052055359 |
| 5372 path.lineTo(1145.3381347656250, 2016.3216552734375); |
| 5373 path.close(); |
| 5374 // start loop, contour: 3 |
| 5375 // Segment 1147.3323798179626 2014.3542600870132 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220239557 2014.8347900059885 |
| 5376 path.moveTo(1147.3323974609375, 2014.3542480468750); |
| 5377 path.lineTo(1147.8063964843750, 2014.8348388671875); |
| 5378 // Segment 1147.8064220239557 2014.8347900059885 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220516883 2014.8347899786306 |
| 5379 path.lineTo(1147.8063964843750, 2014.8348388671875); |
| 5380 // Segment 1147.8064220516883 2014.8347899786306 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.3323798179626 2014.3542600870132 |
| 5381 path.lineTo(1147.3323974609375, 2014.3542480468750); |
| 5382 path.close(); |
| 5383 // start loop, contour: 4 |
| 5384 // Segment 1146.3696286678314 2013.4045072346926 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436708778083 2013.8850371497379 |
| 5385 path.moveTo(1146.3696289062500, 2013.4045410156250); |
| 5386 path.lineTo(1146.8436279296875, 2013.8850097656250); |
| 5387 // Segment 1146.8436708778083 2013.8850371497379 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436709015571 2013.8850371263100 |
| 5388 path.lineTo(1146.8436279296875, 2013.8850097656250); |
| 5389 // Segment 1146.8436709015571 2013.8850371263100 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.3696286678314 2013.4045072346926 |
| 5390 path.lineTo(1146.3696289062500, 2013.4045410156250); |
| 5391 path.close(); |
| 5392 // start loop, contour: 5 |
| 5393 // Segment 1143.2063037902117 2016.5251235961914 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615802348 2016.0445936811461 |
| 5394 path.moveTo(1143.2062988281250, 2016.5251464843750); |
| 5395 path.lineTo(1142.7322998046875, 2016.0445556640625); |
| 5396 // Segment 1142.7322615802348 2016.0445936811461 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615564860 2016.0445937045740 |
| 5397 path.lineTo(1142.7322998046875, 2016.0445556640625); |
| 5398 // Segment 1142.7322615564860 2016.0445937045740 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.2063037902117 2016.5251235961914 |
| 5399 path.lineTo(1143.2062988281250, 2016.5251464843750); |
| 5400 path.close(); |
| 5401 // start loop, contour: 6 |
| 5402 // Segment 1143.0687679275870 2016.7286419868469 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.5428101613127 2017.2091718784643 |
| 5403 path.moveTo(1143.0687255859375, 2016.7286376953125); |
| 5404 path.lineTo(1143.5428466796875, 2017.2092285156250); |
| 5405 // Segment 1143.5428101613127 2017.2091718784643 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.7437679395080 2017.0109272411960 |
| 5406 path.lineTo(1143.7437744140625, 2017.0109863281250); |
| 5407 // Segment 1143.7437679395080 2017.0109272411960 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.7437679395080 2016.7286419868469 |
| 5408 path.lineTo(1143.7437744140625, 2016.7286376953125); |
| 5409 // Segment 1143.7437679395080 2016.7286419868469 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.0687679275870 2016.7286419868469 |
| 5410 path.lineTo(1143.0687255859375, 2016.7286376953125); |
| 5411 path.close(); |
| 5412 // start loop, contour: 7 |
| 5413 // Segment 1143.2063037902117 2017.4748764038086 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615603032 2017.9554062991915 |
| 5414 path.moveTo(1143.2062988281250, 2017.4748535156250); |
| 5415 path.lineTo(1142.7322998046875, 2017.9554443359375); |
| 5416 // Segment 1142.7322615603032 2017.9554062991915 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615746241 2017.9554063133189 |
| 5417 path.lineTo(1142.7322998046875, 2017.9554443359375); |
| 5418 // Segment 1142.7322615746241 2017.9554063133189 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.2063037902117 2017.4748764038086 |
| 5419 path.lineTo(1143.2062988281250, 2017.4748535156250); |
| 5420 path.close(); |
| 5421 // start loop, contour: 8 |
| 5422 // Segment 1146.3696286678314 2020.5954928398132 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436708977399 2020.1149629444303 |
| 5423 path.moveTo(1146.3696289062500, 2020.5954589843750); |
| 5424 path.lineTo(1146.8436279296875, 2020.1149902343750); |
| 5425 // Segment 1146.8436708977399 2020.1149629444303 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436708834190 2020.1149629303029 |
| 5426 path.lineTo(1146.8436279296875, 2020.1149902343750); |
| 5427 // Segment 1146.8436708834190 2020.1149629303029 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.3696286678314 2020.5954928398132 |
| 5428 path.lineTo(1146.3696289062500, 2020.5954589843750); |
| 5429 path.close(); |
| 5430 // start loop, contour: 9 |
| 5431 // Segment 1147.3323798179626 2019.6457400321960 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220484741 2019.1652101374082 |
| 5432 path.moveTo(1147.3323974609375, 2019.6457519531250); |
| 5433 path.lineTo(1147.8063964843750, 2019.1651611328125); |
| 5434 // Segment 1147.8064220484741 2019.1652101374082 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220383478 2019.1652101274185 |
| 5435 path.lineTo(1147.8063964843750, 2019.1651611328125); |
| 5436 // Segment 1147.8064220383478 2019.1652101274185 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.3323798179626 2019.6457400321960 |
| 5437 path.lineTo(1147.3323974609375, 2019.6457519531250); |
| 5438 path.close(); |
| 5439 // start loop, contour: 10 |
| 5440 // Segment 1145.3381097316742 2018.3533948063850 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2018.3533948063850 |
| 5441 path.moveTo(1145.3381347656250, 2018.3533935546875); |
| 5442 path.lineTo(1156.6848144531250, 2018.3533935546875); |
| 5443 // Segment 1156.6848182678223 2018.3533948063850 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2017.0033947825432 |
| 5444 path.lineTo(1156.6848144531250, 2017.0034179687500); |
| 5445 // Segment 1156.6848182678223 2017.0033947825432 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2017.0033947825432 |
| 5446 path.lineTo(1145.3381347656250, 2017.0034179687500); |
| 5447 // Segment 1145.3381097316742 2017.0033947825432 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2018.3533948063850 |
| 5448 path.lineTo(1145.3381347656250, 2018.3533935546875); |
| 5449 path.close(); |
| 5450 // start loop, contour: 11 |
| 5451 // Segment 1156.6848182678223 2018.3533948063850 0.3569631313191 0.00000000000
00 -0.2645167304388 0.2609454237780 1157.6574279406423 2017.9723661860094 |
| 5452 path.moveTo(1156.6848144531250, 2018.3533935546875); |
| 5453 path.cubicTo(1157.0417480468750, 2018.3533935546875, 1157.3929443359375, 2018.
2332763671875, 1157.6574707031250, 2017.9724121093750); |
| 5454 // Segment 1157.6574279406423 2017.9723661860094 0.2653344079822 -0.2617520616
521 0.0000000000000 0.3596905289350 1158.0474975705147 2017.0000000000000 |
| 5455 path.cubicTo(1157.9227294921875, 2017.7105712890625, 1158.0474853515625, 2017.
3597412109375, 1158.0474853515625, 2017.0000000000000); |
| 5456 // Segment 1158.0474975705147 2017.0000000000000 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6974975466728 2017.0000000000000 |
| 5457 path.lineTo(1156.6975097656250, 2017.0000000000000); |
| 5458 // Segment 1156.6974975466728 2017.0000000000000 0.0028009248351 0.04033119814
85 0.0118595244351 -0.0220843520393 1156.6941780622435 2017.0325257649940 |
| 5459 path.cubicTo(1156.7003173828125, 2017.0402832031250, 1156.7060546875000, 2017.
0104980468750, 1156.6942138671875, 2017.0324707031250); |
| 5460 // Segment 1156.6941780622435 2017.0325257649940 -0.0032637855860 0.0184860248
562 0.0120617528380 -0.0065934603083 1156.7093435710913 2017.0113063061967 |
| 5461 path.cubicTo(1156.6909179687500, 2017.0510253906250, 1156.7214355468750, 2017.
0047607421875, 1156.7093505859375, 2017.0113525390625); |
| 5462 // split at 0.4496445953846 |
| 5463 // path.cubicTo(1156.6927490234375, 2017.0407714843750, 1156.6981201171875, 20
17.0360107421875, 1156.7033691406250, 2017.0289306640625); |
| 5464 // path.cubicTo(1156.7097167968750, 2017.0201416015625, 1156.7159423828125, 20
17.0076904296875, 1156.7093505859375, 2017.0113525390625); |
| 5465 // Segment 1156.7093435710913 2017.0113063061967 -0.0070717276929 0.0122220954
353 0.0203483811973 -0.0039136894418 1156.7268834554304 2016.9985353221975 |
| 5466 path.cubicTo(1156.7022705078125, 2017.0235595703125, 1156.7471923828125, 2016.
9946289062500, 1156.7269287109375, 2016.9985351562500); |
| 5467 // Segment 1156.7268834554304 2016.9985353221975 -0.0244396787691 0.0123649140
586 0.0433322464027 0.0026558844666 1156.6848182678223 2017.0033947825432 |
| 5468 path.cubicTo(1156.7023925781250, 2017.0108642578125, 1156.7281494140625, 2017.
0061035156250, 1156.6848144531250, 2017.0034179687500); |
| 5469 // split at 0.4418420493603 |
| 5470 // path.cubicTo(1156.7160644531250, 2017.0040283203125, 1156.7150878906250, 20
17.0061035156250, 1156.7136230468750, 2017.0065917968750); |
| 5471 // path.cubicTo(1156.7116699218750, 2017.0070800781250, 1156.7089843750000, 20
17.0048828125000, 1156.6848144531250, 2017.0034179687500); |
| 5472 // Segment 1156.6848182678223 2017.0033947825432 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2018.3533948063850 |
| 5473 path.lineTo(1156.6848144531250, 2018.3533935546875); |
| 5474 path.close(); |
| 5475 // start loop, contour: 12 |
| 5476 // Segment 1158.0474975705147 2017.0000000000000 0.0000000000000 -0.3596905289
350 0.2653344079822 0.2617520616521 1157.6574279406423 2016.0276338139906 |
| 5477 path.moveTo(1158.0474853515625, 2017.0000000000000); |
| 5478 path.cubicTo(1158.0474853515625, 2016.6402587890625, 1157.9227294921875, 2016.
2894287109375, 1157.6574707031250, 2016.0275878906250); |
| 5479 // Segment 1157.6574279406423 2016.0276338139906 -0.2645167304388 -0.260945423
7780 0.3569631313191 0.0000000000000 1156.6848182678223 2015.6466051936150 |
| 5480 path.cubicTo(1157.3929443359375, 2015.7667236328125, 1157.0417480468750, 2015.
6466064453125, 1156.6848144531250, 2015.6466064453125); |
| 5481 // split at 0.5481675863266 |
| 5482 // path.cubicTo(1157.5124511718750, 2015.8846435546875, 1157.3414306640625, 20
15.7839355468750, 1157.1577148437500, 2015.7220458984375); |
| 5483 // path.cubicTo(1157.0062255859375, 2015.6711425781250, 1156.8460693359375, 20
15.6466064453125, 1156.6848144531250, 2015.6466064453125); |
| 5484 // Segment 1156.6848182678223 2015.6466051936150 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2016.9966052174568 |
| 5485 path.lineTo(1156.6848144531250, 2016.9965820312500); |
| 5486 // Segment 1156.6848182678223 2016.9966052174568 0.0433322464027 -0.0026558844
666 -0.0244396787691 -0.0123649140586 1156.7268834554304 2017.0014646778025 |
| 5487 path.cubicTo(1156.7281494140625, 2016.9938964843750, 1156.7023925781250, 2016.
9891357421875, 1156.7269287109375, 2017.0014648437500); |
| 5488 // split at 0.5581579208374 |
| 5489 // path.cubicTo(1156.7089843750000, 2016.9951171875000, 1156.7116699218750, 20
16.9929199218750, 1156.7136230468750, 2016.9934082031250); |
| 5490 // path.cubicTo(1156.7150878906250, 2016.9938964843750, 1156.7160644531250, 20
16.9959716796875, 1156.7269287109375, 2017.0014648437500); |
| 5491 // Segment 1156.7268834554304 2017.0014646778025 0.0203483811973 0.00391368944
18 -0.0070717276929 -0.0122220954353 1156.7093435710913 2016.9886936938033 |
| 5492 path.cubicTo(1156.7471923828125, 2017.0053710937500, 1156.7022705078125, 2016.
9764404296875, 1156.7093505859375, 2016.9886474609375); |
| 5493 // Segment 1156.7093435710913 2016.9886936938033 0.0120617528380 0.00659346030
83 -0.0032637855860 -0.0184860248562 1156.6941780622435 2016.9674742350060 |
| 5494 path.cubicTo(1156.7214355468750, 2016.9952392578125, 1156.6909179687500, 2016.
9489746093750, 1156.6942138671875, 2016.9675292968750); |
| 5495 // Segment 1156.6941780622435 2016.9674742350060 0.0118595244351 0.02208435203
93 0.0028009248351 -0.0403311981485 1156.6974975466728 2017.0000000000000 |
| 5496 path.cubicTo(1156.7060546875000, 2016.9895019531250, 1156.7003173828125, 2016.
9597167968750, 1156.6975097656250, 2017.0000000000000); |
| 5497 // split at 0.4572408795357 |
| 5498 // path.cubicTo(1156.6995849609375, 2016.9775390625000, 1156.7014160156250, 20
16.9768066406250, 1156.7014160156250, 2016.9768066406250); |
| 5499 // path.cubicTo(1156.7014160156250, 2016.9769287109375, 1156.6989746093750, 20
16.9781494140625, 1156.6975097656250, 2017.0000000000000); |
| 5500 // Segment 1156.6974975466728 2017.0000000000000 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1158.0474975705147 2017.0000000000000 |
| 5501 path.lineTo(1158.0474853515625, 2017.0000000000000); |
| 5502 path.close(); |
| 5503 // start loop, contour: 13 |
| 5504 // Segment 1156.6848182678223 2015.6466051936150 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2015.6466051936150 |
| 5505 path.moveTo(1156.6848144531250, 2015.6466064453125); |
| 5506 path.lineTo(1145.3381347656250, 2015.6466064453125); |
| 5507 // Segment 1145.3381097316742 2015.6466051936150 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.3381097316742 2016.9966052174568 |
| 5508 path.lineTo(1145.3381347656250, 2016.9965820312500); |
| 5509 // Segment 1145.3381097316742 2016.9966052174568 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2016.9966052174568 |
| 5510 path.lineTo(1156.6848144531250, 2016.9965820312500); |
| 5511 // Segment 1156.6848182678223 2016.9966052174568 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1156.6848182678223 2015.6466051936150 |
| 5512 path.lineTo(1156.6848144531250, 2015.6466064453125); |
| 5513 path.close(); |
| 5514 // start loop, contour: 14 |
| 5515 // Segment 1145.8121519375022 2016.8021351246741 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220237907 2014.8347900061515 |
| 5516 path.moveTo(1145.8121337890625, 2016.8021240234375); |
| 5517 path.lineTo(1147.8063964843750, 2014.8348388671875); |
| 5518 // Segment 1147.8064220237907 2014.8347900061515 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8583376121346 2013.8737301678750 |
| 5519 path.lineTo(1146.8583984375000, 2013.8737792968750); |
| 5520 // Segment 1146.8583376121346 2013.8737301678750 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1144.8640675258462 2015.8410752863977 |
| 5521 path.lineTo(1144.8640136718750, 2015.8410644531250); |
| 5522 // Segment 1144.8640675258462 2015.8410752863977 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.8121519375022 2016.8021351246741 |
| 5523 path.lineTo(1145.8121337890625, 2016.8021240234375); |
| 5524 path.close(); |
| 5525 // start loop, contour: 15 |
| 5526 // Segment 1147.8064220516883 2014.8347899786306 0.5430154146087 -0.5356841365
729 0.5430154146087 0.5356841365729 1147.8064220516883 2012.9239773430752 |
| 5527 path.moveTo(1147.8063964843750, 2014.8348388671875); |
| 5528 path.cubicTo(1148.3494873046875, 2014.2990722656250, 1148.3494873046875, 2013.
4597167968750, 1147.8063964843750, 2012.9239501953125); |
| 5529 // Segment 1147.8064220516883 2012.9239773430752 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8583375842370 2013.8850371263100 |
| 5530 path.lineTo(1146.8583984375000, 2013.8850097656250); |
| 5531 // Segment 1146.8583375842370 2013.8850371263100 0.0071280060876 0.00703177052
40 0.0071280060876 -0.0070317705240 1146.8583375842370 2013.8737301953959 |
| 5532 path.cubicTo(1146.8654785156250, 2013.8920898437500, 1146.8654785156250, 2013.
8666992187500, 1146.8583984375000, 2013.8737792968750); |
| 5533 // Segment 1146.8583375842370 2013.8737301953959 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220516883 2014.8347899786306 |
| 5534 path.lineTo(1147.8063964843750, 2014.8348388671875); |
| 5535 path.close(); |
| 5536 // start loop, contour: 16 |
| 5537 // Segment 1147.8064220516883 2012.9239773430752 -0.5379138488298 -0.530651447
2866 0.5379138488298 -0.5306514472866 1145.8955864341058 2012.9239773430752 |
| 5538 path.moveTo(1147.8063964843750, 2012.9239501953125); |
| 5539 path.cubicTo(1147.2685546875000, 2012.3933105468750, 1146.4334716796875, 2012.
3933105468750, 1145.8956298828125, 2012.9239501953125); |
| 5540 // Segment 1145.8955864341058 2012.9239773430752 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436709015571 2013.8850371263100 |
| 5541 path.lineTo(1146.8436279296875, 2013.8850097656250); |
| 5542 // Segment 1146.8436709015571 2013.8850371263100 0.0122295718664 -0.0120644598
103 -0.0122295718664 -0.0120644598103 1146.8583375842370 2013.8850371263100 |
| 5543 path.cubicTo(1146.8559570312500, 2013.8729248046875, 1146.8460693359375, 2013.
8729248046875, 1146.8583984375000, 2013.8850097656250); |
| 5544 // Segment 1146.8583375842370 2013.8850371263100 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220516883 2012.9239773430752 |
| 5545 path.lineTo(1147.8063964843750, 2012.9239501953125); |
| 5546 path.close(); |
| 5547 // start loop, contour: 17 |
| 5548 // Segment 1145.8955864579798 2012.9239773195236 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615803600 2016.0445936810224 |
| 5549 path.moveTo(1145.8956298828125, 2012.9239501953125); |
| 5550 path.lineTo(1142.7322998046875, 2016.0445556640625); |
| 5551 // Segment 1142.7322615803600 2016.0445936810224 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6803460000633 2017.0056535113604 |
| 5552 path.lineTo(1143.6802978515625, 2017.0056152343750); |
| 5553 // Segment 1143.6803460000633 2017.0056535113604 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436708776831 2013.8850371498615 |
| 5554 path.lineTo(1146.8436279296875, 2013.8850097656250); |
| 5555 // Segment 1146.8436708776831 2013.8850371498615 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.8955864579798 2012.9239773195236 |
| 5556 path.lineTo(1145.8956298828125, 2012.9239501953125); |
| 5557 path.close(); |
| 5558 // start loop, contour: 18 |
| 5559 // Segment 1142.7322615564860 2016.0445937045740 -0.0343838913237 0.0339196727
021 0.0561572931720 -0.0710493024751 1142.5744069596683 2016.2183613784646 |
| 5560 path.moveTo(1142.7322998046875, 2016.0445556640625); |
| 5561 path.cubicTo(1142.6978759765625, 2016.0784912109375, 1142.6306152343750, 2016.
1473388671875, 1142.5744628906250, 2016.2183837890625); |
| 5562 // Segment 1142.5744069596683 2016.2183613784646 -0.0547779032556 0.0720510806
539 0.0000000000000 -0.2570904015602 1142.3937679156661 2016.7286419868469 |
| 5563 path.cubicTo(1142.5196533203125, 2016.2904052734375, 1142.3937988281250, 2016.
4715576171875, 1142.3937988281250, 2016.7286376953125); |
| 5564 // Segment 1142.3937679156661 2016.7286419868469 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.7437679395080 2016.7286419868469 |
| 5565 path.lineTo(1143.7437744140625, 2016.7286376953125); |
| 5566 // Segment 1143.7437679395080 2016.7286419868469 -0.0051909534315 0.0665915567
290 0.0133980913650 -0.0361675066532 1143.6976291086639 2016.9514128270803 |
| 5567 path.cubicTo(1143.7385253906250, 2016.7952880859375, 1143.7110595703125, 2016.
9152832031250, 1143.6976318359375, 2016.9514160156250); |
| 5568 // Segment 1143.6976291086639 2016.9514128270803 -0.0142876819622 0.0277028472
317 0.0040377216094 -0.0063254385208 1143.6490888124401 2017.0354042045738 |
| 5569 path.cubicTo(1143.6833496093750, 2016.9791259765625, 1143.6530761718750, 2017.
0290527343750, 1143.6490478515625, 2017.0354003906250); |
| 5570 // Segment 1143.6490888124401 2017.0354042045738 -0.0045813437564 0.0032098513
409 -0.0343840362634 0.0339198156850 1143.6803460239373 2017.0056534878088 |
| 5571 path.cubicTo(1143.6445312500000, 2017.0385742187500, 1143.6459960937500, 2017.
0395507812500, 1143.6802978515625, 2017.0056152343750); |
| 5572 // Segment 1143.6803460239373 2017.0056534878088 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615564860 2016.0445937045740 |
| 5573 path.lineTo(1142.7322998046875, 2016.0445556640625); |
| 5574 path.close(); |
| 5575 // start loop, contour: 19 |
| 5576 // Segment 1142.5947256938614 2016.2481120952295 -0.1857487117715 0.1832409092
043 0.0167379373694 -0.0990717748979 1142.3430278987244 2016.7518748698508 |
| 5577 path.moveTo(1142.5947265625000, 2016.2481689453125); |
| 5578 path.cubicTo(1142.4089355468750, 2016.4313964843750, 1142.3597412109375, 2016.
6528320312500, 1142.3430175781250, 2016.7518310546875); |
| 5579 // Segment 1142.3430278987244 2016.7518748698508 -0.0156657977007 0.1069052535
795 0.0000000000000 -0.0339197441936 1142.3249999880791 2017.0000000000000 |
| 5580 path.cubicTo(1142.3273925781250, 2016.8587646484375, 1142.3249511718750, 2016.
9660644531250, 1142.3249511718750, 2017.0000000000000); |
| 5581 // Segment 1142.3249999880791 2017.0000000000000 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6750000119209 2017.0000000000000 |
| 5582 path.lineTo(1143.6750488281250, 2017.0000000000000); |
| 5583 // Segment 1143.6750000119209 2017.0000000000000 0.0000000000000 -0.0339197441
936 -0.0015261841961 -0.0051459911965 1143.6741640831724 2016.9767671169961 |
| 5584 path.cubicTo(1143.6750488281250, 2016.9660644531250, 1143.6726074218750, 2016.
9716796875000, 1143.6741943359375, 2016.9768066406250); |
| 5585 // Segment 1143.6741640831724 2016.9767671169961 -0.0007886982052 0.0013596649
622 0.0074114058388 -0.0224954551713 1143.6525251830094 2017.0486861571169 |
| 5586 path.cubicTo(1143.6733398437500, 2016.9781494140625, 1143.6599121093750, 2017.
0262451171875, 1143.6524658203125, 2017.0487060546875); |
| 5587 // split at 0.4203657805920 |
| 5588 // path.cubicTo(1143.6738281250000, 2016.9774169921875, 1143.6712646484375, 20
16.9862060546875, 1143.6678466796875, 2016.9979248046875); |
| 5589 // path.cubicTo(1143.6630859375000, 2017.0140380859375, 1143.6567382812500, 20
17.0356445312500, 1143.6524658203125, 2017.0487060546875); |
| 5590 // Segment 1143.6525251830094 2017.0486861571169 -0.0119644334077 0.0236755853
369 0.0381324473830 -0.0447670202574 1143.5428101613127 2017.2091718784643 |
| 5591 path.cubicTo(1143.6405029296875, 2017.0723876953125, 1143.5809326171875, 2017.
1644287109375, 1143.5428466796875, 2017.2092285156250); |
| 5592 // Segment 1143.5428101613127 2017.2091718784643 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.5947256938614 2016.2481120952295 |
| 5593 path.lineTo(1142.5947265625000, 2016.2481689453125); |
| 5594 path.close(); |
| 5595 // start loop, contour: 20 |
| 5596 // Segment 1142.3249999880791 2017.0000000000000 0.0000000000000 0.03391974419
36 -0.0156657977007 -0.1069052535795 1142.3430278987244 2017.2481251301492 |
| 5597 path.moveTo(1142.3249511718750, 2017.0000000000000); |
| 5598 path.cubicTo(1142.3249511718750, 2017.0339355468750, 1142.3273925781250, 2017.
1412353515625, 1142.3430175781250, 2017.2481689453125); |
| 5599 // Segment 1142.3430278987244 2017.2481251301492 0.0167379373694 0.09907177489
79 -0.1857487117715 -0.1832409092043 1142.5947256938614 2017.7518879047705 |
| 5600 path.cubicTo(1142.3597412109375, 2017.3471679687500, 1142.4089355468750, 2017.
5686035156250, 1142.5947265625000, 2017.7518310546875); |
| 5601 // split at 0.4008532166481 |
| 5602 // path.cubicTo(1142.3497314453125, 2017.2878417968750, 1142.3616943359375, 20
17.3471679687500, 1142.3854980468750, 2017.4158935546875); |
| 5603 // path.cubicTo(1142.4211425781250, 2017.5185546875000, 1142.4833984375000, 20
17.6420898437500, 1142.5947265625000, 2017.7518310546875); |
| 5604 // Segment 1142.5947256938614 2017.7518879047705 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.5428101613127 2016.7908281215357 |
| 5605 path.lineTo(1143.5428466796875, 2016.7907714843750); |
| 5606 // Segment 1143.5428101613127 2016.7908281215357 0.0381324473830 0.04476702025
74 -0.0119644334077 -0.0236755853369 1143.6525251830094 2016.9513138428831 |
| 5607 path.cubicTo(1143.5809326171875, 2016.8355712890625, 1143.6405029296875, 2016.
9276123046875, 1143.6524658203125, 2016.9512939453125); |
| 5608 // Segment 1143.6525251830094 2016.9513138428831 0.0074114058388 0.02249545517
13 -0.0007886982052 -0.0013596649622 1143.6741640831724 2017.0232328830039 |
| 5609 path.cubicTo(1143.6599121093750, 2016.9737548828125, 1143.6733398437500, 2017.
0218505859375, 1143.6741943359375, 2017.0231933593750); |
| 5610 // Segment 1143.6741640831724 2017.0232328830039 -0.0015261841961 0.0051459911
965 0.0000000000000 0.0339197441936 1143.6750000119209 2017.0000000000000 |
| 5611 path.cubicTo(1143.6726074218750, 2017.0283203125000, 1143.6750488281250, 2017.
0339355468750, 1143.6750488281250, 2017.0000000000000); |
| 5612 // Segment 1143.6750000119209 2017.0000000000000 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.3249999880791 2017.0000000000000 |
| 5613 path.lineTo(1142.3249511718750, 2017.0000000000000); |
| 5614 path.close(); |
| 5615 // start loop, contour: 21 |
| 5616 // Segment 1142.5947256938614 2017.7518879047705 -0.0799271403989 -0.152261393
4208 -0.2174629955730 -0.2879403701950 1142.7322615564860 2017.9554062954260 |
| 5617 path.moveTo(1142.5947265625000, 2017.7518310546875); |
| 5618 path.cubicTo(1142.5147705078125, 2017.5996093750000, 1142.5147705078125, 2017.
6674804687500, 1142.7322998046875, 2017.9554443359375); |
| 5619 // Segment 1142.7322615564860 2017.9554062954260 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6803460239373 2016.9943465121912 |
| 5620 path.lineTo(1143.6802978515625, 2016.9943847656250); |
| 5621 // Segment 1143.6803460239373 2016.9943465121912 0.0799271403989 0.15226139342
08 0.2174629955730 0.2879403701950 1143.5428101613127 2016.7908281215357 |
| 5622 path.cubicTo(1143.7602539062500, 2017.1466064453125, 1143.7602539062500, 2017.
0787353515625, 1143.5428466796875, 2016.7907714843750); |
| 5623 // Segment 1143.5428101613127 2016.7908281215357 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.5947256938614 2017.7518879047705 |
| 5624 path.lineTo(1142.5947265625000, 2017.7518310546875); |
| 5625 path.close(); |
| 5626 // start loop, contour: 22 |
| 5627 // Segment 1142.7322615746241 2017.9554063133189 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.8955864522438 2021.0760227493236 |
| 5628 path.moveTo(1142.7322998046875, 2017.9554443359375); |
| 5629 path.lineTo(1145.8956298828125, 2021.0760498046875); |
| 5630 // Segment 1145.8955864522438 2021.0760227493236 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8436708834190 2020.1149629303029 |
| 5631 path.lineTo(1146.8436279296875, 2020.1149902343750); |
| 5632 // Segment 1146.8436708834190 2020.1149629303029 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1143.6803460057993 2016.9943464942983 |
| 5633 path.lineTo(1143.6802978515625, 2016.9943847656250); |
| 5634 // Segment 1143.6803460057993 2016.9943464942983 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1142.7322615746241 2017.9554063133189 |
| 5635 path.lineTo(1142.7322998046875, 2017.9554443359375); |
| 5636 path.close(); |
| 5637 // start loop, contour: 23 |
| 5638 // Segment 1145.8955864341058 2021.0760227314306 0.2730164534637 0.26933044478
91 -0.3016608168437 0.0000000000000 1146.8510041236877 2021.4740112423897 |
| 5639 path.moveTo(1145.8956298828125, 2021.0760498046875); |
| 5640 path.cubicTo(1146.1685791015625, 2021.3453369140625, 1146.5493164062500, 2021.
4739990234375, 1146.8509521484375, 2021.4739990234375); |
| 5641 // Segment 1146.8510041236877 2021.4740112423897 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8510041236877 2020.1240112185478 |
| 5642 path.lineTo(1146.8509521484375, 2020.1240234375000); |
| 5643 // Segment 1146.8510041236877 2020.1240112185478 -0.0031276099109 0.0031991747
760 0.0281856144058 0.0140930868099 1146.8580791488898 2020.1202473991566 |
| 5644 path.cubicTo(1146.8479003906250, 2020.1271972656250, 1146.8862304687500, 2020.
1343994140625, 1146.8580322265625, 2020.1202392578125); |
| 5645 // split at 0.3845077157021 |
| 5646 // path.cubicTo(1146.8497314453125, 2020.1252441406250, 1146.8547363281250, 20
20.1270751953125, 1146.8596191406250, 2020.1280517578125); |
| 5647 // path.cubicTo(1146.8675537109375, 2020.1296386718750, 1146.8753662109375, 20
20.1289062500000, 1146.8580322265625, 2020.1202392578125); |
| 5648 // Segment 1146.8580791488898 2020.1202473991566 -0.0369995545027 -0.012319580
5663 0.0067223483810 0.0136883790721 1146.8436709015571 2020.1149629481959 |
| 5649 path.cubicTo(1146.8210449218750, 2020.1079101562500, 1146.8503417968750, 2020.
1286621093750, 1146.8436279296875, 2020.1149902343750); |
| 5650 // Segment 1146.8436709015571 2020.1149629481959 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.8955864341058 2021.0760227314306 |
| 5651 path.lineTo(1145.8956298828125, 2021.0760498046875); |
| 5652 path.close(); |
| 5653 // start loop, contour: 24 |
| 5654 // Segment 1146.8510041236877 2021.4740112423897 0.3016605789999 0.00000000000
00 -0.2730166120260 0.2693306012106 1147.8064220516883 2021.0760227314306 |
| 5655 path.moveTo(1146.8509521484375, 2021.4739990234375); |
| 5656 path.cubicTo(1147.1527099609375, 2021.4739990234375, 1147.5334472656250, 2021.
3453369140625, 1147.8063964843750, 2021.0760498046875); |
| 5657 // Segment 1147.8064220516883 2021.0760227314306 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8583375842370 2020.1149629481959 |
| 5658 path.lineTo(1146.8583984375000, 2020.1149902343750); |
| 5659 // Segment 1146.8583375842370 2020.1149629481959 -0.0067222671256 0.0136883164
611 0.0369996293611 -0.0123196021258 1146.8439293663473 2020.1202473404985 |
| 5660 path.cubicTo(1146.8515625000000, 2020.1286621093750, 1146.8809814453125, 2020.
1079101562500, 1146.8438720703125, 2020.1202392578125); |
| 5661 // Segment 1146.8439293663473 2020.1202473404985 -0.0281857033438 0.0140931104
690 0.0031276541428 0.0031991704542 1146.8510041236877 2020.1240112185478 |
| 5662 path.cubicTo(1146.8157958984375, 2020.1343994140625, 1146.8541259765625, 2020.
1271972656250, 1146.8509521484375, 2020.1240234375000); |
| 5663 // Segment 1146.8510041236877 2020.1240112185478 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8510041236877 2021.4740112423897 |
| 5664 path.lineTo(1146.8509521484375, 2021.4739990234375); |
| 5665 path.close(); |
| 5666 // start loop, contour: 25 |
| 5667 // Segment 1147.8064220516883 2021.0760227314306 0.5430154146087 -0.5356841365
729 0.5430154146087 0.5356841365729 1147.8064220516883 2019.1652101405787 |
| 5668 path.moveTo(1147.8063964843750, 2021.0760498046875); |
| 5669 path.cubicTo(1148.3494873046875, 2020.5402832031250, 1148.3494873046875, 2019.
7009277343750, 1147.8063964843750, 2019.1651611328125); |
| 5670 // Segment 1147.8064220516883 2019.1652101405787 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8583375842370 2020.1262699238134 |
| 5671 path.lineTo(1146.8583984375000, 2020.1262207031250); |
| 5672 // Segment 1146.8583375842370 2020.1262699238134 0.0071280060876 0.00703177052
40 0.0071280060876 -0.0070317705240 1146.8583375842370 2020.1149629481959 |
| 5673 path.cubicTo(1146.8654785156250, 2020.1333007812500, 1146.8654785156250, 2020.
1079101562500, 1146.8583984375000, 2020.1149902343750); |
| 5674 // Segment 1146.8583375842370 2020.1149629481959 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220516883 2021.0760227314306 |
| 5675 path.lineTo(1147.8063964843750, 2021.0760498046875); |
| 5676 path.close(); |
| 5677 // start loop, contour: 26 |
| 5678 // Segment 1147.8064220383478 2019.1652101274185 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1145.8121519520594 2017.1978648896866 |
| 5679 path.moveTo(1147.8063964843750, 2019.1651611328125); |
| 5680 path.lineTo(1145.8121337890625, 2017.1978759765625); |
| 5681 // Segment 1145.8121519520594 2017.1978648896866 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1144.8640675112890 2018.1589246992417 |
| 5682 path.lineTo(1144.8640136718750, 2018.1589355468750); |
| 5683 // Segment 1144.8640675112890 2018.1589246992417 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1146.8583375975775 2020.1262699369736 |
| 5684 path.lineTo(1146.8583984375000, 2020.1262207031250); |
| 5685 // Segment 1146.8583375975775 2020.1262699369736 0.0000000000000 0.00000000000
00 0.0000000000000 0.0000000000000 1147.8064220383478 2019.1652101274185 |
| 5686 path.lineTo(1147.8063964843750, 2019.1651611328125); |
| 5687 path.close(); |
| 5688 |
| 5689 testSimplify(reporter, path, filename); |
| 5690 } |
| 5691 |
| 5692 static void testQuads66(skiatest::Reporter* reporter,const char* filename) { |
| 5693 SkPath path; |
| 5694 path.moveTo(2, 0); |
| 5695 path.quadTo(3, 1, 2, 2); |
| 5696 path.lineTo(2, 3); |
| 5697 path.close(); |
| 5698 path.moveTo(2, 1); |
| 5699 path.lineTo(2, 1); |
| 5700 path.quadTo(1, 2, 2, 2); |
| 5701 path.close(); |
| 5702 testSimplify(reporter, path, filename); |
| 5703 } |
| 5704 |
| 5705 static void testQuads67(skiatest::Reporter* reporter,const char* filename) { |
| 5706 SkPath path; |
| 5707 path.moveTo(3, 2); |
| 5708 path.quadTo(1, 3, 3, 3); |
| 5709 path.lineTo(3, 3); |
| 5710 path.close(); |
| 5711 path.moveTo(0, 0); |
| 5712 path.lineTo(1, 0); |
| 5713 path.quadTo(2, 3, 3, 3); |
| 5714 path.close(); |
| 5715 testSimplify(reporter, path, filename); |
| 5716 } |
| 5717 |
| 5718 static void testQuads68(skiatest::Reporter* reporter,const char* filename) { |
| 5719 SkPath path; |
| 5720 path.moveTo(1, 2); |
| 5721 path.quadTo(0, 3, 2, 3); |
| 5722 path.lineTo(2, 3); |
| 5723 path.close(); |
| 5724 path.moveTo(1, 0); |
| 5725 path.lineTo(0, 1); |
| 5726 path.quadTo(1, 3, 2, 3); |
| 5727 path.close(); |
| 5728 testSimplify(reporter, path, filename); |
| 5729 } |
| 5730 |
| 5731 static void testQuads69(skiatest::Reporter* reporter,const char* filename) { |
| 5732 SkPath path; |
| 5733 path.moveTo(1, 0); |
| 5734 path.quadTo(2, 2, 2, 3); |
| 5735 path.lineTo(2, 3); |
| 5736 path.close(); |
| 5737 path.moveTo(1, 0); |
| 5738 path.lineTo(1, 0); |
| 5739 path.quadTo(3, 0, 1, 3); |
| 5740 path.close(); |
| 5741 testSimplify(reporter, path, filename); |
| 5742 } |
| 5743 |
| 5744 static void testQuads70(skiatest::Reporter* reporter, const char* filename) { |
| 5745 SkPath path; |
| 5746 path.moveTo(1, 1); |
| 5747 path.quadTo(2, 3, 3, 3); |
| 5748 path.lineTo(3, 3); |
| 5749 path.close(); |
| 5750 path.moveTo(2, 0); |
| 5751 path.lineTo(2, 2); |
| 5752 path.quadTo(1, 3, 3, 3); |
| 5753 path.close(); |
| 5754 testSimplify(reporter, path, filename); |
| 5755 } |
| 5756 |
| 5757 static void testQuads71(skiatest::Reporter* reporter, const char* filename) { |
| 5758 SkPath path; |
| 5759 path.moveTo(1, 1); |
| 5760 path.quadTo(2, 3, 3, 3); |
| 5761 path.lineTo(3, 3); |
| 5762 path.close(); |
| 5763 path.moveTo(3, 0); |
| 5764 path.lineTo(2, 2); |
| 5765 path.quadTo(1, 3, 3, 3); |
| 5766 path.close(); |
| 5767 testSimplify(reporter, path, filename); |
| 5768 } |
| 5769 |
| 5770 static void testQuads72(skiatest::Reporter* reporter, const char* filename) { |
| 5771 SkPath path; |
| 5772 path.moveTo(1, 1); |
| 5773 path.quadTo(2, 3, 3, 3); |
| 5774 path.lineTo(3, 3); |
| 5775 path.close(); |
| 5776 path.moveTo(0, 1); |
| 5777 path.lineTo(2, 2); |
| 5778 path.quadTo(1, 3, 3, 3); |
| 5779 path.close(); |
| 5780 testSimplify(reporter, path, filename); |
5105 } | 5781 } |
5106 | 5782 |
5107 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; | 5783 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; |
5108 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; | 5784 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; |
5109 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; | 5785 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
5110 | 5786 |
5111 static TestDesc tests[] = { | 5787 static TestDesc tests[] = { |
| 5788 TEST(testQuads72), |
| 5789 TEST(testQuads71), |
| 5790 TEST(testQuads70), |
| 5791 TEST(testQuads69), |
| 5792 TEST(testQuads68), |
| 5793 TEST(testQuads67), |
| 5794 TEST(testQuads66), |
| 5795 TEST(dean4), |
| 5796 TEST(tiger8a_h_1), |
| 5797 TEST(tiger8a_h), |
| 5798 TEST(tiger8a), |
| 5799 TEST(tiger8b), |
| 5800 TEST(tiger8), |
5112 TEST(fuzz763_4713_b), | 5801 TEST(fuzz763_4713_b), |
5113 TEST(fuzz_59), | |
5114 TEST(fuzz_twister2), | 5802 TEST(fuzz_twister2), |
5115 TEST(fuzz_twister), | 5803 TEST(fuzz_twister), |
5116 TEST(fuzz994s_3414), | 5804 TEST(fuzz994s_3414), |
5117 TEST(fuzz994s_11), | 5805 TEST(fuzz994s_11), |
5118 TEST(cr514118), | 5806 TEST(cr514118), |
5119 TEST(fuzz864a), | 5807 TEST(fuzz864a), |
5120 TEST(testQuads65), | 5808 TEST(testQuads65), |
5121 TEST(testIssue3838_3), | 5809 TEST(testIssue3838_3), |
5122 TEST(testIssue3838), | 5810 TEST(testIssue3838), |
5123 TEST(testArc), | 5811 TEST(testArc), |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5558 | 6246 |
5559 DEF_TEST(PathOpsSimplify, reporter) { | 6247 DEF_TEST(PathOpsSimplify, reporter) { |
5560 if (runSubTests && runSubTestsFirst) { | 6248 if (runSubTests && runSubTestsFirst) { |
5561 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop
Test, runReverse); | 6249 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop
Test, runReverse); |
5562 } | 6250 } |
5563 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev
erse); | 6251 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev
erse); |
5564 if (runSubTests && !runSubTestsFirst) { | 6252 if (runSubTests && !runSubTestsFirst) { |
5565 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop
Test, runReverse); | 6253 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop
Test, runReverse); |
5566 } | 6254 } |
5567 } | 6255 } |
OLD | NEW |