Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: tests/PathOpsBattles.cpp

Issue 1037573004: cumulative pathops patch (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix pathopsinverse gm Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsAngleTest.cpp ('k') | tests/PathOpsBuilderTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 #define TEST(name) { name, #name } 10 #define TEST(name) { name, #name }
(...skipping 18 matching lines...) Expand all
29 path2.moveTo(46.9383f, 68.4529f); 29 path2.moveTo(46.9383f, 68.4529f);
30 path2.cubicTo(17.5117f, 88.6307f, -21.518f, 87.7442f, -49.9981f, 66.251f); 30 path2.cubicTo(17.5117f, 88.6307f, -21.518f, 87.7442f, -49.9981f, 66.251f);
31 path2.cubicTo(-78.4781f, 44.7578f, -90.035f, 7.46781f, -78.7014f, -26.3644f) ; 31 path2.cubicTo(-78.4781f, 44.7578f, -90.035f, 7.46781f, -78.7014f, -26.3644f) ;
32 path2.cubicTo(-67.3679f, -60.1967f, -35.6801f, -83, -1.48383e-06f, -83); 32 path2.cubicTo(-67.3679f, -60.1967f, -35.6801f, -83, -1.48383e-06f, -83);
33 path2.lineTo(4.22689e-14f, -60); 33 path2.lineTo(4.22689e-14f, -60);
34 path2.cubicTo(-25.7929f, -60, -48.6997f, -43.5157f, -56.8926f, -19.0586f); 34 path2.cubicTo(-25.7929f, -60, -48.6997f, -43.5157f, -56.8926f, -19.0586f);
35 path2.cubicTo(-65.0855f, 5.39842f, -56.7312f, 32.355f, -36.1432f, 47.8923f); 35 path2.cubicTo(-65.0855f, 5.39842f, -56.7312f, 32.355f, -36.1432f, 47.8923f);
36 path2.cubicTo(-15.5552f, 63.4296f, 12.6591f, 64.0704f, 33.9313f, 49.484f); 36 path2.cubicTo(-15.5552f, 63.4296f, 12.6591f, 64.0704f, 33.9313f, 49.484f);
37 path2.lineTo(46.9383f, 68.4529f); 37 path2.lineTo(46.9383f, 68.4529f);
38 path2.close(); 38 path2.close();
39 testPathOp(reporter, path1, path2, kUnion_PathOp, filename); 39 testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
40 } 40 }
41 41
42 static void issue414409b(skiatest::Reporter* reporter, const char* filename) { 42 static void issue414409b(skiatest::Reporter* reporter, const char* filename) {
43 SkPath path1, path2; 43 SkPath path1, path2;
44 // one fill=0 op=2 44 // one fill=0 op=2
45 path1.setFillType((SkPath::FillType) 0); 45 path1.setFillType((SkPath::FillType) 0);
46 path1.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 46 path1.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
47 path1.cubicTo(SkBits2Float(0x41f12edc), SkBits2Float(0xc2a5ffff), SkBits2Float(0 x4267b362), SkBits2Float(0xc2854e1f), SkBits2Float(0x42911faa), SkBits2Float(0xc 2212f3b)); 47 path1.cubicTo(SkBits2Float(0x41f12edc), SkBits2Float(0xc2a5ffff), SkBits2Float(0 x4267b362), SkBits2Float(0xc2854e1f), SkBits2Float(0x42911faa), SkBits2Float(0xc 2212f3b));
48 path1.cubicTo(SkBits2Float(0x42ae65a2), SkBits2Float(0xc15f08de), SkBits2Float(0 x42acc913), SkBits2Float(0x41923f59), SkBits2Float(0x428ce9f0), SkBits2Float(0x4 22f7dc4)); 48 path1.cubicTo(SkBits2Float(0x42ae65a2), SkBits2Float(0xc15f08de), SkBits2Float(0 x42acc913), SkBits2Float(0x41923f59), SkBits2Float(0x428ce9f0), SkBits2Float(0x4 22f7dc4));
49 path1.lineTo(SkBits2Float(0x424bbb16), SkBits2Float(0x41fdb8ed)); 49 path1.lineTo(SkBits2Float(0x424bbb16), SkBits2Float(0x41fdb8ed));
50 path1.cubicTo(SkBits2Float(0x4279cf6e), SkBits2Float(0x41537137), SkBits2Float(0 x427c23ea), SkBits2Float(0xc1213ad2), SkBits2Float(0x4251d142), SkBits2Float(0xc 1e909ae)); 50 path1.cubicTo(SkBits2Float(0x4279cf6e), SkBits2Float(0x41537137), SkBits2Float(0 x427c23ea), SkBits2Float(0xc1213ad2), SkBits2Float(0x4251d142), SkBits2Float(0xc 1e909ae));
51 path1.cubicTo(SkBits2Float(0x42277e9a), SkBits2Float(0xc240baf8), SkBits2Float(0 x41ae5968), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc 2700000)); 51 path1.cubicTo(SkBits2Float(0x42277e9a), SkBits2Float(0xc240baf8), SkBits2Float(0 x41ae5968), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc 2700000));
52 path1.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 52 path1.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
53 path1.close(); 53 path1.close();
54 54
55 path2.setFillType((SkPath::FillType) 1); 55 path2.setFillType((SkPath::FillType) 1);
56 path2.moveTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6)); 56 path2.moveTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6));
57 path2.cubicTo(SkBits2Float(0x4286af43), SkBits2Float(0x42437fa7), SkBits2Float(0 x427ed0d6), SkBits2Float(0x42561f5a), SkBits2Float(0x426e69d2), SkBits2Float(0x4 2670c39)); 57 path2.cubicTo(SkBits2Float(0x4286af43), SkBits2Float(0x42437fa7), SkBits2Float(0 x427ed0d6), SkBits2Float(0x42561f5a), SkBits2Float(0x426e69d2), SkBits2Float(0x4 2670c39));
58 path2.lineTo(SkBits2Float(0x422c58d6), SkBits2Float(0x422705c1)); 58 path2.lineTo(SkBits2Float(0x422c58d6), SkBits2Float(0x422705c1));
59 path2.cubicTo(SkBits2Float(0x42383446), SkBits2Float(0x421ac98f), SkBits2Float(0 x4242b98a), SkBits2Float(0x420d5308), SkBits2Float(0x424bbb17), SkBits2Float(0x4 1fdb8ee)); 59 path2.cubicTo(SkBits2Float(0x42383446), SkBits2Float(0x421ac98f), SkBits2Float(0 x4242b98a), SkBits2Float(0x420d5308), SkBits2Float(0x424bbb17), SkBits2Float(0x4 1fdb8ee));
60 path2.lineTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6)); 60 path2.lineTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6));
61 path2.close(); 61 path2.close();
62 // SkOpSegment.cpp:3488: failed assertion "other->fTs[min].fWindSum == oppWindin g" 62 testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
63 testPathOp(reporter, path1, path2, kUnion_PathOp, filename);
64 } 63 }
65 64
66 static void issue414409c(skiatest::Reporter* reporter, const char* filename) { 65 static void issue414409c(skiatest::Reporter* reporter, const char* filename) {
67 SkPath path1, path2; 66 SkPath path1, path2;
68 path1.setFillType((SkPath::FillType) 1); 67 path1.setFillType((SkPath::FillType) 1);
69 path1.moveTo(SkBits2Float(0x36961ef0), SkBits2Float(0xc2700000)); 68 path1.moveTo(SkBits2Float(0x36961ef0), SkBits2Float(0xc2700000));
70 path1.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 69 path1.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
71 path1.cubicTo(SkBits2Float(0x3df86648), SkBits2Float(0xc2a60000), SkBits2Float(0 x3e786777), SkBits2Float(0xc2a5ffdc), SkBits2Float(0x3eba4dc2), SkBits2Float(0xc 2a5ff96)); 70 path1.cubicTo(SkBits2Float(0x3df86648), SkBits2Float(0xc2a60000), SkBits2Float(0 x3e786777), SkBits2Float(0xc2a5ffdc), SkBits2Float(0x3eba4dc2), SkBits2Float(0xc 2a5ff96));
72 path1.lineTo(SkBits2Float(0x3eba4dc3), SkBits2Float(0xc2a5ff97)); 71 path1.lineTo(SkBits2Float(0x3eba4dc3), SkBits2Float(0xc2a5ff97));
73 path1.cubicTo(SkBits2Float(0x3ec08370), SkBits2Float(0xc2a5ff8f), SkBits2Float(0 x3ec6b964), SkBits2Float(0xc2a5ff88), SkBits2Float(0x3eccef58), SkBits2Float(0xc 2a5ff80)); 72 path1.cubicTo(SkBits2Float(0x3ec08370), SkBits2Float(0xc2a5ff8f), SkBits2Float(0 x3ec6b964), SkBits2Float(0xc2a5ff88), SkBits2Float(0x3eccef58), SkBits2Float(0xc 2a5ff80));
74 path1.lineTo(SkBits2Float(0x3e942522), SkBits2Float(0xc26fff49)); 73 path1.lineTo(SkBits2Float(0x3e942522), SkBits2Float(0xc26fff49));
75 path1.cubicTo(SkBits2Float(0x3e8fa7da), SkBits2Float(0xc26fff56), SkBits2Float(0 x3e8b2acd), SkBits2Float(0xc26fff61), SkBits2Float(0x3e86adc0), SkBits2Float(0xc 26fff6b)); 74 path1.cubicTo(SkBits2Float(0x3e8fa7da), SkBits2Float(0xc26fff56), SkBits2Float(0 x3e8b2acd), SkBits2Float(0xc26fff61), SkBits2Float(0x3e86adc0), SkBits2Float(0xc 26fff6b));
76 path1.lineTo(SkBits2Float(0x3e86ad6a), SkBits2Float(0xc26fff69)); 75 path1.lineTo(SkBits2Float(0x3e86ad6a), SkBits2Float(0xc26fff69));
77 path1.cubicTo(SkBits2Float(0x3e3391e9), SkBits2Float(0xc26fffce), SkBits2Float(0 x3db3931e), SkBits2Float(0xc2700000), SkBits2Float(0x36961ef0), SkBits2Float(0xc 2700000)); 76 path1.cubicTo(SkBits2Float(0x3e3391e9), SkBits2Float(0xc26fffce), SkBits2Float(0 x3db3931e), SkBits2Float(0xc2700000), SkBits2Float(0x36961ef0), SkBits2Float(0xc 2700000));
78 path1.close(); 77 path1.close();
79 78
80 path2.setFillType((SkPath::FillType) 0); 79 path2.setFillType((SkPath::FillType) 0);
81 path2.moveTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81)); 80 path2.moveTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81));
82 path2.cubicTo(SkBits2Float(0x3f18c8a9), SkBits2Float(0xc2a5ff04), SkBits2Float(0 x3f4b19b0), SkBits2Float(0xc2a5fe2d), SkBits2Float(0x3f7d6a37), SkBits2Float(0xc 2a5fcfa)); 81 path2.cubicTo(SkBits2Float(0x3f18c8a9), SkBits2Float(0xc2a5ff04), SkBits2Float(0 x3f4b19b0), SkBits2Float(0xc2a5fe2d), SkBits2Float(0x3f7d6a37), SkBits2Float(0xc 2a5fcfa));
83 path2.lineTo(SkBits2Float(0x3f3730f2), SkBits2Float(0xc26ffba1)); 82 path2.lineTo(SkBits2Float(0x3f3730f2), SkBits2Float(0xc26ffba1));
84 path2.cubicTo(SkBits2Float(0x3f12d1c8), SkBits2Float(0xc26ffd5d), SkBits2Float(0 x3edce4b4), SkBits2Float(0xc26ffe95), SkBits2Float(0x3e942577), SkBits2Float(0xc 26fff49)); 83 path2.cubicTo(SkBits2Float(0x3f12d1c8), SkBits2Float(0xc26ffd5d), SkBits2Float(0 x3edce4b4), SkBits2Float(0xc26ffe95), SkBits2Float(0x3e942577), SkBits2Float(0xc 26fff49));
85 path2.lineTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81)); 84 path2.lineTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81));
86 path2.close(); 85 path2.close();
87 86
88 testPathOp(reporter, path1, path2, kUnion_PathOp, filename); 87 testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
89 } 88 }
90 89
91 // fails to draw correctly 90 // fails to draw correctly
92 static void battleOp1(skiatest::Reporter* reporter, const char* filename) { 91 static void battleOp1(skiatest::Reporter* reporter, const char* filename) {
93 SkPath path; 92 SkPath path;
94 path.setFillType((SkPath::FillType) 0); 93 path.setFillType((SkPath::FillType) 0);
95 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 94 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
96 path.cubicTo(SkBits2Float(0x3ea4d9f5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3f24d9a9), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f774519), SkBits2Float(0xc2 a5fd1f)); 95 path.cubicTo(SkBits2Float(0x3ea4d9f5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3f24d9a9), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f774519), SkBits2Float(0xc2 a5fd1f));
97 path.lineTo(SkBits2Float(0x3f32bfc3), SkBits2Float(0xc26ffbd7)); 96 path.lineTo(SkBits2Float(0x3f32bfc3), SkBits2Float(0xc26ffbd7));
98 path.cubicTo(SkBits2Float(0x3eee5669), SkBits2Float(0xc26ffe9e), SkBits2Float(0x 3e6e56cc), SkBits2Float(0xc2700000), SkBits2Float(0x357ffb40), SkBits2Float(0xc2 700000)); 97 path.cubicTo(SkBits2Float(0x3eee5669), SkBits2Float(0xc26ffe9e), SkBits2Float(0x 3e6e56cc), SkBits2Float(0xc2700000), SkBits2Float(0x357ffb40), SkBits2Float(0xc2 700000));
(...skipping 1190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1289 path.reset(); 1288 path.reset();
1290 path.setFillType((SkPath::FillType) 0); 1289 path.setFillType((SkPath::FillType) 0);
1291 path.moveTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f)); 1290 path.moveTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
1292 path.cubicTo(SkBits2Float(0x42b50145), SkBits2Float(0xc1875361), SkBits2Float(0x 42afc74e), SkBits2Float(0x41db6d5e), SkBits2Float(0x4272e616), SkBits2Float(0x42 6253de)); 1291 path.cubicTo(SkBits2Float(0x42b50145), SkBits2Float(0xc1875361), SkBits2Float(0x 42afc74e), SkBits2Float(0x41db6d5e), SkBits2Float(0x4272e616), SkBits2Float(0x42 6253de));
1293 path.lineTo(SkBits2Float(0x422f96e8), SkBits2Float(0x42239c3e)); 1292 path.lineTo(SkBits2Float(0x422f96e8), SkBits2Float(0x42239c3e));
1294 path.cubicTo(SkBits2Float(0x427e233c), SkBits2Float(0x419e9f42), SkBits2Float(0x 4282d8d3), SkBits2Float(0xc143a6d1), SkBits2Float(0x42419734), SkBits2Float(0xc2 0ddabb)); 1293 path.cubicTo(SkBits2Float(0x427e233c), SkBits2Float(0x419e9f42), SkBits2Float(0x 4282d8d3), SkBits2Float(0xc143a6d1), SkBits2Float(0x42419734), SkBits2Float(0xc2 0ddabb));
1295 path.lineTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f)); 1294 path.lineTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
1296 path.close(); 1295 path.close();
1297 1296
1298 SkPath path2(path); 1297 SkPath path2(path);
1299 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 1298 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1300 } 1299 }
1301 // op end success 1 1300 // op end success 1
1302 1301
1303 static void battleOp47(skiatest::Reporter* reporter, const char* filename) { 1302 static void battleOp47(skiatest::Reporter* reporter, const char* filename) {
1304 SkPath path; 1303 SkPath path;
1305 path.setFillType((SkPath::FillType) 0); 1304 path.setFillType((SkPath::FillType) 0);
1306 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1305 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1307 path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb70), SkBits2Float(0xc2 41f0ca)); 1306 path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb70), SkBits2Float(0xc2 41f0ca));
1308 path.lineTo(SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1)); 1307 path.lineTo(SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1));
1309 path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x 419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000)); 1308 path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x 419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000));
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 path.moveTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e)); 1504 path.moveTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
1506 path.cubicTo(SkBits2Float(0x42ad725e), SkBits2Float(0x416ed313), SkBits2Float(0x 42982fa2), SkBits2Float(0x4230cc44), SkBits2Float(0x42575fca), SkBits2Float(0x42 7ca963)); 1505 path.cubicTo(SkBits2Float(0x42ad725e), SkBits2Float(0x416ed313), SkBits2Float(0x 42982fa2), SkBits2Float(0x4230cc44), SkBits2Float(0x42575fca), SkBits2Float(0x42 7ca963));
1507 path.cubicTo(SkBits2Float(0x41fcc0a1), SkBits2Float(0x42a44341), SkBits2Float(0x 3f80ed4e), SkBits2Float(0x42affc4e), SkBits2Float(0xc1d56b7f), SkBits2Float(0x42 9d3115)); 1506 path.cubicTo(SkBits2Float(0x41fcc0a1), SkBits2Float(0x42a44341), SkBits2Float(0x 3f80ed4e), SkBits2Float(0x42affc4e), SkBits2Float(0xc1d56b7f), SkBits2Float(0x42 9d3115));
1508 path.lineTo(SkBits2Float(0xc19a478e), SkBits2Float(0x426343e2)); 1507 path.lineTo(SkBits2Float(0xc19a478e), SkBits2Float(0x426343e2));
1509 path.cubicTo(SkBits2Float(0x3f3a6666), SkBits2Float(0x427e6fe0), SkBits2Float(0x 41b6b66f), SkBits2Float(0x426d7d04), SkBits2Float(0x421bb135), SkBits2Float(0x42 36a5a5)); 1508 path.cubicTo(SkBits2Float(0x3f3a6666), SkBits2Float(0x427e6fe0), SkBits2Float(0x 41b6b66f), SkBits2Float(0x426d7d04), SkBits2Float(0x421bb135), SkBits2Float(0x42 36a5a5));
1510 path.cubicTo(SkBits2Float(0x425c0733), SkBits2Float(0x41ff9c8c), SkBits2Float(0x 427ac435), SkBits2Float(0x412ca4f2), SkBits2Float(0x426c9cb3), SkBits2Float(0xc1 20bbf8)); 1509 path.cubicTo(SkBits2Float(0x425c0733), SkBits2Float(0x41ff9c8c), SkBits2Float(0x 427ac435), SkBits2Float(0x412ca4f2), SkBits2Float(0x426c9cb3), SkBits2Float(0xc1 20bbf8));
1511 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e)); 1510 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
1512 path.close(); 1511 path.close();
1513 1512
1514 SkPath path2(path); 1513 SkPath path2(path);
1515 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 1514 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1516 } 1515 }
1517 // op end success 1 1516 // op end success 1
1518 1517
1519 static void battleOp55(skiatest::Reporter* reporter, const char* filename) { 1518 static void battleOp55(skiatest::Reporter* reporter, const char* filename) {
1520 SkPath path; 1519 SkPath path;
1521 path.setFillType((SkPath::FillType) 0); 1520 path.setFillType((SkPath::FillType) 0);
1522 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1521 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1523 path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc1 6b5614)); 1522 path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc1 6b5614));
1524 path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61)); 1523 path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
1525 path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x 41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000)); 1524 path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x 41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000));
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 path.reset(); 1746 path.reset();
1748 path.setFillType((SkPath::FillType) 0); 1747 path.setFillType((SkPath::FillType) 0);
1749 path.moveTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe)); 1748 path.moveTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
1750 path.cubicTo(SkBits2Float(0x408a83ff), SkBits2Float(0xc2a5cc72), SkBits2Float(0x 40b8130f), SkBits2Float(0xc2a5a01a), SkBits2Float(0x40e58a06), SkBits2Float(0xc2 a56100)); 1749 path.cubicTo(SkBits2Float(0x408a83ff), SkBits2Float(0xc2a5cc72), SkBits2Float(0x 40b8130f), SkBits2Float(0xc2a5a01a), SkBits2Float(0x40e58a06), SkBits2Float(0xc2 a56100));
1751 path.lineTo(SkBits2Float(0x40a5ee90), SkBits2Float(0xc26f1a20)); 1750 path.lineTo(SkBits2Float(0x40a5ee90), SkBits2Float(0xc26f1a20));
1752 path.cubicTo(SkBits2Float(0x408510de), SkBits2Float(0xc26f755e), SkBits2Float(0x 40484386), SkBits2Float(0xc26fb57a), SkBits2Float(0x40065347), SkBits2Float(0xc2 6fda68)); 1751 path.cubicTo(SkBits2Float(0x408510de), SkBits2Float(0xc26f755e), SkBits2Float(0x 40484386), SkBits2Float(0xc26fb57a), SkBits2Float(0x40065347), SkBits2Float(0xc2 6fda68));
1753 path.lineTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe)); 1752 path.lineTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
1754 path.close(); 1753 path.close();
1755 1754
1756 SkPath path2(path); 1755 SkPath path2(path);
1757 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 1756 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1758 } 1757 }
1759 // op end success 1 1758 // op end success 1
1760 1759
1761 static void battleOp64(skiatest::Reporter* reporter, const char* filename) { 1760 static void battleOp64(skiatest::Reporter* reporter, const char* filename) {
1762 SkPath path; 1761 SkPath path;
1763 path.setFillType((SkPath::FillType) 0); 1762 path.setFillType((SkPath::FillType) 0);
1764 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1763 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1765 path.cubicTo(SkBits2Float(0x3faf587e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 402f5505), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372de), SkBits2Float(0xc2 a5cbeb)); 1764 path.cubicTo(SkBits2Float(0x3faf587e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 402f5505), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372de), SkBits2Float(0xc2 a5cbeb));
1766 path.lineTo(SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6)); 1765 path.lineTo(SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6));
1767 path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x 3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2 700000)); 1766 path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x 3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2 700000));
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1877 path.reset(); 1876 path.reset();
1878 path.setFillType((SkPath::FillType) 0); 1877 path.setFillType((SkPath::FillType) 0);
1879 path.moveTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d)); 1878 path.moveTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
1880 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b)); 1879 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b));
1881 path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3)); 1880 path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3));
1882 path.cubicTo(SkBits2Float(0x3eb36c27), SkBits2Float(0xc26ffef6), SkBits2Float(0x 3eadd0dd), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea83592), SkBits2Float(0xc2 6fff16)); 1881 path.cubicTo(SkBits2Float(0x3eb36c27), SkBits2Float(0xc26ffef6), SkBits2Float(0x 3eadd0dd), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea83592), SkBits2Float(0xc2 6fff16));
1883 path.lineTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d)); 1882 path.lineTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
1884 path.close(); 1883 path.close();
1885 1884
1886 SkPath path2(path); 1885 SkPath path2(path);
1887 if (FLAGS_runFail) { 1886 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1888 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1889 } else {
1890 testPathFailOp(reporter, path1, path2, (SkPathOp) 2, filename);
1891 }
1892 } 1887 }
1893 // op end success 1 1888 // op end success 1
1894 1889
1895 static void battleOp69(skiatest::Reporter* reporter, const char* filename) { 1890 static void battleOp69(skiatest::Reporter* reporter, const char* filename) {
1896 SkPath path; 1891 SkPath path;
1897 path.setFillType((SkPath::FillType) 1); 1892 path.setFillType((SkPath::FillType) 1);
1898 path.moveTo(SkBits2Float(0x36b67768), SkBits2Float(0xc2700000)); 1893 path.moveTo(SkBits2Float(0x36b67768), SkBits2Float(0xc2700000));
1899 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 1894 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
1900 path.cubicTo(SkBits2Float(0x3e1b21b2), SkBits2Float(0xc2a60000), SkBits2Float(0x 3e9b20b0), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b040), SkBits2Float(0xc2 a5ff5d)); 1895 path.cubicTo(SkBits2Float(0x3e1b21b2), SkBits2Float(0xc2a60000), SkBits2Float(0x 3e9b20b0), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b040), SkBits2Float(0xc2 a5ff5d));
1901 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b)); 1896 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b));
(...skipping 2073 matching lines...) Expand 10 before | Expand all | Expand 10 after
3975 path.reset(); 3970 path.reset();
3976 path.setFillType((SkPath::FillType) 0); 3971 path.setFillType((SkPath::FillType) 0);
3977 path.moveTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578)); 3972 path.moveTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
3978 path.cubicTo(SkBits2Float(0x42a4def8), SkBits2Float(0xc1269090), SkBits2Float(0x 42a5a99a), SkBits2Float(0xc0d1c16f), SkBits2Float(0x42a5e9be), SkBits2Float(0xc0 2be63c)); 3973 path.cubicTo(SkBits2Float(0x42a4def8), SkBits2Float(0xc1269090), SkBits2Float(0x 42a5a99a), SkBits2Float(0xc0d1c16f), SkBits2Float(0x42a5e9be), SkBits2Float(0xc0 2be63c));
3979 path.lineTo(SkBits2Float(0x426fdfd2), SkBits2Float(0xbff8877d)); 3974 path.lineTo(SkBits2Float(0x426fdfd2), SkBits2Float(0xbff8877d));
3980 path.cubicTo(SkBits2Float(0x426f8319), SkBits2Float(0xc097a16e), SkBits2Float(0x 426e5e22), SkBits2Float(0xc0f0d105), SkBits2Float(0x426c7311), SkBits2Float(0xc1 2484ba)); 3975 path.cubicTo(SkBits2Float(0x426f8319), SkBits2Float(0xc097a16e), SkBits2Float(0x 426e5e22), SkBits2Float(0xc0f0d105), SkBits2Float(0x426c7311), SkBits2Float(0xc1 2484ba));
3981 path.lineTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578)); 3976 path.lineTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
3982 path.close(); 3977 path.close();
3983 3978
3984 SkPath path2(path); 3979 SkPath path2(path);
3985 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 3980 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3986 } 3981 }
3987 // op end success 1 3982 // op end success 1
3988 3983
3989 static void battleOp149(skiatest::Reporter* reporter, const char* filename) { 3984 static void battleOp149(skiatest::Reporter* reporter, const char* filename) {
3990 SkPath path; 3985 SkPath path;
3991 path.setFillType((SkPath::FillType) 1); 3986 path.setFillType((SkPath::FillType) 1);
3992 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 3987 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
3993 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 3988 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
3994 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b52), SkBits2Float(0xc1 639578)); 3989 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b52), SkBits2Float(0xc1 639578));
3995 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba)); 3990 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba));
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
4085 path.reset(); 4080 path.reset();
4086 path.setFillType((SkPath::FillType) 0); 4081 path.setFillType((SkPath::FillType) 0);
4087 path.moveTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1)); 4082 path.moveTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
4088 path.cubicTo(SkBits2Float(0x42a5e921), SkBits2Float(0x40a4df91), SkBits2Float(0x 42a52322), SkBits2Float(0x411841f7), SkBits2Float(0x42a3adfe), SkBits2Float(0x41 5d43d0)); 4083 path.cubicTo(SkBits2Float(0x42a5e921), SkBits2Float(0x40a4df91), SkBits2Float(0x 42a52322), SkBits2Float(0x411841f7), SkBits2Float(0x42a3adfe), SkBits2Float(0x41 5d43d0));
4089 path.lineTo(SkBits2Float(0x426ca531), SkBits2Float(0x411ff355)); 4084 path.lineTo(SkBits2Float(0x426ca531), SkBits2Float(0x411ff355));
4090 path.cubicTo(SkBits2Float(0x426ec0ad), SkBits2Float(0x40dc21ae), SkBits2Float(0x 426fdeef), SkBits2Float(0x406e5efe), SkBits2Float(0x426ffd4d), SkBits2Float(0x3f 100c9b)); 4085 path.cubicTo(SkBits2Float(0x426ec0ad), SkBits2Float(0x40dc21ae), SkBits2Float(0x 426fdeef), SkBits2Float(0x406e5efe), SkBits2Float(0x426ffd4d), SkBits2Float(0x3f 100c9b));
4091 path.lineTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1)); 4086 path.lineTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
4092 path.close(); 4087 path.close();
4093 4088
4094 SkPath path2(path); 4089 SkPath path2(path);
4095 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 4090 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4096 } 4091 }
4097 // op end success 1 4092 // op end success 1
4098 4093
4099 static void battleOp153(skiatest::Reporter* reporter, const char* filename) { 4094 static void battleOp153(skiatest::Reporter* reporter, const char* filename) {
4100 SkPath path; 4095 SkPath path;
4101 path.setFillType((SkPath::FillType) 1); 4096 path.setFillType((SkPath::FillType) 1);
4102 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 4097 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
4103 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4098 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4104 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3)); 4099 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3));
4105 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a0)); 4100 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a0));
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
4233 path.moveTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b)); 4228 path.moveTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
4234 path.cubicTo(SkBits2Float(0x4280e391), SkBits2Float(0x4284903f), SkBits2Float(0x 41c7a851), SkBits2Float(0x42b2072e), SkBits2Float(0xc1713833), SkBits2Float(0x42 a33d14)); 4229 path.cubicTo(SkBits2Float(0x4280e391), SkBits2Float(0x4284903f), SkBits2Float(0x 41c7a851), SkBits2Float(0x42b2072e), SkBits2Float(0xc1713833), SkBits2Float(0x42 a33d14));
4235 path.cubicTo(SkBits2Float(0xc25c7040), SkBits2Float(0x429472fb), SkBits2Float(0x c2a7bda2), SkBits2Float(0x421b8b2e), SkBits2Float(0xc2a5f5d6), SkBits2Float(0xbf e85110)); 4230 path.cubicTo(SkBits2Float(0xc25c7040), SkBits2Float(0x429472fb), SkBits2Float(0x c2a7bda2), SkBits2Float(0x421b8b2e), SkBits2Float(0xc2a5f5d6), SkBits2Float(0xbf e85110));
4236 path.lineTo(SkBits2Float(0xc26ff14f), SkBits2Float(0xbfa7f00b)); 4231 path.lineTo(SkBits2Float(0xc26ff14f), SkBits2Float(0xbfa7f00b));
4237 path.cubicTo(SkBits2Float(0xc272844c), SkBits2Float(0x41e0e1f3), SkBits2Float(0x c21f5a65), SkBits2Float(0x4256a019), SkBits2Float(0xc12e6015), SkBits2Float(0x42 6c01f9)); 4232 path.cubicTo(SkBits2Float(0xc272844c), SkBits2Float(0x41e0e1f3), SkBits2Float(0x c21f5a65), SkBits2Float(0x4256a019), SkBits2Float(0xc12e6015), SkBits2Float(0x42 6c01f9));
4238 path.cubicTo(SkBits2Float(0x419054b7), SkBits2Float(0x4280b1ec), SkBits2Float(0x 423a5877), SkBits2Float(0x423fa872), SkBits2Float(0x4261fc02), SkBits2Float(0x41 a1a142)); 4233 path.cubicTo(SkBits2Float(0x419054b7), SkBits2Float(0x4280b1ec), SkBits2Float(0x 423a5877), SkBits2Float(0x423fa872), SkBits2Float(0x4261fc02), SkBits2Float(0x41 a1a142));
4239 path.lineTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b)); 4234 path.lineTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
4240 path.close(); 4235 path.close();
4241 4236
4242 SkPath path2(path); 4237 SkPath path2(path);
4243 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 4238 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4244 } 4239 }
4245 // op end success 1 4240 // op end success 1
4246 4241
4247 static void battleOp158(skiatest::Reporter* reporter, const char* filename) { 4242 static void battleOp158(skiatest::Reporter* reporter, const char* filename) {
4248 SkPath path; 4243 SkPath path;
4249 path.setFillType((SkPath::FillType) 0); 4244 path.setFillType((SkPath::FillType) 0);
4250 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4245 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4251 path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc2 4d8299)); 4246 path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc2 4d8299));
4252 path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x 42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x41 9b26cf)); 4247 path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x 42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x41 9b26cf));
4253 path.lineTo(SkBits2Float(0x42695b36), SkBits2Float(0x416050ca)); 4248 path.lineTo(SkBits2Float(0x42695b36), SkBits2Float(0x416050ca));
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
4407 path.moveTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36)); 4402 path.moveTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
4408 path.cubicTo(SkBits2Float(0x42397b9c), SkBits2Float(0x42a54202), SkBits2Float(0x c0931849), SkBits2Float(0x42bd474f), SkBits2Float(0xc22e0fe8), SkBits2Float(0x42 8d5ab7)); 4403 path.cubicTo(SkBits2Float(0x42397b9c), SkBits2Float(0x42a54202), SkBits2Float(0x c0931849), SkBits2Float(0x42bd474f), SkBits2Float(0xc22e0fe8), SkBits2Float(0x42 8d5ab7));
4409 path.cubicTo(SkBits2Float(0xc2a4de63), SkBits2Float(0x423adc3f), SkBits2Float(0x c2bd50df), SkBits2Float(0xc08673c0), SkBits2Float(0xc28db7cd), SkBits2Float(0xc2 2ce1b4)); 4404 path.cubicTo(SkBits2Float(0xc2a4de63), SkBits2Float(0x423adc3f), SkBits2Float(0x c2bd50df), SkBits2Float(0xc08673c0), SkBits2Float(0xc28db7cd), SkBits2Float(0xc2 2ce1b4));
4410 path.lineTo(SkBits2Float(0xc24ce4bb), SkBits2Float(0xc1f9f306)); 4405 path.lineTo(SkBits2Float(0xc24ce4bb), SkBits2Float(0xc1f9f306));
4411 path.cubicTo(SkBits2Float(0xc288db72), SkBits2Float(0xc0426216), SkBits2Float(0x c26e5ec8), SkBits2Float(0x42071590), SkBits2Float(0xc1fba9c9), SkBits2Float(0x42 4c5fa5)); 4406 path.cubicTo(SkBits2Float(0xc288db72), SkBits2Float(0xc0426216), SkBits2Float(0x c26e5ec8), SkBits2Float(0x42071590), SkBits2Float(0xc1fba9c9), SkBits2Float(0x42 4c5fa5));
4412 path.cubicTo(SkBits2Float(0xc054b001), SkBits2Float(0x4288d4dc), SkBits2Float(0x 420615fc), SkBits2Float(0x426eee67), SkBits2Float(0x424bd7af), SkBits2Float(0x41 fd5d01)); 4407 path.cubicTo(SkBits2Float(0xc054b001), SkBits2Float(0x4288d4dc), SkBits2Float(0x 420615fc), SkBits2Float(0x426eee67), SkBits2Float(0x424bd7af), SkBits2Float(0x41 fd5d01));
4413 path.lineTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36)); 4408 path.lineTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
4414 path.close(); 4409 path.close();
4415 4410
4416 SkPath path2(path); 4411 SkPath path2(path);
4417 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 4412 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4418 } 4413 }
4419 // op end success 1 4414 // op end success 1
4420 4415
4421 static void battleOp164(skiatest::Reporter* reporter, const char* filename) { 4416 static void battleOp164(skiatest::Reporter* reporter, const char* filename) {
4422 SkPath path; 4417 SkPath path;
4423 path.setFillType((SkPath::FillType) 0); 4418 path.setFillType((SkPath::FillType) 0);
4424 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4419 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4425 path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2 340753)); 4420 path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2 340753));
4426 path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x 42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x42 08c1d5)); 4421 path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x 42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x42 08c1d5));
4427 path.lineTo(SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2)); 4422 path.lineTo(SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2));
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
4829 path.cubicTo(SkBits2Float(0xc2873b19), SkBits2Float(0x426b7658), SkBits2Float(0x c2ab209f), SkBits2Float(0x41d60b1d), SkBits2Float(0xc2a5685b), SkBits2Float(0xc0 e02f3c)); 4824 path.cubicTo(SkBits2Float(0xc2873b19), SkBits2Float(0x426b7658), SkBits2Float(0x c2ab209f), SkBits2Float(0x41d60b1d), SkBits2Float(0xc2a5685b), SkBits2Float(0xc0 e02f3c));
4830 path.cubicTo(SkBits2Float(0xc29fb018), SkBits2Float(0xc223115c), SkBits2Float(0x c263001e), SkBits2Float(0xc28acd07), SkBits2Float(0xc1c2e1a0), SkBits2Float(0xc2 9eb07c)); 4825 path.cubicTo(SkBits2Float(0xc29fb018), SkBits2Float(0xc223115c), SkBits2Float(0x c263001e), SkBits2Float(0xc28acd07), SkBits2Float(0xc1c2e1a0), SkBits2Float(0xc2 9eb07c));
4831 path.lineTo(SkBits2Float(0xc18ce0d1), SkBits2Float(0xc2656e32)); 4826 path.lineTo(SkBits2Float(0xc18ce0d1), SkBits2Float(0xc2656e32));
4832 path.cubicTo(SkBits2Float(0xc22418c2), SkBits2Float(0xc248ad0a), SkBits2Float(0x c266dfbc), SkBits2Float(0xc1ebc2b6), SkBits2Float(0xc26f24bb), SkBits2Float(0xc0 a20f94)); 4827 path.cubicTo(SkBits2Float(0xc22418c2), SkBits2Float(0xc248ad0a), SkBits2Float(0x c266dfbc), SkBits2Float(0xc1ebc2b6), SkBits2Float(0xc26f24bb), SkBits2Float(0xc0 a20f94));
4833 path.cubicTo(SkBits2Float(0xc27769ba), SkBits2Float(0x419abaee), SkBits2Float(0x c24383ac), SkBits2Float(0x422a36b0), SkBits2Float(0xc1d80e5c), SkBits2Float(0x42 56500a)); 4828 path.cubicTo(SkBits2Float(0xc27769ba), SkBits2Float(0x419abaee), SkBits2Float(0x c24383ac), SkBits2Float(0x422a36b0), SkBits2Float(0xc1d80e5c), SkBits2Float(0x42 56500a));
4834 path.cubicTo(SkBits2Float(0xc0a45587), SkBits2Float(0x428134b2), SkBits2Float(0x 41a9eeb8), SkBits2Float(0x4274e820), SkBits2Float(0x421e8655), SkBits2Float(0x42 3431b1)); 4829 path.cubicTo(SkBits2Float(0xc0a45587), SkBits2Float(0x428134b2), SkBits2Float(0x 41a9eeb8), SkBits2Float(0x4274e820), SkBits2Float(0x421e8655), SkBits2Float(0x42 3431b1));
4835 path.lineTo(SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c0)); 4830 path.lineTo(SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c0));
4836 path.close(); 4831 path.close();
4837 4832
4838 SkPath path2(path); 4833 SkPath path2(path);
4839 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4834 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4840 } 4835 }
4841 // op end success 1 4836 // op end success 1
4842 4837
4843 static void battleOp178(skiatest::Reporter* reporter, const char* filename) { 4838 static void battleOp178(skiatest::Reporter* reporter, const char* filename) {
4844 SkPath path; 4839 SkPath path;
4845 path.setFillType((SkPath::FillType) 0); 4840 path.setFillType((SkPath::FillType) 0);
4846 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4841 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4847 path.cubicTo(SkBits2Float(0x41fc5f30), SkBits2Float(0xc2a5fffe), SkBits2Float(0x 427176a0), SkBits2Float(0xc2823b95), SkBits2Float(0x4294be35), SkBits2Float(0xc2 1365c9)); 4842 path.cubicTo(SkBits2Float(0x41fc5f30), SkBits2Float(0xc2a5fffe), SkBits2Float(0x 427176a0), SkBits2Float(0xc2823b95), SkBits2Float(0x4294be35), SkBits2Float(0xc2 1365c9));
4848 path.cubicTo(SkBits2Float(0x42b0c118), SkBits2Float(0xc1095198), SkBits2Float(0x 42aa4b8f), SkBits2Float(0x41c9721a), SkBits2Float(0x42841312), SkBits2Float(0x42 491ec0)); 4843 path.cubicTo(SkBits2Float(0x42b0c118), SkBits2Float(0xc1095198), SkBits2Float(0x 42aa4b8f), SkBits2Float(0x41c9721a), SkBits2Float(0x42841312), SkBits2Float(0x42 491ec0));
4849 path.lineTo(SkBits2Float(0x423ef37b), SkBits2Float(0x42116356)); 4844 path.lineTo(SkBits2Float(0x423ef37b), SkBits2Float(0x42116356));
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
4949 path.cubicTo(SkBits2Float(0xc2903490), SkBits2Float(0x4256dc6c), SkBits2Float(0x c2af8c6f), SkBits2Float(0x419be833), SkBits2Float(0xc2a36e37), SkBits2Float(0xc1 68c0a6)); 4944 path.cubicTo(SkBits2Float(0xc2903490), SkBits2Float(0x4256dc6c), SkBits2Float(0x c2af8c6f), SkBits2Float(0x419be833), SkBits2Float(0xc2a36e37), SkBits2Float(0xc1 68c0a6));
4950 path.cubicTo(SkBits2Float(0xc2974fff), SkBits2Float(0xc242546a), SkBits2Float(0x c2448acf), SkBits2Float(0xc29698ac), SkBits2Float(0xc17253d7), SkBits2Float(0xc2 a33682)); 4945 path.cubicTo(SkBits2Float(0xc2974fff), SkBits2Float(0xc242546a), SkBits2Float(0x c2448acf), SkBits2Float(0xc29698ac), SkBits2Float(0xc17253d7), SkBits2Float(0xc2 a33682));
4951 path.lineTo(SkBits2Float(0xc12f2d38), SkBits2Float(0xc26bf872)); 4946 path.lineTo(SkBits2Float(0xc12f2d38), SkBits2Float(0xc26bf872));
4952 path.cubicTo(SkBits2Float(0xc20e1427), SkBits2Float(0xc259bacc), SkBits2Float(0x c25ac3d7), SkBits2Float(0xc20c7ab2), SkBits2Float(0xc26c48f7), SkBits2Float(0xc1 284130)); 4947 path.cubicTo(SkBits2Float(0xc20e1427), SkBits2Float(0xc259bacc), SkBits2Float(0x c25ac3d7), SkBits2Float(0xc20c7ab2), SkBits2Float(0xc26c48f7), SkBits2Float(0xc1 284130));
4953 path.cubicTo(SkBits2Float(0xc27dce17), SkBits2Float(0x41616864), SkBits2Float(0x c2507d50), SkBits2Float(0x421b5239), SkBits2Float(0xc1f51386), SkBits2Float(0x42 4e5c1e)); 4948 path.cubicTo(SkBits2Float(0xc27dce17), SkBits2Float(0x41616864), SkBits2Float(0x c2507d50), SkBits2Float(0x421b5239), SkBits2Float(0xc1f51386), SkBits2Float(0x42 4e5c1e));
4954 path.cubicTo(SkBits2Float(0xc11258cd), SkBits2Float(0x4280b301), SkBits2Float(0x 418fffac), SkBits2Float(0x4279d13a), SkBits2Float(0x42160652), SkBits2Float(0x42 3b5488)); 4949 path.cubicTo(SkBits2Float(0xc11258cd), SkBits2Float(0x4280b301), SkBits2Float(0x 418fffac), SkBits2Float(0x4279d13a), SkBits2Float(0x42160652), SkBits2Float(0x42 3b5488));
4955 path.lineTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0)); 4950 path.lineTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0));
4956 path.close(); 4951 path.close();
4957 4952
4958 SkPath path2(path); 4953 SkPath path2(path);
4959 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 4954 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4960 } 4955 }
4961 // op end success 1 4956 // op end success 1
4962 4957
4963 static void battleOp182(skiatest::Reporter* reporter, const char* filename) { 4958 static void battleOp182(skiatest::Reporter* reporter, const char* filename) {
4964 SkPath path; 4959 SkPath path;
4965 path.setFillType((SkPath::FillType) 0); 4960 path.setFillType((SkPath::FillType) 0);
4966 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4961 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4967 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc)); 4962 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc));
4968 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 52400e)); 4963 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 52400e));
4969 path.lineTo(SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6)); 4964 path.lineTo(SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6));
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
5360 path.reset(); 5355 path.reset();
5361 path.setFillType((SkPath::FillType) 0); 5356 path.setFillType((SkPath::FillType) 0);
5362 path.moveTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864)); 5357 path.moveTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
5363 path.cubicTo(SkBits2Float(0x3fcfbb75), SkBits2Float(0xc2a5f7e2), SkBits2Float(0x 3fd66eab), SkBits2Float(0xc2a5f75a), SkBits2Float(0x3fdd21d8), SkBits2Float(0xc2 a5f6cb)); 5358 path.cubicTo(SkBits2Float(0x3fcfbb75), SkBits2Float(0xc2a5f7e2), SkBits2Float(0x 3fd66eab), SkBits2Float(0xc2a5f75a), SkBits2Float(0x3fdd21d8), SkBits2Float(0xc2 a5f6cb));
5364 path.lineTo(SkBits2Float(0x3f9fdac0), SkBits2Float(0xc26ff2b1)); 5359 path.lineTo(SkBits2Float(0x3f9fdac0), SkBits2Float(0xc26ff2b1));
5365 path.cubicTo(SkBits2Float(0x3f9b02da), SkBits2Float(0xc26ff37f), SkBits2Float(0x 3f962add), SkBits2Float(0xc26ff444), SkBits2Float(0x3f9152da), SkBits2Float(0xc2 6ff500)); 5360 path.cubicTo(SkBits2Float(0x3f9b02da), SkBits2Float(0xc26ff37f), SkBits2Float(0x 3f962add), SkBits2Float(0xc26ff444), SkBits2Float(0x3f9152da), SkBits2Float(0xc2 6ff500));
5366 path.lineTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864)); 5361 path.lineTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
5367 path.close(); 5362 path.close();
5368 5363
5369 SkPath path2(path); 5364 SkPath path2(path);
5370 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 5365 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5371 } 5366 }
5372 // op end success 1 5367 // op end success 1
5373 5368
5374 static void battleOp196(skiatest::Reporter* reporter, const char* filename) { 5369 static void battleOp196(skiatest::Reporter* reporter, const char* filename) {
5375 SkPath path; 5370 SkPath path;
5376 path.setFillType((SkPath::FillType) 1); 5371 path.setFillType((SkPath::FillType) 1);
5377 path.moveTo(SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff)); 5372 path.moveTo(SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff));
5378 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 5373 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
5379 path.cubicTo(SkBits2Float(0x3f0607d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 3f860758), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc9081a), SkBits2Float(0xc2 a5f864)); 5374 path.cubicTo(SkBits2Float(0x3f0607d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 3f860758), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc9081a), SkBits2Float(0xc2 a5f864));
5380 5375
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
5436 path.reset(); 5431 path.reset();
5437 path.setFillType((SkPath::FillType) 0); 5432 path.setFillType((SkPath::FillType) 0);
5438 path.moveTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c)); 5433 path.moveTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
5439 path.cubicTo(SkBits2Float(0x40c597bc), SkBits2Float(0xc2a5970c), SkBits2Float(0x 41033f43), SkBits2Float(0xc2a53cca), SkBits2Float(0x41238fb3), SkBits2Float(0xc2 a4bc74)); 5434 path.cubicTo(SkBits2Float(0x40c597bc), SkBits2Float(0xc2a5970c), SkBits2Float(0x 41033f43), SkBits2Float(0xc2a53cca), SkBits2Float(0x41238fb3), SkBits2Float(0xc2 a4bc74));
5440 path.lineTo(SkBits2Float(0x40ec7963), SkBits2Float(0xc26e2c38)); 5435 path.lineTo(SkBits2Float(0x40ec7963), SkBits2Float(0xc26e2c38));
5441 path.cubicTo(SkBits2Float(0x40bdc13f), SkBits2Float(0xc26ee5c4), SkBits2Float(0x 408ed689), SkBits2Float(0xc26f6843), SkBits2Float(0x403fa341), SkBits2Float(0xc2 6fb372)); 5436 path.cubicTo(SkBits2Float(0x40bdc13f), SkBits2Float(0xc26ee5c4), SkBits2Float(0x 408ed689), SkBits2Float(0xc26f6843), SkBits2Float(0x403fa341), SkBits2Float(0xc2 6fb372));
5442 path.lineTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c)); 5437 path.lineTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
5443 path.close(); 5438 path.close();
5444 5439
5445 SkPath path2(path); 5440 SkPath path2(path);
5446 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 5441 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5447 } 5442 }
5448 // op end success 1 5443 // op end success 1
5449 5444
5450 static void battleOp199(skiatest::Reporter* reporter, const char* filename) { 5445 static void battleOp199(skiatest::Reporter* reporter, const char* filename) {
5451 SkPath path; 5446 SkPath path;
5452 path.setFillType((SkPath::FillType) 0); 5447 path.setFillType((SkPath::FillType) 0);
5453 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 5448 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
5454 path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x 407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d32), SkBits2Float(0xc2 a592c7)); 5449 path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x 407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d32), SkBits2Float(0xc2 a592c7));
5455 path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217)); 5450 path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217));
5456 path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x 3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc2 6fffff)); 5451 path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x 3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc2 6fffff));
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after
6290 path.moveTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a)); 6285 path.moveTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
6291 path.cubicTo(SkBits2Float(0x42ae673b), SkBits2Float(0x40783c41), SkBits2Float(0x 42a293c2), SkBits2Float(0x41fe6960), SkBits2Float(0x4280464e), SkBits2Float(0x42 52ba7b)); 6286 path.cubicTo(SkBits2Float(0x42ae673b), SkBits2Float(0x40783c41), SkBits2Float(0x 42a293c2), SkBits2Float(0x41fe6960), SkBits2Float(0x4280464e), SkBits2Float(0x42 52ba7b));
6292 path.cubicTo(SkBits2Float(0x423bf1b3), SkBits2Float(0x42932023), SkBits2Float(0x 41a5f32c), SkBits2Float(0x42a99309), SkBits2Float(0xc0c67989), SkBits2Float(0x42 a5892f)); 6287 path.cubicTo(SkBits2Float(0x423bf1b3), SkBits2Float(0x42932023), SkBits2Float(0x 41a5f32c), SkBits2Float(0x42a99309), SkBits2Float(0xc0c67989), SkBits2Float(0x42 a5892f));
6293 path.lineTo(SkBits2Float(0xc08f79c7), SkBits2Float(0x426f5437)); 6288 path.lineTo(SkBits2Float(0xc08f79c7), SkBits2Float(0x426f5437));
6294 path.cubicTo(SkBits2Float(0x416fed74), SkBits2Float(0x42752af2), SkBits2Float(0x 4207dcfc), SkBits2Float(0x4254b62d), SkBits2Float(0x42397512), SkBits2Float(0x42 185575)); 6289 path.cubicTo(SkBits2Float(0x416fed74), SkBits2Float(0x42752af2), SkBits2Float(0x 4207dcfc), SkBits2Float(0x4254b62d), SkBits2Float(0x42397512), SkBits2Float(0x42 185575));
6295 path.cubicTo(SkBits2Float(0x426b0d26), SkBits2Float(0x41b7e97d), SkBits2Float(0x 427c2639), SkBits2Float(0x40337286), SkBits2Float(0x42674956), SkBits2Float(0xc1 802a46)); 6290 path.cubicTo(SkBits2Float(0x426b0d26), SkBits2Float(0x41b7e97d), SkBits2Float(0x 427c2639), SkBits2Float(0x40337286), SkBits2Float(0x42674956), SkBits2Float(0xc1 802a46));
6296 path.lineTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a)); 6291 path.lineTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
6297 path.close(); 6292 path.close();
6298 6293
6299 SkPath path2(path); 6294 SkPath path2(path);
6300 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 6295 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
6301 } 6296 }
6302 // op end success 1 6297 // op end success 1
6303 6298
6304 static void battleOp231(skiatest::Reporter* reporter, const char* filename) { 6299 static void battleOp231(skiatest::Reporter* reporter, const char* filename) {
6305 SkPath path; 6300 SkPath path;
6306 path.setFillType((SkPath::FillType) 0); 6301 path.setFillType((SkPath::FillType) 0);
6307 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 6302 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
6308 path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1 b54986)); 6303 path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1 b54986));
6309 path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f)); 6304 path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
6310 path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x 41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000)); 6305 path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x 41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000));
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
7047 path.cubicTo(SkBits2Float(0xc261a0a2), SkBits2Float(0x4289e850), SkBits2Float(0x c29d25ee), SkBits2Float(0x4227ed4e), SkBits2Float(0xc2a4d3d8), SkBits2Float(0x41 1d8f80)); 7042 path.cubicTo(SkBits2Float(0xc261a0a2), SkBits2Float(0x4289e850), SkBits2Float(0x c29d25ee), SkBits2Float(0x4227ed4e), SkBits2Float(0xc2a4d3d8), SkBits2Float(0x41 1d8f80));
7048 path.cubicTo(SkBits2Float(0xc2ac81c3), SkBits2Float(0xc1b24b1c), SkBits2Float(0x c28e216c), SkBits2Float(0xc256e38c), SkBits2Float(0xc22e0453), SkBits2Float(0xc2 8d5ec3)); 7043 path.cubicTo(SkBits2Float(0xc2ac81c3), SkBits2Float(0xc1b24b1c), SkBits2Float(0x c28e216c), SkBits2Float(0xc256e38c), SkBits2Float(0xc22e0453), SkBits2Float(0xc2 8d5ec3));
7049 path.lineTo(SkBits2Float(0xc1fb9743), SkBits2Float(0xc24c63fd)); 7044 path.lineTo(SkBits2Float(0xc1fb9743), SkBits2Float(0xc24c63fd));
7050 path.cubicTo(SkBits2Float(0xc24d7d6b), SkBits2Float(0xc21b575f), SkBits2Float(0x c279684a), SkBits2Float(0xc180e302), SkBits2Float(0xc26e4dff), SkBits2Float(0x40 e3cc4e)); 7045 path.cubicTo(SkBits2Float(0xc24d7d6b), SkBits2Float(0xc21b575f), SkBits2Float(0x c279684a), SkBits2Float(0xc180e302), SkBits2Float(0xc26e4dff), SkBits2Float(0x40 e3cc4e));
7051 path.cubicTo(SkBits2Float(0xc26333b4), SkBits2Float(0x41f2c929), SkBits2Float(0x c2231aa4), SkBits2Float(0x42476256), SkBits2Float(0xc1943166), SkBits2Float(0x42 64467e)); 7046 path.cubicTo(SkBits2Float(0xc26333b4), SkBits2Float(0x41f2c929), SkBits2Float(0x c2231aa4), SkBits2Float(0x42476256), SkBits2Float(0xc1943166), SkBits2Float(0x42 64467e));
7052 path.cubicTo(SkBits2Float(0x406e93d1), SkBits2Float(0x42809553), SkBits2Float(0x 41e1305a), SkBits2Float(0x4267b03c), SkBits2Float(0x423026ed), SkBits2Float(0x42 230127)); 7047 path.cubicTo(SkBits2Float(0x406e93d1), SkBits2Float(0x42809553), SkBits2Float(0x 41e1305a), SkBits2Float(0x4267b03c), SkBits2Float(0x423026ed), SkBits2Float(0x42 230127));
7053 path.lineTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52)); 7048 path.lineTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52));
7054 path.close(); 7049 path.close();
7055 7050
7056 SkPath path2(path); 7051 SkPath path2(path);
7057 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 7052 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7058 } 7053 }
7059 // op end success 1 7054 // op end success 1
7060 7055
7061 static void battleOp257(skiatest::Reporter* reporter, const char* filename) { 7056 static void battleOp257(skiatest::Reporter* reporter, const char* filename) {
7062 SkPath path; 7057 SkPath path;
7063 path.setFillType((SkPath::FillType) 0); 7058 path.setFillType((SkPath::FillType) 0);
7064 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7059 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7065 path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc2 1f2e53)); 7060 path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc2 1f2e53));
7066 path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x 42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0fe), SkBits2Float(0x42 335ba0)); 7061 path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x 42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0fe), SkBits2Float(0x42 335ba0));
7067 path.lineTo(SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806)); 7062 path.lineTo(SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806));
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
7436 path.reset(); 7431 path.reset();
7437 path.setFillType((SkPath::FillType) 0); 7432 path.setFillType((SkPath::FillType) 0);
7438 path.moveTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108)); 7433 path.moveTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
7439 path.cubicTo(SkBits2Float(0x426e0477), SkBits2Float(0x4268d13b), SkBits2Float(0x 425bb575), SkBits2Float(0x427a2b1d), SkBits2Float(0x42479e2a), SkBits2Float(0x42 84a4a0)); 7434 path.cubicTo(SkBits2Float(0x426e0477), SkBits2Float(0x4268d13b), SkBits2Float(0x 425bb575), SkBits2Float(0x427a2b1d), SkBits2Float(0x42479e2a), SkBits2Float(0x42 84a4a0));
7440 path.lineTo(SkBits2Float(0x42104d52), SkBits2Float(0x423fc5ea)); 7435 path.lineTo(SkBits2Float(0x42104d52), SkBits2Float(0x423fc5ea));
7441 path.cubicTo(SkBits2Float(0x421ed35e), SkBits2Float(0x4234d83a), SkBits2Float(0x 422c0f91), SkBits2Float(0x42284d3a), SkBits2Float(0x4237c0bf), SkBits2Float(0x42 1a62ad)); 7436 path.cubicTo(SkBits2Float(0x421ed35e), SkBits2Float(0x4234d83a), SkBits2Float(0x 422c0f91), SkBits2Float(0x42284d3a), SkBits2Float(0x4237c0bf), SkBits2Float(0x42 1a62ad));
7442 path.lineTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108)); 7437 path.lineTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
7443 path.close(); 7438 path.close();
7444 7439
7445 SkPath path2(path); 7440 SkPath path2(path);
7446 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 7441 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7447 } 7442 }
7448 // op end success 1 7443 // op end success 1
7449 7444
7450 static void battleOp270(skiatest::Reporter* reporter, const char* filename) { 7445 static void battleOp270(skiatest::Reporter* reporter, const char* filename) {
7451 SkPath path; 7446 SkPath path;
7452 path.setFillType((SkPath::FillType) 1); 7447 path.setFillType((SkPath::FillType) 1);
7453 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000)); 7448 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
7454 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7449 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7455 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8)); 7450 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8));
7456 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106)); 7451 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106));
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
7553 path.reset(); 7548 path.reset();
7554 path.setFillType((SkPath::FillType) 0); 7549 path.setFillType((SkPath::FillType) 0);
7555 path.moveTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e)); 7550 path.moveTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
7556 path.cubicTo(SkBits2Float(0x42693cf3), SkBits2Float(0x426da0dc), SkBits2Float(0x 42566929), SkBits2Float(0x427ebed8), SkBits2Float(0x4241d1ac), SkBits2Float(0x42 86c6a2)); 7551 path.cubicTo(SkBits2Float(0x42693cf3), SkBits2Float(0x426da0dc), SkBits2Float(0x 42566929), SkBits2Float(0x427ebed8), SkBits2Float(0x4241d1ac), SkBits2Float(0x42 86c6a2));
7557 path.lineTo(SkBits2Float(0x420c1c33), SkBits2Float(0x4242db53)); 7552 path.lineTo(SkBits2Float(0x420c1c33), SkBits2Float(0x4242db53));
7558 path.cubicTo(SkBits2Float(0x421afee9), SkBits2Float(0x42382742), SkBits2Float(0x 42289b18), SkBits2Float(0x422bc78f), SkBits2Float(0x4234ac94), SkBits2Float(0x42 1dfa34)); 7553 path.cubicTo(SkBits2Float(0x421afee9), SkBits2Float(0x42382742), SkBits2Float(0x 42289b18), SkBits2Float(0x422bc78f), SkBits2Float(0x4234ac94), SkBits2Float(0x42 1dfa34));
7559 path.lineTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e)); 7554 path.lineTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
7560 path.close(); 7555 path.close();
7561 7556
7562 SkPath path2(path); 7557 SkPath path2(path);
7563 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 7558 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7564 } 7559 }
7565 // op end success 1 7560 // op end success 1
7566 7561
7567 static void battleOp274(skiatest::Reporter* reporter, const char* filename) { 7562 static void battleOp274(skiatest::Reporter* reporter, const char* filename) {
7568 SkPath path; 7563 SkPath path;
7569 path.setFillType((SkPath::FillType) 1); 7564 path.setFillType((SkPath::FillType) 1);
7570 path.moveTo(SkBits2Float(0xb630015d), SkBits2Float(0xc2700000)); 7565 path.moveTo(SkBits2Float(0xb630015d), SkBits2Float(0xc2700000));
7571 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7566 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7572 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb)); 7567 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb));
7573 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b)); 7568 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b));
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
7856 path.reset(); 7851 path.reset();
7857 path.setFillType((SkPath::FillType) 0); 7852 path.setFillType((SkPath::FillType) 0);
7858 path.moveTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b)); 7853 path.moveTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
7859 path.cubicTo(SkBits2Float(0x42646988), SkBits2Float(0x42724b20), SkBits2Float(0x 425112cb), SkBits2Float(0x42819524), SkBits2Float(0x423bfd7a), SkBits2Float(0x42 88d30e)); 7854 path.cubicTo(SkBits2Float(0x42646988), SkBits2Float(0x42724b20), SkBits2Float(0x 425112cb), SkBits2Float(0x42819524), SkBits2Float(0x423bfd7a), SkBits2Float(0x42 88d30e));
7860 path.lineTo(SkBits2Float(0x4207e580), SkBits2Float(0x4245d187)); 7855 path.lineTo(SkBits2Float(0x4207e580), SkBits2Float(0x4245d187));
7861 path.cubicTo(SkBits2Float(0x4217232e), SkBits2Float(0x423b592c), SkBits2Float(0x 42251e07), SkBits2Float(0x422f26e4), SkBits2Float(0x42318ed3), SkBits2Float(0x42 2178d2)); 7856 path.cubicTo(SkBits2Float(0x4217232e), SkBits2Float(0x423b592c), SkBits2Float(0x 42251e07), SkBits2Float(0x422f26e4), SkBits2Float(0x42318ed3), SkBits2Float(0x42 2178d2));
7862 path.lineTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b)); 7857 path.lineTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
7863 path.close(); 7858 path.close();
7864 7859
7865 SkPath path2(path); 7860 SkPath path2(path);
7866 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 7861 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7867 } 7862 }
7868 // op end success 1 7863 // op end success 1
7869 7864
7870 static void battleOp284(skiatest::Reporter* reporter, const char* filename) { 7865 static void battleOp284(skiatest::Reporter* reporter, const char* filename) {
7871 SkPath path; 7866 SkPath path;
7872 path.setFillType((SkPath::FillType) 1); 7867 path.setFillType((SkPath::FillType) 1);
7873 path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000)); 7868 path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
7874 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7869 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7875 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926)); 7870 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926));
7876 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99)); 7871 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99));
(...skipping 2802 matching lines...) Expand 10 before | Expand all | Expand 10 after
10679 path.cubicTo(SkBits2Float(0x3dbed1a5), SkBits2Float(0xc2a5fffa), SkBits2Float(0x 3dfda9cc), SkBits2Float(0xc2a5fff4), SkBits2Float(0x3e1e40f8), SkBits2Float(0xc2 a5ffed)); 10674 path.cubicTo(SkBits2Float(0x3dbed1a5), SkBits2Float(0xc2a5fffa), SkBits2Float(0x 3dfda9cc), SkBits2Float(0xc2a5fff4), SkBits2Float(0x3e1e40f8), SkBits2Float(0xc2 a5ffed));
10680 path.lineTo(SkBits2Float(0x3de4ce81), SkBits2Float(0xc26fffe5)); 10675 path.lineTo(SkBits2Float(0x3de4ce81), SkBits2Float(0xc26fffe5));
10681 path.cubicTo(SkBits2Float(0x3db75eff), SkBits2Float(0xc26ffff0), SkBits2Float(0x 3d89f101), SkBits2Float(0xc26ffff8), SkBits2Float(0x3d390604), SkBits2Float(0xc2 6ffffc)); 10676 path.cubicTo(SkBits2Float(0x3db75eff), SkBits2Float(0xc26ffff0), SkBits2Float(0x 3d89f101), SkBits2Float(0xc26ffff8), SkBits2Float(0x3d390604), SkBits2Float(0xc2 6ffffc));
10682 path.lineTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd)); 10677 path.lineTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd));
10683 path.close(); 10678 path.close();
10684 10679
10685 SkPath path2(path); 10680 SkPath path2(path);
10686 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 10681 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
10687 } 10682 }
10688 10683
10689 static void (*firstTest)(skiatest::Reporter* , const char* filename) = battleOp6 8; 10684 static void (*firstTest)(skiatest::Reporter* , const char* filename) = battleOp1 394;
10690 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 10685 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
10691 10686
10692 static struct TestDesc tests[] = { 10687 static struct TestDesc tests[] = {
10693 TEST(battleOp1), 10688 TEST(battleOp1),
10694 TEST(battleOp2), 10689 TEST(battleOp2),
10695 TEST(battleOp3), 10690 TEST(battleOp3),
10696 TEST(battleOp4), 10691 TEST(battleOp4),
10697 TEST(battleOp5), 10692 TEST(battleOp5),
10698 TEST(battleOp6), 10693 TEST(battleOp6),
10699 TEST(battleOp7), 10694 TEST(battleOp7),
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
11121 11116
11122 11117
11123 static const size_t testCount = SK_ARRAY_COUNT(tests); 11118 static const size_t testCount = SK_ARRAY_COUNT(tests);
11124 11119
11125 static bool runReverse = false; 11120 static bool runReverse = false;
11126 11121
11127 DEF_TEST(PathOpsBattle, reporter) { 11122 DEF_TEST(PathOpsBattle, reporter) {
11128 #if DEBUG_SHOW_TEST_NAME 11123 #if DEBUG_SHOW_TEST_NAME
11129 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 11124 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
11130 #endif 11125 #endif
11131 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); 11126 RunTestSet(reporter, tests, testCount, firstTest, NULL, stopTest, runReverse );
11132 } 11127 }
OLDNEW
« no previous file with comments | « tests/PathOpsAngleTest.cpp ('k') | tests/PathOpsBuilderTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698