OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <div height="0" hidden="true"> | 3 <div height="0" hidden="true"> |
4 | 4 |
5 Skia UnitTests: --match PathOpsSkp$ --resourcePath resources\ SK_DEBUG | |
6 | |
7 <div id="skpwww_gorcraft_ru_1"> | 5 <div id="skpwww_gorcraft_ru_1"> |
8 seg=1 {{{{1170, 4559}, {1176, 4559}, {1176, 4565}}}, 0.707106769f} | 6 seg=1 {{{{1170, 4559}, {1176, 4559}, {1176, 4565}}}, 0.707106769f} |
9 seg=2 {{{1176, 4565}, {1176, 4590}}} | 7 seg=2 {{{1176, 4565}, {1176, 4590}}} |
10 seg=3 {{{{1176, 4590}, {1176, 4595}, {1171, 4595}}}, 0.707106769f} | 8 seg=3 {{{{1176, 4590}, {1176, 4595}, {1171, 4595}}}, 0.707106769f} |
11 seg=4 {{{1171, 4595}, {83, 4595}}} | 9 seg=4 {{{1171, 4595}, {83, 4595}}} |
12 seg=5 {{{{83, 4595}, {78.0086746f, 4595}, {78, 4590.00586f}}}, 0.707720578f} | 10 seg=5 {{{{83, 4595}, {78.0086746f, 4595}, {78, 4590.00586f}}}, 0.707720578f} |
13 seg=6 {{{78, 4590.00586f}, {78, 4565}}} | 11 seg=6 {{{78, 4590.00586f}, {78, 4565}}} |
14 seg=7 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} | 12 seg=7 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} |
15 seg=8 {{{84, 4559}, {1170, 4559}}} | 13 seg=8 {{{84, 4559}, {1170, 4559}}} |
16 op union | 14 op union |
17 seg=9 {{{78, 4590}, {78, 4565}}} | 15 seg=9 {{{78, 4590}, {78, 4565}}} |
18 seg=10 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} | 16 seg=10 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} |
19 seg=11 {{{84, 4559}, {158, 4559}}} | 17 seg=11 {{{84, 4559}, {158, 4559}}} |
20 seg=12 {{{158, 4559}, {158, 4596}}} | 18 seg=12 {{{158, 4559}, {158, 4596}}} |
21 seg=13 {{{158, 4596}, {84, 4596}}} | 19 seg=13 {{{158, 4596}, {84, 4596}}} |
22 seg=14 {{{{84, 4596}, {78, 4596}, {78, 4590}}}, 0.707106769f} | 20 seg=14 {{{{84, 4596}, {78, 4596}, {78, 4590}}}, 0.707106769f} |
23 debugShowConicLineIntersection wtTs[0]=1 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1176,4565}} wnTs[0]=0 {{{1176,4565}, {1176,4590}}} | 21 debugShowConicLineIntersection wtTs[0]=1 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1176,4565}} wnTs[0]=0 {{{1176,4565}, {1176,4590}}} |
24 debugShowConicLineIntersection wtTs[0]=0 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1170,4559}} wnTs[0]=1 {{{84,4559}, {1170,4559}}} | 22 debugShowConicLineIntersection wtTs[0]=0 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1170,4559}} wnTs[0]=1 {{{84,4559}, {1170,4559}}} |
25 debugShowConicLineIntersection wtTs[0]=0 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1176,4590}} wnTs[0]=1 {{{1176,4565}, {1176,4590}}} | 23 debugShowConicLineIntersection wtTs[0]=0 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1176,4590}} wnTs[0]=1 {{{1176,4565}, {1176,4590}}} |
26 debugShowConicLineIntersection wtTs[0]=1 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1171,4595}} wnTs[0]=0 {{{1171,4595}, {83,4595}}} | 24 debugShowConicLineIntersection wtTs[0]=1 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1171,4595}} wnTs[0]=0 {{{1171,4595}, {83,4595}}} |
27 debugShowConicLineIntersection wtTs[0]=0 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{83,4595}} wnTs[0]=1 {{{1171,4595}, {83,4595}}} | 25 debugShowConicLineIntersection wtTs[0]=0 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{83,4595}} wnTs[0]=1 {{{1171,4595}, {83,4595}}} |
28 debugShowConicLineIntersection wtTs[0]=1 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{78,4590.00586}} wnTs[0]=0 {{{78,4590.00586}, {78,456
5}}} | 26 debugShowConicLineIntersection wtTs[0]=1 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{78,4590.00586}} wnTs[0]=0 {{{78,4590.00586}, {78,456
5}}} |
29 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} | 27 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} |
30 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} | 28 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} |
31 debugShowLineIntersection wtTs[0]=0.972972973 {{{158,4559}, {158,4596}}} {{158,4
595}} wnTs[0]=0.931066 {{{1171,4595}, {83,4595}}} | 29 debugShowLineIntersection wtTs[0]=0.972972973 {{{158,4559}, {158,4596}}} {{158,4
595}} wnTs[0]=0.931066 {{{1171,4595}, {83,4595}}} |
32 SkOpSegment::addT insert t=0.931066176 segID=4 spanID=29 | 30 SkOpSegment::addT insert t=0.931066176 segID=4 spanID=29 |
33 SkOpSegment::addT insert t=0.972972973 segID=12 spanID=30 | 31 SkOpSegment::addT insert t=0.972972973 segID=12 spanID=30 |
34 debugShowConicLineIntersection no intersect {{{{84,4596}, {78,4596}, {78,4590}}}
, 0.707106769} {{{1171,4595}, {83,4595}}} | 32 debugShowConicLineIntersection no intersect {{{{84,4596}, {78,4596}, {78,4590}}}
, 0.707106769} {{{1171,4595}, {83,4595}}} |
35 debugShowConicLineIntersection no intersect {{{{83,4595}, {78.0086746,4595}, {78
,4590.00586}}}, 0.707720578} {{{78,4590}, {78,4565}}} | 33 debugShowConicLineIntersection no intersect {{{{83,4595}, {78.0086746,4595}, {78
,4590.00586}}}, 0.707720578} {{{78,4590}, {78,4565}}} |
| 34 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1] |
| 35 id=1 1=(0,0.5) [4,2] 3=(0.5,1) [4] id=2 2=(0,0.5) [1] 4=(0.5,1) [3,1] |
| 36 id=1 1=(0,0.5) [2] 3=(0.5,1) [6,4] id=2 2=(0,0.5) [1] 4=(0.5,0.75) [3] 6=(0.75,1
) [3] |
| 37 id=1 3=(0.5,1) [6,4] id=2 4=(0.5,0.75) [3] 6=(0.75,1) [3] |
| 38 id=1 3=(0.5,0.75) [6,4] 5=(0.75,1) [6] id=2 4=(0.5,0.75) [3] 6=(0.75,1) [5,3] |
| 39 id=1 3=(0.5,0.75) [4] 5=(0.75,1) [10,6] id=2 4=(0.5,0.75) [3] 6=(0.75,0.875) [5]
10=(0.875,1) [5] |
| 40 id=1 5=(0.75,1) [10,6] id=2 6=(0.75,0.875) [5] 10=(0.875,1) [5] |
| 41 id=1 5=(0.75,0.875) [10,6] 7=(0.875,1) [10] id=2 6=(0.75,0.875) [5] 10=(0.875,1)
[7,5] |
| 42 id=1 5=(0.75,0.875) [10] 7=(0.875,1) [10] id=2 10=(0.875,1) [7,5] |
| 43 id=1 7=(0.875,1) [16,10] id=2 10=(0.875,0.9375) [7] 16=(0.9375,1) [7] |
| 44 id=1 7=(0.875,0.9375) [16,10] 9=(0.9375,1) [16] id=2 10=(0.875,0.9375) [7] 16=(0
.9375,1) [9,7] |
| 45 id=1 7=(0.875,0.9375) [16] 9=(0.9375,1) [16] id=2 16=(0.9375,1) [9,7] |
| 46 id=1 9=(0.9375,1) [20,16] id=2 16=(0.9375,0.96875) [9] 20=(0.96875,1) [9] |
| 47 id=1 9=(0.9375,0.96875) [20,16] 11=(0.96875,1) [20] id=2 16=(0.9375,0.96875) [9]
20=(0.96875,1) [11,9] |
| 48 id=1 9=(0.9375,0.96875) [20] 11=(0.96875,1) [20] id=2 20=(0.96875,1) [11,9] |
| 49 id=1 11=(0.96875,1) [24,20] id=2 20=(0.96875,0.984375) [11] 24=(0.984375,1) [11] |
| 50 id=1 11=(0.96875,0.984375) [24,20] 13=(0.984375,1) [24] id=2 20=(0.96875,0.98437
5) [11] 24=(0.984375,1) [13,11] |
| 51 id=1 11=(0.96875,0.984375) [24] 13=(0.984375,1) [24] id=2 24=(0.984375,1) [13,11
] |
| 52 id=1 13=(0.984375,1) [28,24] id=2 24=(0.984375,0.992188) [13] 28=(0.992188,1) [1
3] |
| 53 id=1 13=(0.984375,0.992188) [24] 15=(0.992188,1) [28] id=2 24=(0.984375,0.992188
) [13] 28=(0.992188,1) [15] |
| 54 id=1 15=(0.992188,1) [28] id=2 28=(0.992188,1) [15] |
| 55 id=1 15=(0.992188,1) [32,28] id=2 28=(0.992188,0.996094) [15] 32=(0.996094,1) [1
5] |
| 56 id=1 15=(0.992188,0.996094) [28] 17=(0.996094,1) [28,32] id=2 28=(0.992188,0.996
094) [17,15] 32=(0.996094,1) [17] |
| 57 id=1 17=(0.996094,1) [32] id=2 32=(0.996094,1) [17] |
| 58 id=1 17=(0.996094,1) [36,32] id=2 32=(0.996094,0.998047) [17] 36=(0.998047,1) [1
7] |
| 59 id=1 19=(0.998047,1) [36] id=2 36=(0.998047,1) [19] |
| 60 id=1 19=(0.998047,1) [38,36] id=2 36=(0.998047,0.999023) [19] 38=(0.999023,1) [1
9] |
| 61 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7
8.0000301,4590.01658) |
| 62 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78
.0000048,4590.00829) |
| 63 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7
8.0000136,4590.01276) |
| 64 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7
8.0000301,4590.01658) |
| 65 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78
.0000048,4590.00829) |
| 66 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7
8.0000136,4590.01276) |
| 67 setPerp t=0.999339899 cPt=(78.0000103,4590.01053) == oppT=0.998759893 fPerpPt=(7
8.0000092,4590.01053) |
| 68 id=1 21=(0.99934,0.99934) [36] id=2 36=(0.99876,0.99876) [21] |
36 debugShowConicIntersection wtTs[0]=0.999339899 {{{{83,4595}, {78.0086746,4595},
{78,4590.00586}}}, 0.707720578} {{78.0000076,4590.01074}} wnTs[0]=0.99876 {{{{84
,4596}, {78,4596}, {78,4590}}}, 0.707106769} | 69 debugShowConicIntersection wtTs[0]=0.999339899 {{{{83,4595}, {78.0086746,4595},
{78,4590.00586}}}, 0.707720578} {{78.0000076,4590.01074}} wnTs[0]=0.99876 {{{{84
,4596}, {78,4596}, {78,4590}}}, 0.707106769} |
37 SkOpSegment::addT insert t=0.999339899 segID=5 spanID=31 | 70 SkOpSegment::addT insert t=0.999339899 segID=5 spanID=31 |
38 SkOpSegment::addT insert t=0.998759893 segID=14 spanID=32 | 71 SkOpSegment::addT insert t=0.998759893 segID=14 spanID=32 |
39 debugShowLineIntersection wtTs[0]=0 {{{78,4590}, {78,4565}}} {{78,4590}} wtTs[1]
=1 {{78,4565}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} wnTs[1]=1 | 72 debugShowLineIntersection wtTs[0]=0 {{{78,4590}, {78,4565}}} {{78,4590}} wtTs[1]
=1 {{78,4565}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} wnTs[1]=1 |
40 SkOpSegment::addT insert t=0.000234320081 segID=6 spanID=33 | 73 SkOpSegment::addT insert t=0.000234320081 segID=6 spanID=33 |
41 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} | 74 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} |
42 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} | 75 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} |
43 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} | 76 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} |
| 77 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1] |
| 78 id=1 1=(0,0.5) [4,2] 3=(0.5,1) [2,4] id=2 2=(0,0.5) [3,1] 4=(0.5,1) [3,1] |
| 79 id=1 1=(0,0.5) [6,4,2] 3=(0.5,1) [6,4] id=2 2=(0,0.25) [1] 6=(0.25,0.5) [1,3] 4=
(0.5,1) [3,1] |
| 80 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,1) [6,4] id=2 2=(0,0.25) [5,1]
6=(0.25,0.5) [5,1,3] 4=(0.5,1) [5,3] |
| 81 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,1) [8,6,4] id=2 2=(0,0.25) [5,
1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [5,3] 8=(0.75,1) [3] |
| 82 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,1) [4,8]
id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,1) [7,3
] |
| 83 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,1) [10,4
,8] id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.87
5) [7,3] 10=(0.875,1) [7] |
| 84 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,0.875) [
10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.7
5) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 85 id=1 1=(0,0.25) [12,6,2] 5=(0.25,0.5) [12,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,0.87
5) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [1] 12=(0.125,0.25) [1,5] 6=(0.2
5,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 86 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.5) [12,4,6] 3=(0.5,0.
75) [8,6,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 1
2=(0.125,0.25) [11,1,5] 6=(0.25,0.5) [11,5,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.875
) [9,7,3] 10=(0.875,1) [9,7] |
| 87 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.5) [14,12,4,6] 3=(0.5
,0.75) [14,8,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,
1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [11,5] 14=(0.375,0.5) [3,5] 4=(0.5,0.
75) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 88 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.75) [14,8,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,1
0] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [13,11,5] 14=
(0.375,0.5) [13,3,5] 4=(0.5,0.75) [13,7,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [
9,7] |
| 89 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.75) [16,14,8,4] 7=(0.75,0.875) [16,10,8] 9=(0.875,1)
[8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [13,11,5]
14=(0.375,0.5) [13,3,5] 4=(0.5,0.625) [13,3] 16=(0.625,0.75) [3,7] 8=(0.75,0.87
5) [9,7,3] 10=(0.875,1) [9,7] |
| 90 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.625) [16,14,4] 15=(0.625,0.75) [4,8,16] 7=(0.75,0.875
) [16,10,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5]
6=(0.25,0.375) [13,11,5] 14=(0.375,0.5) [13,3,5] 4=(0.5,0.625) [15,13,3] 16=(0.6
25,0.75) [15,3,7] 8=(0.75,0.875) [15,9,7] 10=(0.875,1) [9,7] |
| 91 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [18,2,6,12] 5=(0.25,0.375) [18,14,6] 13=
(0.375,0.5) [6,4,14] 3=(0.5,0.625) [16,14,4] 15=(0.625,0.75) [4,8,16] 7=(0.75,0.
875) [16,10,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.1875) [11,
1] 18=(0.1875,0.25) [5,11] 6=(0.25,0.375) [13,11,5] 14=(0.375,0.5) [13,3,5] 4=(0
.5,0.625) [15,13,3] 16=(0.625,0.75) [15,3,7] 8=(0.75,0.875) [15,9,7] 10=(0.875,1
) [9,7] |
| 92 setPerp t=0 cPt=(78,4565) == oppT=0 fPerpPt=(78,4565) |
| 93 setPerp t=0.125 cPt=(78.1001678,4563.90822) == oppT=0.125 fPerpPt=(78.1001678,45
63.90822) |
| 94 setPerp t=0.1875 cPt=(78.2316063,4563.34905) == oppT=0.1875 fPerpPt=(78.2316063,
4563.34905) |
| 95 setPerp t=0.25 cPt=(78.4212702,4562.79143) == oppT=0.25 fPerpPt=(78.4212702,4562
.79143) |
| 96 setPerp t=0.375 cPt=(78.9780269,4561.71674) == oppT=0.375 fPerpPt=(78.9780269,45
61.71674) |
| 97 setPerp t=0.5 cPt=(79.7573593,4560.75736) == oppT=0.5 fPerpPt=(79.7573593,4560.7
5736) |
| 98 setPerp t=0.625 cPt=(80.7167415,4559.97803) == oppT=0.625 fPerpPt=(80.7167415,45
59.97803) |
| 99 setPerp t=0.75 cPt=(81.7914318,4559.42127) == oppT=0.75 fPerpPt=(81.7914318,4559
.42127) |
| 100 setPerp t=0.875 cPt=(82.9082217,4559.10017) == oppT=0.875 fPerpPt=(82.9082217,45
59.10017) |
| 101 setPerp t=1 cPt=(84,4559) == oppT=1 fPerpPt=(84,4559) |
| 102 setPerp t=0 cPt=(78,4565) == oppT=0 fPerpPt=(78,4565) |
| 103 setPerp t=1 cPt=(84,4559) == oppT=1 fPerpPt=(84,4559) |
| 104 id=1 (empty) id=2 (empty) |
44 debugShowConicIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0.707
106769} {{78,4565}} wtTs[1]=1 {{84,4559}} wnTs[0]=0 {{{{78,4565}, {78,4559}, {84
,4559}}}, 0.707106769} wnTs[1]=1 | 105 debugShowConicIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0.707
106769} {{78,4565}} wtTs[1]=1 {{84,4559}} wnTs[0]=0 {{{{78,4565}, {78,4559}, {84
,4559}}}, 0.707106769} wnTs[1]=1 |
45 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} | 106 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} |
46 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} | 107 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} |
47 debugShowLineIntersection wtTs[0]=0 {{{84,4559}, {158,4559}}} {{84,4559}} wtTs[1
]=1 {{158,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} wnTs[1]=0.0681399632 | 108 debugShowLineIntersection wtTs[0]=0 {{{84,4559}, {158,4559}}} {{84,4559}} wtTs[1
]=1 {{158,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} wnTs[1]=0.0681399632 |
48 SkOpSegment::addT insert t=0.0681399632 segID=8 spanID=34 | 109 SkOpSegment::addT insert t=0.0681399632 segID=8 spanID=34 |
49 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=0.06814 {{{84,4559}, {1170,4559}}} | 110 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=0.06814 {{{84,4559}, {1170,4559}}} |
50 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} | 111 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} |
51 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0 {{{78,4590}, {78,4565}}} | 112 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0 {{{78,4590}, {78,4565}}} |
52 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} | 113 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} |
53 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=1 {{{84,4559}, {158,4559}}} | 114 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=1 {{{84,4559}, {158,4559}}} |
54 debugShowLineIntersection wtTs[0]=0 {{{158,4596}, {84,4596}}} {{158,4596}} wnTs[
0]=1 {{{158,4559}, {158,4596}}} | 115 debugShowLineIntersection wtTs[0]=0 {{{158,4596}, {84,4596}}} {{158,4596}} wnTs[
0]=1 {{{158,4559}, {158,4596}}} |
55 debugShowConicLineIntersection wtTs[0]=0 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{84,4596}} wnTs[0]=1 {{{158,4596}, {84,4596}}} | 116 debugShowConicLineIntersection wtTs[0]=0 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{84,4596}} wnTs[0]=1 {{{158,4596}, {84,4596}}} |
| 117 ------------x-------- start |
| 118 ------------x-------- moveMultiples |
| 119 ------------x-------- findCollapsed |
| 120 ------------x-------- moveNearby |
| 121 ------------x-------- align |
| 122 ------------x-------- fixAligned |
| 123 ------------x-------- addAlignIntersections |
| 124 ------------x-------- expand2 |
| 125 ------------x-------- mark1 |
| 126 ------------x-------- missingCoincidence1 |
| 127 ------------x-------- expand3 |
| 128 ------------x-------- addExpanded2 |
| 129 ------------x-------- missingCoincidence2 |
56 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0 [15] (84,4559) tEnd=0.0681399
632 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 | 130 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0 [15] (84,4559) tEnd=0.0681399
632 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
57 SkOpSegment::markDone id=10 (78,4565 78,4559 84,4559) t=0 [19] (78,4565) tEnd=1
newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 | 131 SkOpSegment::markDone id=10 (78,4565 78,4559 84,4559) t=0 [19] (78,4565) tEnd=1
newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
58 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0.000234320081 [33] (78,459
0) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 | 132 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0.000234320081 [33] (78,459
0) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
| 133 ------------x-------- pairs->apply |
| 134 ------------x-------- pairs->findOverlaps |
59 SkOpSegment::sortAngles [4] tStart=0.931066176 [29] | 135 SkOpSegment::sortAngles [4] tStart=0.931066176 [29] |
60 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/14] 7/7 tStart=0.97
2972973 tEnd=0 < [4/2] 15/15 tStart=0.931066176 tEnd=1 T 4 | 136 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/14] 7/7 tStart=0.97
2972973 tEnd=0 < [4/2] 15/15 tStart=0.931066176 tEnd=1 T 4 |
61 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 | 137 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
62 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 | 138 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
63 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 | 139 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
64 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [12/14] 7/7 tStart=0.972972973 tEnd=0 F 4 | 140 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [12/14] 7/7 tStart=0.972972973 tEnd=0 F 4 |
65 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 | 141 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
66 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 | 142 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
67 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 | 143 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
68 SkOpAngle::after [12/14] 7/7 tStart=0.972972973 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/2] 15/15 tStart=0.931066176 tEnd=1 F 4 | 144 SkOpAngle::after [12/14] 7/7 tStart=0.972972973 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/2] 15/15 tStart=0.931066176 tEnd=1 F 4 |
69 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 | 145 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
70 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 | 146 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
71 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 | 147 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
72 SkOpAngle::after [4/2] 15/15 tStart=0.931066176 tEnd=1 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/1] 31/31 tStart=0.931066176 tEnd=0 T 4 | 148 SkOpAngle::after [4/2] 15/15 tStart=0.931066176 tEnd=1 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/1] 31/31 tStart=0.931066176 tEnd=0 T 4 |
73 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 | 149 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
74 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 | 150 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
75 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 | 151 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
76 SkOpSegment::sortAngles [5] tStart=0.999339899 [31] | 152 SkOpSegment::sortAngles [5] tStart=0.999339899 [31] |
77 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/16] 25/29 tStart=0.
998759893 tEnd=0 < [5/4] 9/9 tStart=0.999339899 tEnd=1 F 12 | 153 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/16] 25/29 tStart=0.
998759893 tEnd=0 < [5/4] 9/9 tStart=0.999339899 tEnd=1 F 12 |
78 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.708050251} id=5 | 154 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.877537966} id=5 |
79 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0105173,4596}, {84,4596}}},
0.707726777} id=14 | 155 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0105173,4596}, {84,4596}}},
0.877548993} id=14 |
80 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 1} id=5 | 156 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 0.999999881} id=5 |
81 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/17] 9/9 tStart=0.99
8759893 tEnd=1 < [5/4] 9/9 tStart=0.999339899 tEnd=1 T 11 | 157 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/17] 9/9 tStart=0.99
8759893 tEnd=1 < [5/4] 9/9 tStart=0.999339899 tEnd=1 T 11 |
82 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.708050251} id=5 | 158 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.877537966} id=5 |
83 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78,4590.00526}, {78,4590}}}, 0
.999999642} id=14 | 159 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78,4590.00526}, {78,4590}}}, 0
.999999642} id=14 |
84 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 1} id=5 | 160 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 0.999999881} id=5 |
85 SkOpSegment::sortAngles [6] tStart=0.000234320081 [33] | 161 SkOpSegment::sortAngles [6] tStart=0.000234320081 [33] |
86 SkOpAngle::after [6/5] 23/23 tStart=0.000234320081 tEnd=0 < [9/9] 7/7 tStart=0 t
End=1 < [14/18] 21/21 tStart=1 tEnd=0.998759893 T 4 | 162 SkOpAngle::after [6/5] 23/23 tStart=0.000234320081 tEnd=0 < [9/9] 7/7 tStart=0 t
End=1 < [14/18] 21/21 tStart=1 tEnd=0.998759893 T 4 |
87 SkOpAngle::afterPart {{{78,4590}, {78,4590.00586}}} id=6 | 163 SkOpAngle::afterPart {{{78,4590}, {78,4590.00586}}} id=6 |
88 SkOpAngle::afterPart {{{78,4590}, {78,4565}}} id=9 | 164 SkOpAngle::afterPart {{{78,4590}, {78,4565}}} id=9 |
89 SkOpAngle::afterPart {{{{78,4590}, {78,4590.00526}, {78.0000076,4590.01074}}}, 0
.999999642} id=14 | 165 SkOpAngle::afterPart {{{{78,4590}, {78,4590.00526}, {78.0000076,4590.01074}}}, 0
.999999642} id=14 |
90 SkOpSegment::sortAngles [7] tStart=0 [13] | 166 SkOpSegment::sortAngles [7] tStart=0 [13] |
91 SkOpSegment::sortAngles [7] tStart=1 [14] | 167 SkOpSegment::sortAngles [7] tStart=1 [14] |
92 SkOpSegment::sortAngles [8] tStart=0.0681399632 [34] | 168 SkOpSegment::sortAngles [8] tStart=0.0681399632 [34] |
93 SkOpAngle::after [8/8] 31/31 tStart=0.0681399632 tEnd=1 < [11/12] 15/15 tStart=1
tEnd=0 < [12/13] 23/23 tStart=0 tEnd=0.972972973 T 4 | 169 SkOpAngle::after [8/8] 31/31 tStart=0.0681399632 tEnd=1 < [11/12] 15/15 tStart=1
tEnd=0 < [12/13] 23/23 tStart=0 tEnd=0.972972973 T 4 |
94 SkOpAngle::afterPart {{{158,4559}, {1170,4559}}} id=8 | 170 SkOpAngle::afterPart {{{158,4559}, {1170,4559}}} id=8 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 SkOpSegment::findNextOp | 224 SkOpSegment::findNextOp |
149 SkOpAngle::dumpOne [8/8] next=11/12 sect=31/31 s=0.0681399632 [34] e=1 [16] sgn
=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 | 225 SkOpAngle::dumpOne [8/8] next=11/12 sect=31/31 s=0.0681399632 [34] e=1 [16] sgn
=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 |
150 SkOpAngle::dumpOne [11/12] next=12/13 sect=15/15 s=1 [22] e=0 [21] sgn=1 windVa
l=1 windSum=-1 oppVal=1 oppSum=-1 operand | 226 SkOpAngle::dumpOne [11/12] next=12/13 sect=15/15 s=1 [22] e=0 [21] sgn=1 windVa
l=1 windSum=-1 oppVal=1 oppSum=-1 operand |
151 SkOpAngle::dumpOne [12/13] next=8/8 sect=23/23 s=0 [23] e=0.972972973 [30] sgn=
-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand | 227 SkOpAngle::dumpOne [12/13] next=8/8 sect=23/23 s=0 [23] e=0.972972973 [30] sgn=
-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand |
152 SkOpSegment::activeOp id=11 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=1
result=1 | 228 SkOpSegment::activeOp id=11 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=1
result=1 |
153 SkOpSegment::findNextOp chase.append segment=9 span=17 windSum=-1 | 229 SkOpSegment::findNextOp chase.append segment=9 span=17 windSum=-1 |
154 SkOpSegment::activeOp id=12 t=0 tEnd=0.972972973 op=union miFrom=1 miTo=1 suFrom
=1 suTo=0 result=0 | 230 SkOpSegment::activeOp id=12 t=0 tEnd=0.972972973 op=union miFrom=1 miTo=1 suFrom
=1 suTo=0 result=0 |
155 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0 [23] (158,4559) tEnd=0.97297
2973 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0 | 231 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0 [23] (158,4559) tEnd=0.97297
2973 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0 |
156 SkOpSegment::findNextOp chase.append segment=12 span=30 windSum=-2147483647 | 232 SkOpSegment::findNextOp chase.append segment=12 span=30 windSum=-2147483647 |
157 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0.0681399632 [34] (158,4559) tE
nd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 233 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0.0681399632 [34] (158,4559) tE
nd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
158 SkOpSegment::findNextOp from:[8] to:[11] start=6561036 end=6560932 | 234 SkOpSegment::findNextOp from:[8] to:[11] start=8985900 end=8985796 |
159 bridgeOp current id=8 from=(1170,4559) to=(158,4559) | 235 bridgeOp current id=8 from=(1170,4559) to=(158,4559) |
160 SkOpSegment::findNextOp simple | 236 SkOpSegment::findNextOp simple |
161 SkOpSegment::markDone id=11 (84,4559 158,4559) t=0 [21] (84,4559) tEnd=1 newWind
Sum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 | 237 SkOpSegment::markDone id=11 (84,4559 158,4559) t=0 [21] (84,4559) tEnd=1 newWind
Sum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
162 bridgeOp current id=11 from=(158,4559) to=(84,4559) | 238 bridgeOp current id=11 from=(158,4559) to=(84,4559) |
163 SkOpSegment::findNextOp simple | 239 SkOpSegment::findNextOp simple |
164 SkOpSegment::markDone id=7 (78,4565 78,4559 84,4559) t=0 [13] (78,4565) tEnd=1 n
ewWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 | 240 SkOpSegment::markDone id=7 (78,4565 78,4559 84,4559) t=0 [13] (78,4565) tEnd=1 n
ewWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
165 bridgeOp current id=7 from=(84,4559) to=(78,4565) | 241 bridgeOp current id=7 from=(84,4559) to=(78,4565) |
166 path.lineTo(84,4559); | 242 path.lineTo(84,4559); |
167 path.conicTo(78,4559, 78,4565, 0.707106769); | 243 path.conicTo(78,4559, 78,4565, 0.707106769); |
168 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.
0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValu
e=1 oppValue=0 | 244 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.
0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValu
e=1 oppValue=0 |
169 SkOpSegment::markAngle last segment=14 span=32 windSum=-1 | 245 SkOpSegment::markAngle last segment=14 span=32 windSum=-1 |
170 SkOpSegment::markWinding id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) t
End=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 opp
Value=0 | 246 SkOpSegment::markWinding id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) t
End=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 opp
Value=0 |
171 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339
899 [31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? wind
Sum=? windValue=1 oppValue=0 | 247 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339
899 [31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? wind
Sum=? windValue=1 oppValue=0 |
172 SkOpSegment::markAngle last segment=5 span=31 windSum=-1 | 248 SkOpSegment::markAngle last segment=5 span=31 windSum=-1 |
173 SkOpSegment::findNextOp | 249 SkOpSegment::findNextOp |
174 SkOpAngle::dumpOne [9/9] next=14/18 sect=7/7 s=0 [17] e=1 [18] sgn=-1 windVal=1
windSum=-1 oppVal=1 oppSum=-1 operand | 250 SkOpAngle::dumpOne [9/9] next=14/18 sect=7/7 s=0 [17] e=1 [18] sgn=-1 windVal=1
windSum=-1 oppVal=1 oppSum=-1 operand |
175 SkOpAngle::dumpOne [14/18] next=6/5 sect=21/21 s=1 [28] e=0.998759893 [32] sgn=
1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand | 251 SkOpAngle::dumpOne [14/18] next=6/5 sect=21/21 s=1 [28] e=0.998759893 [32] sgn=
1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
176 SkOpAngle::dumpOne [6/5] next=9/9 sect=23/23 s=0.000234320081 [33] e=0 [11] sgn
=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 | 252 SkOpAngle::dumpOne [6/5] next=9/9 sect=23/23 s=0.000234320081 [33] e=0 [11] sgn
=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 |
177 SkOpSegment::activeOp id=14 t=1 tEnd=0.998759893 op=union miFrom=0 miTo=0 suFrom
=0 suTo=1 result=1 | 253 SkOpSegment::activeOp id=14 t=1 tEnd=0.998759893 op=union miFrom=0 miTo=0 suFrom
=0 suTo=1 result=1 |
178 SkOpSegment::findNextOp chase.append segment=14 span=32 windSum=-1 | 254 SkOpSegment::findNextOp chase.append segment=14 span=32 windSum=-1 |
179 SkOpSegment::activeOp id=6 t=0.000234320081 tEnd=0 op=union miFrom=0 miTo=1 suFr
om=1 suTo=1 result=0 | 255 SkOpSegment::activeOp id=6 t=0.000234320081 tEnd=0 op=union miFrom=0 miTo=1 suFr
om=1 suTo=1 result=0 |
180 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) tEnd
=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppV
alue=0 | 256 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) tEnd
=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppV
alue=0 |
181 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339899
[31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSu
m=-1 windValue=1 oppValue=0 | 257 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339899
[31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSu
m=-1 windValue=1 oppValue=0 |
182 SkOpSegment::findNextOp chase.append segment=5 span=31 windSum=-1 | 258 SkOpSegment::findNextOp chase.append segment=5 span=31 windSum=-1 |
183 SkOpSegment::markDone id=9 (78,4590 78,4565) t=0 [17] (78,4590) tEnd=1 newWindSu
m=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 | 259 SkOpSegment::markDone id=9 (78,4590 78,4565) t=0 [17] (78,4590) tEnd=1 newWindSu
m=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
184 SkOpSegment::findNextOp from:[9] to:[14] start=6561756 end=6562204 | 260 SkOpSegment::findNextOp from:[9] to:[14] start=8986620 end=8987068 |
185 bridgeOp current id=9 from=(78,4565) to=(78,4590) | 261 bridgeOp current id=9 from=(78,4565) to=(78,4590) |
186 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd
=0.998759893 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 262 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd
=0.998759893 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
187 SkOpSegment::markWinding id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 new
WindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 263 SkOpSegment::markWinding id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 new
WindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
188 SkOpSegment::markWinding id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595)
tEnd=1 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 264 SkOpSegment::markWinding id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595)
tEnd=1 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
189 SkOpSegment::markAngle last segment=12 span=30 windSum=-2 | 265 SkOpSegment::markAngle last segment=12 span=30 windSum=-2 |
190 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (8
3,4595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue
=1 oppValue=0 | 266 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (8
3,4595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue
=1 oppValue=0 |
191 SkOpSegment::markWinding id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595)
tEnd=1 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue=1 oppValue=0 | 267 SkOpSegment::markWinding id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595)
tEnd=1 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue=1 oppValue=0 |
192 SkOpSegment::markAngle last segment=4 span=29 windSum=-1 | 268 SkOpSegment::markAngle last segment=4 span=29 windSum=-1 |
193 SkOpSegment::findNextOp | 269 SkOpSegment::findNextOp |
194 SkOpAngle::dumpOne [14/17] next=5/4 sect=9/9 s=0.998759893 [32] e=1 [28] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=0 operand | 270 SkOpAngle::dumpOne [14/17] next=5/4 sect=9/9 s=0.998759893 [32] e=1 [28] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
195 SkOpAngle::dumpOne [5/4] next=14/16 sect=9/9 s=0.999339899 [31] e=1 [10] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=-1 done | 271 SkOpAngle::dumpOne [5/4] next=14/16 sect=9/9 s=0.999339899 [31] e=1 [10] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=-1 done |
196 SkOpAngle::dumpOne [14/16] next=5/3 sect=25/29 s=0.998759893 [32] e=0 [27] sgn=
1 windVal=1 windSum=-2 oppVal=0 oppSum=0 operand | 272 SkOpAngle::dumpOne [14/16] next=5/3 sect=25/29 s=0.998759893 [32] e=0 [27] sgn=
1 windVal=1 windSum=-2 oppVal=0 oppSum=0 operand |
197 SkOpAngle::dumpOne [5/3] next=14/17 sect=25/29 s=0.999339899 [31] e=0 [9] sgn=1
windVal=1 windSum=-1 oppVal=0 oppSum=-2 | 273 SkOpAngle::dumpOne [5/3] next=14/17 sect=25/29 s=0.999339899 [31] e=0 [9] sgn=1
windVal=1 windSum=-1 oppVal=0 oppSum=-2 |
198 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=1 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 | 274 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=1 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 |
199 SkOpSegment::activeOp id=14 t=0.998759893 tEnd=0 op=union miFrom=1 miTo=1 suFrom
=0 suTo=1 result=0 | 275 SkOpSegment::activeOp id=14 t=0.998759893 tEnd=0 op=union miFrom=1 miTo=1 suFrom
=0 suTo=1 result=0 |
200 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd=0.
998759893 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 | 276 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd=0.
998759893 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
201 SkOpSegment::markDone id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 newWin
dSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 | 277 SkOpSegment::markDone id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 newWin
dSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
202 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595) tE
nd=1 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 | 278 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595) tE
nd=1 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
203 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=0 op=union miFrom=1 miTo=0 suFrom=
1 suTo=1 result=0 | 279 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=0 op=union miFrom=1 miTo=0 suFrom=
1 suTo=1 result=0 |
204 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (83,4
595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=
1 oppValue=0 | 280 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (83,4
595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=
1 oppValue=0 |
205 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595) tEn
d=1 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=1 oppValue=0 | 281 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595) tEn
d=1 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=1 oppValue=0 |
206 SkOpSegment::findNextOp chase.append segment=4 span=29 windSum=-1 | 282 SkOpSegment::findNextOp chase.append segment=4 span=29 windSum=-1 |
207 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.000
0076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=
1 oppValue=0 | 283 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.000
0076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=
1 oppValue=0 |
208 SkOpSegment::findNextOp from:[14] to:[5] start=6562100 end=6559532 | 284 SkOpSegment::findNextOp from:[14] to:[5] start=8986964 end=8984396 |
209 bridgeOp current id=14 from=(78,4590) to=(78.0000076,4590.01074) | 285 bridgeOp current id=14 from=(78,4590) to=(78.0000076,4590.01074) |
210 path.lineTo(78,4590); | 286 path.lineTo(78,4590); |
211 path.conicTo(78,4590.00537, 78.0000076,4590.01074, 0.999999642); | 287 path.conicTo(78,4590.00537, 78.0000076,4590.01074, 0.999999642); |
212 SkOpSegment::debugShowActiveSpans id=2 (1176,4565 1176,4590) t=0 (1176,4565) tEn
d=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 | 288 SkOpSegment::debugShowActiveSpans id=2 (1176,4565 1176,4590) t=0 (1176,4565) tEn
d=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
213 SkOpSegment::debugShowActiveSpans id=3 (1176,4590 1176,4595 1171,4595 0.70710676
9f) t=0 (1176,4590) tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 | 289 SkOpSegment::debugShowActiveSpans id=3 (1176,4590 1176,4595 1171,4595 0.70710676
9f) t=0 (1176,4590) tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
214 SkOpSegment::debugShowActiveSpans id=4 (1171,4595 83,4595) t=0 (1171,4595) tEnd=
0.931066176 windSum=-1 oppSum=0 windValue=1 oppValue=0 | 290 SkOpSegment::debugShowActiveSpans id=4 (1171,4595 83,4595) t=0 (1171,4595) tEnd=
0.931066176 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
215 SkOpSegment::activeOp id=4 t=0.931066176 tEnd=0 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 | 291 SkOpSegment::activeOp id=4 t=0.931066176 tEnd=0 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 |
216 SkOpSegment::findNextOp simple | 292 SkOpSegment::findNextOp simple |
217 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0 [7] (1171,4595) tEnd=0.931066
176 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 293 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0 [7] (1171,4595) tEnd=0.931066
176 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
218 bridgeOp current id=4 from=(158,4595) to=(1171,4595) | 294 bridgeOp current id=4 from=(158,4595) to=(1171,4595) |
219 SkOpSegment::findNextOp simple | 295 SkOpSegment::findNextOp simple |
220 SkOpSegment::markDone id=3 (1176,4590 1176,4595 1171,4595) t=0 [5] (1176,4590) t
End=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 296 SkOpSegment::markDone id=3 (1176,4590 1176,4595 1171,4595) t=0 [5] (1176,4590) t
End=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
221 bridgeOp current id=3 from=(1171,4595) to=(1176,4590) | 297 bridgeOp current id=3 from=(1171,4595) to=(1176,4590) |
222 path.moveTo(158,4595); | 298 path.moveTo(158,4595); |
223 path.lineTo(1171,4595); | 299 path.lineTo(1171,4595); |
224 path.conicTo(1176,4595, 1176,4590, 0.707106769); | 300 path.conicTo(1176,4595, 1176,4590, 0.707106769); |
225 SkOpSegment::findNextOp simple | 301 SkOpSegment::findNextOp simple |
226 SkOpSegment::markDone id=2 (1176,4565 1176,4590) t=0 [3] (1176,4565) tEnd=1 newW
indSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 302 SkOpSegment::markDone id=2 (1176,4565 1176,4590) t=0 [3] (1176,4565) tEnd=1 newW
indSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
227 bridgeOp current id=2 from=(1176,4590) to=(1176,4565) | 303 bridgeOp current id=2 from=(1176,4590) to=(1176,4565) |
228 path.lineTo(1176,4565); | 304 path.lineTo(1176,4565); |
229 </div> | 305 </div> |
230 | 306 |
231 | |
232 | |
233 </div> | 307 </div> |
234 | 308 |
235 <script type="text/javascript"> | 309 <script type="text/javascript"> |
236 | 310 |
237 var testDivs = [ | 311 var testDivs = [ |
238 skpwww_gorcraft_ru_1, | 312 skpwww_gorcraft_ru_1, |
239 ]; | 313 ]; |
240 | 314 |
241 var decimal_places = 3; // make this 3 to show more precision | 315 var decimal_places = 3; // make this 3 to show more precision |
242 | 316 |
(...skipping 1137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1380 function idByCurve(test, frag, type) { | 1454 function idByCurve(test, frag, type) { |
1381 var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_AL
IGNED) : []; | 1455 var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_AL
IGNED) : []; |
1382 if (!result.length) { | 1456 if (!result.length) { |
1383 result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH); | 1457 result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH); |
1384 } | 1458 } |
1385 return result; | 1459 return result; |
1386 } | 1460 } |
1387 | 1461 |
1388 function curve_extremes(curve, bounds) { | 1462 function curve_extremes(curve, bounds) { |
1389 var length = curve.length == 7 ? 6 : curve.length; | 1463 var length = curve.length == 7 ? 6 : curve.length; |
1390 for (var index = 0; index < length; index += 2) { | 1464 for (var index = 0; index < curve.length; index += 2) { |
1391 var x = curve[index]; | 1465 var x = curve[index]; |
1392 var y = curve[index + 1]; | 1466 var y = curve[index + 1]; |
1393 bounds[0] = Math.min(bounds[0], x); | 1467 bounds[0] = Math.min(bounds[0], x); |
1394 bounds[1] = Math.min(bounds[1], y); | 1468 bounds[1] = Math.min(bounds[1], y); |
1395 bounds[2] = Math.max(bounds[2], x); | 1469 bounds[2] = Math.max(bounds[2], x); |
1396 bounds[3] = Math.max(bounds[3], y); | 1470 bounds[3] = Math.max(bounds[3], y); |
1397 } | 1471 } |
1398 } | 1472 } |
1399 | 1473 |
1400 function setScale(x0, x1, y0, y1) { | 1474 function setScale(x0, x1, y0, y1) { |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1907 var dy = conic_eval_numerator(y1, y2, y3, w, midT); | 1981 var dy = conic_eval_numerator(y1, y2, y3, w, midT); |
1908 var dz = conic_eval_denominator(w, midT); | 1982 var dz = conic_eval_denominator(w, midT); |
1909 var cx = conic_eval_numerator(x1, x2, x3, w, t2); | 1983 var cx = conic_eval_numerator(x1, x2, x3, w, t2); |
1910 var cy = conic_eval_numerator(y1, y2, y3, w, t2); | 1984 var cy = conic_eval_numerator(y1, y2, y3, w, t2); |
1911 var cz = conic_eval_denominator(w, t2); | 1985 var cz = conic_eval_denominator(w, t2); |
1912 var bx = 2 * dx - (ax + cx) / 2; | 1986 var bx = 2 * dx - (ax + cx) / 2; |
1913 var by = 2 * dy - (ay + cy) / 2; | 1987 var by = 2 * dy - (ay + cy) / 2; |
1914 var bz = 2 * dz - (az + cz) / 2; | 1988 var bz = 2 * dz - (az + cz) / 2; |
1915 var dt = t2 - t1; | 1989 var dt = t2 - t1; |
1916 var dt_1 = 1 - dt; | 1990 var dt_1 = 1 - dt; |
| 1991 var partW = (1 + dt * (w - 1)) / Math.sqrt(dt * dt + 2 * dt * dt_1 * w + dt_
1 * dt_1); |
1917 var array = [ | 1992 var array = [ |
1918 ax / az, ay / az, bx / bz, by / bz, cx / cz, cy / cz, 0 | 1993 ax / az, ay / az, bx / bz, by / bz, cx / cz, cy / cz, partW |
1919 ]; | 1994 ]; |
1920 var dMidAC = { x:(array[0] + array[4]) / 2, y:(array[1] + array[5]) / 2 }; | |
1921 var dMid = { x:dx / dz, y:dy / dz }; | |
1922 var dWNumer = { x:dMidAC.x - dMid.x, y:dMidAC.y - dMid.y }; | |
1923 var dWDenom = { x:dMid.x - array[2], y:dMid.y - array[3] }; | |
1924 var partW = Math.sqrt(dWNumer.x * dWNumer.x + dWNumer.y * dWNumer.y) | |
1925 / Math.sqrt(dWDenom.x * dWDenom.x + dWDenom.y * dWDenom.y); | |
1926 array[6] = partW; | |
1927 return array; | 1995 return array; |
1928 } | 1996 } |
1929 | 1997 |
1930 function drawConicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) { | 1998 function drawConicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) { |
1931 var a = conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2); | 1999 var a = conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2); |
1932 var ax = a[0]; | 2000 var ax = a[0]; |
1933 var ay = a[1]; | 2001 var ay = a[1]; |
1934 var bx = a[2]; | 2002 var bx = a[2]; |
1935 var by = a[3]; | 2003 var by = a[3]; |
1936 var cx = a[4]; | 2004 var cx = a[4]; |
(...skipping 2107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4044 </script> | 4112 </script> |
4045 </head> | 4113 </head> |
4046 | 4114 |
4047 <body onLoad="start();"> | 4115 <body onLoad="start();"> |
4048 <canvas id="canvas" width="750" height="500" | 4116 <canvas id="canvas" width="750" height="500" |
4049 onmousemove="handleMouseOver()" | 4117 onmousemove="handleMouseOver()" |
4050 onclick="handleMouseClick()" | 4118 onclick="handleMouseClick()" |
4051 ></canvas > | 4119 ></canvas > |
4052 </body> | 4120 </body> |
4053 </html> | 4121 </html> |
OLD | NEW |