OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 #include "PathOpsExtendedTest.h" | 7 #include "PathOpsExtendedTest.h" |
8 | 8 |
9 #define TEST(name) { name, #name } | 9 #define TEST(name) { name, #name } |
10 | 10 |
| 11 #define TRY_NEW_TESTS 0 |
| 12 #define TRY_NEW_TESTS_IS_CLOSED 0 |
| 13 |
11 static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char*
filename) { | 14 static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char*
filename) { |
12 SkPath path; | 15 SkPath path; |
13 path.setFillType(SkPath::kEvenOdd_FillType); | 16 path.setFillType(SkPath::kEvenOdd_FillType); |
14 path.moveTo(555, 468); | 17 path.moveTo(555, 468); |
15 path.lineTo(555, 362); | 18 path.lineTo(555, 362); |
16 path.lineTo(872, 362); | 19 path.lineTo(872, 362); |
17 path.lineTo(872, 468); | 20 path.lineTo(872, 468); |
18 path.lineTo(555, 468); | 21 path.lineTo(555, 468); |
19 path.close(); | 22 path.close(); |
20 SkPath pathB; | 23 SkPath pathB; |
(...skipping 1716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1737 SkPath pathB; | 1740 SkPath pathB; |
1738 pathB.setFillType(SkPath::kWinding_FillType); | 1741 pathB.setFillType(SkPath::kWinding_FillType); |
1739 pathB.moveTo(964.267578f, 1838.73499f); | 1742 pathB.moveTo(964.267578f, 1838.73499f); |
1740 pathB.lineTo(1019.26501f, 1839.26758f); | 1743 pathB.lineTo(1019.26501f, 1839.26758f); |
1741 pathB.lineTo(1018.73242f, 1894.26501f); | 1744 pathB.lineTo(1018.73242f, 1894.26501f); |
1742 pathB.lineTo(963.734985f, 1893.73242f); | 1745 pathB.lineTo(963.734985f, 1893.73242f); |
1743 pathB.close(); | 1746 pathB.close(); |
1744 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); | 1747 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
1745 } | 1748 } |
1746 | 1749 |
| 1750 static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char*
filename) { |
| 1751 SkPath path; |
| 1752 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1753 path.moveTo(1129.53552f, 1164.46448f); |
| 1754 path.lineTo(1128, 1166); |
| 1755 path.lineTo(1128.12231f, 1166.49548f); |
| 1756 path.quadTo(1129, 1167.56592f, 1129, 1169); |
| 1757 path.lineTo(1129, 1170.05054f); |
| 1758 path.lineTo(1130.34509f, 1175.49878f); |
| 1759 path.quadTo(1131, 1174.38513f, 1131, 1173); |
| 1760 path.lineTo(1131, 1168); |
| 1761 path.quadTo(1131, 1165.92896f, 1129.53552f, 1164.46448f); |
| 1762 path.close(); |
| 1763 SkPath pathB; |
| 1764 pathB.setFillType(SkPath::kWinding_FillType); |
| 1765 pathB.moveTo(1131, 1163); |
| 1766 pathB.lineTo(-43515.8555f, -177415.594f); |
| 1767 pathB.lineTo(1129.76465f, 1173.05884f); |
| 1768 pathB.lineTo(1131, 1178); |
| 1769 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1770 } |
| 1771 |
| 1772 // /SkOpContour.cpp:278: failed assertion "!approximately_negative(oEndT - oStar
tT) |
| 1773 static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char
* filename) { |
| 1774 SkPath path; |
| 1775 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1776 path.moveTo(143.292892f, 0.707106769f); |
| 1777 path.quadTo(143, 0.414213538f, 143, 0); |
| 1778 path.lineTo(1123, 0); |
| 1779 path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f); |
| 1780 path.quadTo(1122.41418f, 1, 1122, 1); |
| 1781 path.lineTo(144, 1); |
| 1782 path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f); |
| 1783 path.close(); |
| 1784 SkPath pathB; |
| 1785 pathB.setFillType(SkPath::kWinding_FillType); |
| 1786 pathB.moveTo(143, 1); |
| 1787 pathB.lineTo(144, 0); |
| 1788 pathB.lineTo(1122, 0); |
| 1789 pathB.lineTo(1123, 1); |
| 1790 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1791 } |
| 1792 |
| 1793 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue); |
| 1794 static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, cons
t char* filename) { |
| 1795 SkPath path; |
| 1796 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1797 path.moveTo(741, 9432); |
| 1798 path.lineTo(761, 9431.99023f); |
| 1799 path.lineTo(761, 9433); |
| 1800 path.lineTo(741, 9433); |
| 1801 path.lineTo(741, 9432); |
| 1802 path.close(); |
| 1803 SkPath pathB; |
| 1804 pathB.setFillType(SkPath::kWinding_FillType); |
| 1805 pathB.moveTo(741, 9433); |
| 1806 pathB.lineTo(741, 9431.99023f); |
| 1807 pathB.lineTo(761, 9432); |
| 1808 pathB.lineTo(761, 9433); |
| 1809 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1810 } |
| 1811 |
| 1812 /* |
| 1813 * 125 SkASSERT(index < fCount); |
| 1814 (gdb) bt |
| 1815 #0 0x000000000041094b in SkTDArray<SkOpSpan>::operator[] (this=0x18, index=2) a
t ../../include/core/SkTDArray.h:125 |
| 1816 #1 0x00000000005ad2ce in SkOpSegment::tAtMid (this=0x0, start=2, end=5, mid=0.9
0000000000000002) at ../../src/pathops/SkOpSegment.h:219 |
| 1817 #2 0x00000000005aadea in contourRangeCheckY (contourList=..., currentPtr=0x7fff
d77f4ec0, indexPtr=0x7fffd77f4f88, endIndexPtr=0x7fffd77f4f8c, bestHit=0x7fffd77
f4ec8, |
| 1818 bestDx=0x7fffd77f4edc, tryAgain=0x7fffd77f4eff, midPtr=0x7fffd77f4e60, opp=f
alse) at ../../src/pathops/SkPathOpsCommon.cpp:20 |
| 1819 #3 0x00000000005ab8ee in rightAngleWinding (contourList=..., current=0x7fffd77f
4ec0, index=0x7fffd77f4f88, endIndex=0x7fffd77f4f8c, tHit=0x7fffd77f4ec8, hitDx=
0x7fffd77f4edc, |
| 1820 */ |
| 1821 #if TRY_NEW_TESTS |
| 1822 static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char*
filename) { |
| 1823 SkPath path; |
| 1824 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1825 path.moveTo(1000, 343); |
| 1826 path.lineTo(165, 343); |
| 1827 path.lineTo(165, 364.869873f); |
| 1828 path.lineTo(1000, 364.869873f); |
| 1829 path.lineTo(1000, 343); |
| 1830 path.close(); |
| 1831 SkPath pathB; |
| 1832 pathB.setFillType(SkPath::kWinding_FillType); |
| 1833 pathB.moveTo(165, 343.000031f); |
| 1834 pathB.lineTo(1000, 343.000031f); |
| 1835 pathB.lineTo(1000, 364.869904f); |
| 1836 pathB.lineTo(165, 364.869904f); |
| 1837 pathB.close(); |
| 1838 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1839 } |
| 1840 #endif |
| 1841 |
| 1842 // SkOpSegment::checkSmallCoincidence; line 1958 SkASSERT(span.fWindValue); |
| 1843 static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1844 SkPath path; |
| 1845 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1846 path.moveTo(838, 9125); |
| 1847 path.lineTo(862, 9124.99023f); |
| 1848 path.lineTo(862, 9126); |
| 1849 path.lineTo(838, 9126); |
| 1850 path.lineTo(838, 9125); |
| 1851 path.close(); |
| 1852 SkPath pathB; |
| 1853 pathB.setFillType(SkPath::kWinding_FillType); |
| 1854 pathB.moveTo(838, 9126); |
| 1855 pathB.lineTo(838, 9124.99023f); |
| 1856 pathB.lineTo(862, 9125); |
| 1857 pathB.lineTo(862, 9126); |
| 1858 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1859 } |
| 1860 |
| 1861 // debugValidateLoop loop sum fails |
| 1862 static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1863 SkPath path; |
| 1864 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1865 path.moveTo(143, 9075); |
| 1866 path.lineTo(316, 9075); |
| 1867 path.lineTo(316, 9073.99023f); |
| 1868 path.lineTo(143, 9074); |
| 1869 path.lineTo(143, 9075); |
| 1870 path.close(); |
| 1871 SkPath pathB; |
| 1872 pathB.setFillType(SkPath::kWinding_FillType); |
| 1873 pathB.moveTo(143, 9075); |
| 1874 pathB.lineTo(143, 9073.99023f); |
| 1875 pathB.lineTo(316, 9074); |
| 1876 pathB.lineTo(316, 9075); |
| 1877 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1878 } |
| 1879 |
| 1880 // debugValidateLoop loop sum fails |
| 1881 static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* fi
lename) { |
| 1882 SkPath path; |
| 1883 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1884 path.moveTo(541.5f, 4835.99512f); |
| 1885 path.lineTo(91.5f, 4836); |
| 1886 path.lineTo(91.5f, 4836.5f); |
| 1887 path.lineTo(541.5f, 4836.5f); |
| 1888 path.lineTo(541.5f, 4835.99512f); |
| 1889 path.close(); |
| 1890 SkPath pathB; |
| 1891 pathB.setFillType(SkPath::kWinding_FillType); |
| 1892 pathB.moveTo(91.5f, 4836.5f); |
| 1893 pathB.lineTo(91.5f, 4835.99512f); |
| 1894 pathB.lineTo(541.5f, 4836); |
| 1895 pathB.lineTo(541.5f, 4836.5f); |
| 1896 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1897 } |
| 1898 |
| 1899 // SkIntersections::lineVertical fUsed >= fMax |
| 1900 static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* file
name) { |
| 1901 SkPath path; |
| 1902 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1903 path.moveTo(284.878693f, 10134.8789f); |
| 1904 path.quadTo(284, 10135.7578f, 284, 10137); |
| 1905 path.lineTo(284, 10216); |
| 1906 path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f); |
| 1907 path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f); |
| 1908 path.lineTo(286, 10138); |
| 1909 path.lineTo(286, 10136); |
| 1910 path.lineTo(284.878693f, 10134.8789f); |
| 1911 path.close(); |
| 1912 SkPath pathB; |
| 1913 pathB.setFillType(SkPath::kWinding_FillType); |
| 1914 pathB.moveTo(284, 10134); |
| 1915 pathB.lineTo(286.05957f, 10129.8809f); |
| 1916 pathB.lineTo(285.399994f, 10216.2002f); |
| 1917 pathB.lineTo(284, 10219); |
| 1918 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1919 } |
| 1920 |
| 1921 // SkOpContour::calcPartialCoincidentWinding SkASSERT(!approximately_negative(en
dT - startT)); |
| 1922 static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const ch
ar* filename) { |
| 1923 SkPath path; |
| 1924 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1925 path.moveTo(3.17157292f, 11831.1719f); |
| 1926 path.quadTo(4.34314585f, 11830, 6, 11830); |
| 1927 path.lineTo(1259, 11830); |
| 1928 path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f); |
| 1929 path.quadTo(1263, 11832.3428f, 1263, 11834); |
| 1930 path.lineTo(1263, 11848); |
| 1931 path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f); |
| 1932 path.quadTo(1260.65686f, 11852, 1259, 11852); |
| 1933 path.lineTo(6, 11852); |
| 1934 path.quadTo(4.34314585f, 11852, 3.17157292f, 11850.8281f); |
| 1935 path.quadTo(2, 11849.6572f, 2, 11848); |
| 1936 path.lineTo(2, 11834); |
| 1937 path.quadTo(2, 11832.3428f, 3.17157292f, 11831.1719f); |
| 1938 path.close(); |
| 1939 path.moveTo(3.87867975f, 11831.8789f); |
| 1940 path.quadTo(4.7573595f, 11831, 6, 11831); |
| 1941 path.lineTo(1259, 11831); |
| 1942 path.quadTo(1260.24268f, 11831, 1261.12134f, 11831.8789f); |
| 1943 path.quadTo(1262, 11832.7578f, 1262, 11834); |
| 1944 path.lineTo(1262, 11848); |
| 1945 path.quadTo(1262, 11849.2422f, 1261.12134f, 11850.1211f); |
| 1946 path.quadTo(1260.24268f, 11851, 1259, 11851); |
| 1947 path.lineTo(6, 11851); |
| 1948 path.quadTo(4.7573595f, 11851, 3.87867975f, 11850.1211f); |
| 1949 path.quadTo(3, 11849.2422f, 3, 11848); |
| 1950 path.lineTo(3, 11834); |
| 1951 path.quadTo(3, 11832.7578f, 3.87867975f, 11831.8789f); |
| 1952 path.close(); |
| 1953 SkPath pathB; |
| 1954 pathB.setFillType(SkPath::kWinding_FillType); |
| 1955 pathB.moveTo(2, 11830); |
| 1956 pathB.lineTo(4.5f, 11832.5f); |
| 1957 pathB.lineTo(1260.5f, 11832.5f); |
| 1958 pathB.lineTo(1263, 11830); |
| 1959 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1960 } |
| 1961 |
| 1962 // can't find winding of remaining vertical edges |
| 1963 static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* f
ilename) { |
| 1964 SkPath path; |
| 1965 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1966 path.moveTo(1000, 902.329346f); |
| 1967 path.quadTo(998, 905.250427f, 998, 909); |
| 1968 path.lineTo(998, 910); |
| 1969 path.quadTo(998, 913.749573f, 1000, 916.670654f); |
| 1970 path.lineTo(1000, 902.329346f); |
| 1971 path.close(); |
| 1972 SkPath pathB; |
| 1973 pathB.setFillType(SkPath::kWinding_FillType); |
| 1974 pathB.moveTo(998, 910); |
| 1975 pathB.lineTo(998, 909); |
| 1976 pathB.quadTo(998, 904.029419f, 1001.51471f, 900.514709f); |
| 1977 pathB.quadTo(1005.02942f, 897, 1010, 897); |
| 1978 pathB.lineTo(1011, 897); |
| 1979 pathB.quadTo(1015.14215f, 897, 1018.07104f, 900.514709f); |
| 1980 pathB.quadTo(1021, 904.029419f, 1021, 909); |
| 1981 pathB.lineTo(1021, 910); |
| 1982 pathB.quadTo(1021, 914.142151f, 1018.07104f, 917.071045f); |
| 1983 pathB.quadTo(1015.14215f, 920, 1011, 920); |
| 1984 pathB.lineTo(1010, 920); |
| 1985 pathB.quadTo(1005.02942f, 920, 1001.51471f, 917.071045f); |
| 1986 pathB.quadTo(998, 914.142151f, 998, 910); |
| 1987 pathB.close(); |
| 1988 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 1989 } |
| 1990 |
| 1991 // calcCoincidentWinding asserts in zeroSpan |
| 1992 #if TRY_NEW_TESTS |
| 1993 static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter,
const char* filename) { |
| 1994 SkPath path; |
| 1995 path.setFillType(SkPath::kEvenOdd_FillType); |
| 1996 path.moveTo(610.5f, 5.78626502e-14f); |
| 1997 path.lineTo(1083.5f, -6.12303177e-17f); |
| 1998 path.lineTo(1083.5f, 469); |
| 1999 path.lineTo(610.5f, 469); |
| 2000 path.lineTo(610.5f, 5.78626502e-14f); |
| 2001 path.close(); |
| 2002 SkPath pathB; |
| 2003 pathB.setFillType(SkPath::kWinding_FillType); |
| 2004 pathB.moveTo(611, 0); |
| 2005 pathB.lineTo(1084, 0); |
| 2006 pathB.lineTo(1084, 469); |
| 2007 pathB.lineTo(611, 469); |
| 2008 pathB.close(); |
| 2009 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2010 } |
| 2011 #endif |
| 2012 |
| 2013 // asserts in bridgeOp simple->isClosed() |
| 2014 #if TRY_NEW_TESTS_IS_CLOSED |
| 2015 static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const c
har* filename) { |
| 2016 SkPath path; |
| 2017 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2018 path.moveTo(85.6091843f, 5.92893219f); |
| 2019 path.quadTo(89.6041641f, 3, 93.7462997f, 3); |
| 2020 path.lineTo(1212.74634f, 3); |
| 2021 path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f); |
| 2022 path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f); |
| 2023 path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f); |
| 2024 path.quadTo(1216.52441f, 4, 1212.38232f, 4); |
| 2025 path.lineTo(93.3823318f, 4); |
| 2026 path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f); |
| 2027 path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13); |
| 2028 path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f); |
| 2029 path.close(); |
| 2030 SkPath pathB; |
| 2031 pathB.setFillType(SkPath::kWinding_FillType); |
| 2032 pathB.moveTo(83.7462997f, 3); |
| 2033 pathB.lineTo(1222.74634f, 3); |
| 2034 pathB.lineTo(1219.10657f, 13); |
| 2035 pathB.lineTo(80.1065979f, 13); |
| 2036 pathB.close(); |
| 2037 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2038 } |
| 2039 #endif |
| 2040 |
| 2041 // !simple->isClosed() |
| 2042 #if TRY_NEW_TESTS_IS_CLOSED |
| 2043 static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filena
me) { |
| 2044 SkPath path; |
| 2045 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2046 path.moveTo(117.686981f, 3339.08423f); |
| 2047 path.lineTo(109.533035f, 3350.72925f); |
| 2048 path.quadTo(107.120552f, 3354.17456f, 103.879379f, 3354.41821f); |
| 2049 path.quadTo(100.638504f, 3354.66187f, 98.4674301f, 3351.56177f); |
| 2050 path.quadTo(100.87973f, 3355.00635f, 104.291222f, 3355.00635f); |
| 2051 path.quadTo(107.70298f, 3355.00635f, 110.115463f, 3351.56104f); |
| 2052 path.lineTo(118, 3340.30078f); |
| 2053 path.lineTo(118, 3339.53125f); |
| 2054 path.lineTo(117.686981f, 3339.08423f); |
| 2055 path.close(); |
| 2056 SkPath pathB; |
| 2057 pathB.setFillType(SkPath::kWinding_FillType); |
| 2058 pathB.moveTo(118.269409f, 3339.91602f); |
| 2059 pathB.lineTo(117.686981f, 3339.08423f); |
| 2060 pathB.lineTo(98.4669647f, 3351.56104f); |
| 2061 pathB.lineTo(104.291214f, 3359.87891f); |
| 2062 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2063 } |
| 2064 #endif |
| 2065 |
| 2066 // !simple->isClosed() |
| 2067 static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2068 SkPath path; |
| 2069 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2070 path.moveTo(509.34021f, 176); |
| 2071 path.lineTo(505, 176); |
| 2072 path.quadTo(500.964233f, 176, 497.299988f, 176.896912f); |
| 2073 path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f); |
| 2074 path.lineTo(489.316986f, 180.4702f); |
| 2075 path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f); |
| 2076 path.quadTo(479.69455f, 188.700821f, 477.995941f, 191.618286f); |
| 2077 path.quadTo(476.316772f, 194.550476f, 475.258759f, 197.959335f); |
| 2078 path.quadTo(474, 202.218979f, 474, 207); |
| 2079 path.lineTo(474, 208); |
| 2080 path.quadTo(474, 212.03569f, 474.896851f, 215.699799f); |
| 2081 path.quadTo(475.950256f, 219.315002f, 477.962708f, 222.803986f); |
| 2082 path.lineTo(477.970215f, 222.816986f); |
| 2083 path.lineTo(478.470215f, 223.683014f); |
| 2084 path.quadTo(478.474915f, 223.691162f, 478.479645f, 223.69931f); |
| 2085 path.quadTo(480.867981f, 227.831055f, 484.082947f, 230.885254f); |
| 2086 path.quadTo(486.701447f, 233.305939f, 489.61908f, 235.004517f); |
| 2087 path.quadTo(492.550232f, 236.682983f, 495.957611f, 237.740738f); |
| 2088 path.quadTo(500.217987f, 239, 505, 239); |
| 2089 path.lineTo(509.482178f, 239); |
| 2090 path.quadTo(515.299133f, 238.212051f, 520.801941f, 235.038513f); |
| 2091 path.quadTo(520.809509f, 235.034164f, 520.817017f, 235.0298f); |
| 2092 path.lineTo(521.683044f, 234.5298f); |
| 2093 path.quadTo(521.692078f, 234.524582f, 521.701111f, 234.519348f); |
| 2094 path.quadTo(532.80603f, 228.09938f, 536.126709f, 215.70639f); |
| 2095 path.quadTo(539.450134f, 203.303314f, 533.029785f, 192.183014f); |
| 2096 path.lineTo(532.529785f, 191.316986f); |
| 2097 path.quadTo(526.109497f, 180.196686f, 513.706421f, 176.873276f); |
| 2098 path.quadTo(511.503082f, 176.282898f, 509.34021f, 176); |
| 2099 path.close(); |
| 2100 SkPath pathB; |
| 2101 pathB.setFillType(SkPath::kWinding_FillType); |
| 2102 pathB.moveTo(478.470215f, 223.683014f); |
| 2103 pathB.lineTo(477.970215f, 222.816986f); |
| 2104 pathB.quadTo(471.549896f, 211.696686f, 474.873322f, 199.293594f); |
| 2105 pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f); |
| 2106 pathB.lineTo(490.183014f, 179.9702f); |
| 2107 pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f); |
| 2108 pathB.quadTo(526.109497f, 180.196686f, 532.529785f, 191.316986f); |
| 2109 pathB.lineTo(533.029785f, 192.183014f); |
| 2110 pathB.quadTo(539.450134f, 203.303314f, 536.126709f, 215.70639f); |
| 2111 pathB.quadTo(532.803345f, 228.109497f, 521.683044f, 234.5298f); |
| 2112 pathB.lineTo(520.817017f, 235.0298f); |
| 2113 pathB.quadTo(509.696686f, 241.450104f, 497.29361f, 238.126709f); |
| 2114 pathB.quadTo(484.890533f, 234.803314f, 478.470215f, 223.683014f); |
| 2115 pathB.close(); |
| 2116 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2117 } |
| 2118 |
| 2119 // !simple->isClosed() |
| 2120 static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, con
st char* filename) { |
| 2121 SkPath path; |
| 2122 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2123 path.moveTo(460.257355f, 1202.27808f); |
| 2124 path.lineTo(460.257355f, 1204.27808f); |
| 2125 path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f); |
| 2126 path.lineTo(461.67157f, 1203.69238f); |
| 2127 path.lineTo(466.621307f, 1198.74268f); |
| 2128 path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f); |
| 2129 path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f); |
| 2130 path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f); |
| 2131 path.lineTo(465.914215f, 1196.62122f); |
| 2132 path.lineTo(460.257355f, 1202.27808f); |
| 2133 path.close(); |
| 2134 SkPath pathB; |
| 2135 pathB.setFillType(SkPath::kWinding_FillType); |
| 2136 pathB.moveTo(460.257355f, 1205.10657f); |
| 2137 pathB.lineTo(458.828979f, 1203.67822f); |
| 2138 pathB.lineTo(465.914215f, 1196.62122f); |
| 2139 pathB.lineTo(467.32843f, 1198.03552f); |
| 2140 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2141 } |
| 2142 |
| 2143 // line quad intersection SkIntersections::assert |
| 2144 static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2145 SkPath path; |
| 2146 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2147 path.moveTo(899.17157f, 548.17157f); |
| 2148 path.quadTo(898, 549.34314f, 898, 551); |
| 2149 path.lineTo(898, 556); |
| 2150 path.lineTo(899.027283f, 556); |
| 2151 path.lineTo(900.02356f, 551.602844f); |
| 2152 path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f); |
| 2153 path.lineTo(900.5f, 549.5f); |
| 2154 path.lineTo(899.17157f, 548.17157f); |
| 2155 path.close(); |
| 2156 SkPath pathB; |
| 2157 pathB.setFillType(SkPath::kWinding_FillType); |
| 2158 pathB.moveTo(898, 547); |
| 2159 pathB.lineTo(901.086914f, 547); |
| 2160 pathB.lineTo(899, 556); |
| 2161 pathB.lineTo(898, 556); |
| 2162 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2163 } |
| 2164 |
| 2165 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0); |
| 2166 static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char*
filename) { |
| 2167 SkPath path; |
| 2168 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2169 path.moveTo(0, 1431); |
| 2170 path.lineTo(0, 775); |
| 2171 path.lineTo(1265, 775); |
| 2172 path.lineTo(1265, 1431); |
| 2173 path.lineTo(0, 1431); |
| 2174 path.close(); |
| 2175 SkPath pathB; |
| 2176 pathB.setFillType(SkPath::kWinding_FillType); |
| 2177 pathB.moveTo(32.3243904f, 851); |
| 2178 pathB.lineTo(459.324402f, 851); |
| 2179 pathB.lineTo(427, 1081); |
| 2180 pathB.lineTo(-3.81469727e-06f, 1081); |
| 2181 pathB.close(); |
| 2182 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2183 } |
| 2184 |
| 2185 // computeonesumreverse calls markwinding with 0 winding |
| 2186 #if TRY_NEW_TESTS |
| 2187 static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filena
me) { |
| 2188 SkPath path; |
| 2189 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2190 path.moveTo(1020.79303f, 2252); |
| 2191 path.quadTo(1018.72198f, 2252, 1016.86798f, 2253.46436f); |
| 2192 path.quadTo(1015.02032f, 2254.92383f, 1014.4668f, 2256.98584f); |
| 2193 path.lineTo(1014.46301f, 2257); |
| 2194 path.lineTo(1011.53705f, 2268); |
| 2195 path.quadTo(1010.98615f, 2270.07104f, 1012.06104f, 2271.53564f); |
| 2196 path.quadTo(1013.13599f, 2273, 1015.20703f, 2273); |
| 2197 path.lineTo(1083.20703f, 2273); |
| 2198 path.quadTo(1085.27808f, 2273, 1087.13208f, 2271.53564f); |
| 2199 path.quadTo(1088.97144f, 2270.08252f, 1089.52832f, 2268.03271f); |
| 2200 path.lineTo(1089.53711f, 2268); |
| 2201 path.lineTo(1092.46301f, 2257); |
| 2202 path.lineTo(1092.4679f, 2256.98145f); |
| 2203 path.quadTo(1093.00916f, 2254.92236f, 1091.93909f, 2253.46436f); |
| 2204 path.quadTo(1090.86414f, 2252, 1088.79297f, 2252); |
| 2205 path.lineTo(1020.79303f, 2252); |
| 2206 path.close(); |
| 2207 SkPath pathB; |
| 2208 pathB.setFillType(SkPath::kWinding_FillType); |
| 2209 pathB.moveTo(1011.53705f, 2268); |
| 2210 pathB.lineTo(1014.46301f, 2257); |
| 2211 pathB.quadTo(1015.01392f, 2254.92896f, 1016.86798f, 2253.46436f); |
| 2212 pathB.quadTo(1018.72198f, 2252, 1020.79303f, 2252); |
| 2213 pathB.lineTo(1088.79297f, 2252); |
| 2214 pathB.quadTo(1090.86414f, 2252, 1091.93909f, 2253.46436f); |
| 2215 pathB.quadTo(1093.01392f, 2254.92896f, 1092.46301f, 2257); |
| 2216 pathB.lineTo(1089.53711f, 2268); |
| 2217 pathB.quadTo(1088.98608f, 2270.07104f, 1087.13208f, 2271.53564f); |
| 2218 pathB.quadTo(1085.27808f, 2273, 1083.20703f, 2273); |
| 2219 pathB.lineTo(1015.20703f, 2273); |
| 2220 pathB.quadTo(1013.13599f, 2273, 1012.06104f, 2271.53564f); |
| 2221 pathB.quadTo(1010.98615f, 2270.07104f, 1011.53705f, 2268); |
| 2222 pathB.close(); |
| 2223 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2224 } |
| 2225 #endif |
| 2226 |
| 2227 // rightAngleWinding (probably same as argus_presse) |
| 2228 #if TRY_NEW_TESTS |
| 2229 static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* file
name) { |
| 2230 SkPath path; |
| 2231 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2232 path.moveTo(22.5f, 24174.5f); |
| 2233 path.lineTo(185.5f, 24174.498f); |
| 2234 path.lineTo(185.5f, 24174.75f); |
| 2235 path.lineTo(22.5f, 24174.75f); |
| 2236 path.lineTo(22.5f, 24174.5f); |
| 2237 path.close(); |
| 2238 SkPath pathB; |
| 2239 pathB.setFillType(SkPath::kWinding_FillType); |
| 2240 pathB.moveTo(22.5f, 24174.75f); |
| 2241 pathB.lineTo(22.5f, 24174.498f); |
| 2242 pathB.lineTo(185.5f, 24174.5f); |
| 2243 pathB.lineTo(185.5f, 24174.75f); |
| 2244 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2245 } |
| 2246 #endif |
| 2247 |
| 2248 // joinCoincidence / findT / assert |
| 2249 static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char*
filename) { |
| 2250 SkPath path; |
| 2251 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2252 path.moveTo(1000, 866.329346f); |
| 2253 path.quadTo(998, 869.250427f, 998, 873); |
| 2254 path.lineTo(998, 874); |
| 2255 path.quadTo(998, 877.749573f, 1000, 880.670654f); |
| 2256 path.lineTo(1000, 866.329346f); |
| 2257 path.close(); |
| 2258 SkPath pathB; |
| 2259 pathB.setFillType(SkPath::kWinding_FillType); |
| 2260 pathB.moveTo(998, 874); |
| 2261 pathB.lineTo(998, 873); |
| 2262 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); |
| 2263 pathB.quadTo(1005.02942f, 861, 1010, 861); |
| 2264 pathB.lineTo(1011, 861); |
| 2265 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); |
| 2266 pathB.quadTo(1021, 868.029419f, 1021, 873); |
| 2267 pathB.lineTo(1021, 874); |
| 2268 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); |
| 2269 pathB.quadTo(1015.14215f, 884, 1011, 884); |
| 2270 pathB.lineTo(1010, 884); |
| 2271 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); |
| 2272 pathB.quadTo(998, 878.142151f, 998, 874); |
| 2273 pathB.close(); |
| 2274 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2275 } |
| 2276 |
| 2277 // rightAngleWinding |
| 2278 #if TRY_NEW_TESTS |
| 2279 static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* file
name) { |
| 2280 SkPath path; |
| 2281 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2282 path.moveTo(22.5f, 24527.25f); |
| 2283 path.lineTo(45, 24527.248f); |
| 2284 path.lineTo(45, 24527.5f); |
| 2285 path.lineTo(22.5f, 24527.5f); |
| 2286 path.lineTo(22.5f, 24527.25f); |
| 2287 path.close(); |
| 2288 SkPath pathB; |
| 2289 pathB.setFillType(SkPath::kWinding_FillType); |
| 2290 pathB.moveTo(22.5f, 24527.5f); |
| 2291 pathB.lineTo(22.5f, 24527.248f); |
| 2292 pathB.lineTo(45, 24527.25f); |
| 2293 pathB.lineTo(45, 24527.5f); |
| 2294 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2295 } |
| 2296 #endif |
| 2297 |
| 2298 // joinCoincidence / findT / assert |
| 2299 static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter,
const char* filename) { |
| 2300 SkPath path; |
| 2301 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2302 path.moveTo(1000, 844.329346f); |
| 2303 path.quadTo(998, 847.250427f, 998, 851); |
| 2304 path.lineTo(998, 852); |
| 2305 path.quadTo(998, 855.749573f, 1000, 858.670654f); |
| 2306 path.lineTo(1000, 844.329346f); |
| 2307 path.close(); |
| 2308 SkPath pathB; |
| 2309 pathB.setFillType(SkPath::kWinding_FillType); |
| 2310 pathB.moveTo(998, 852); |
| 2311 pathB.lineTo(998, 851); |
| 2312 pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f); |
| 2313 pathB.quadTo(1005.02942f, 839, 1010, 839); |
| 2314 pathB.lineTo(1011, 839); |
| 2315 pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f); |
| 2316 pathB.quadTo(1021, 846.029419f, 1021, 851); |
| 2317 pathB.lineTo(1021, 852); |
| 2318 pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f); |
| 2319 pathB.quadTo(1015.14215f, 862, 1011, 862); |
| 2320 pathB.lineTo(1010, 862); |
| 2321 pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f); |
| 2322 pathB.quadTo(998, 856.142151f, 998, 852); |
| 2323 pathB.close(); |
| 2324 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2325 } |
| 2326 |
| 2327 // joinCoincidence / findT / assert |
| 2328 static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* f
ilename) { |
| 2329 SkPath path; |
| 2330 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2331 path.moveTo(1000, 866.329346f); |
| 2332 path.quadTo(998, 869.250427f, 998, 873); |
| 2333 path.lineTo(998, 874); |
| 2334 path.quadTo(998, 877.749573f, 1000, 880.670654f); |
| 2335 path.lineTo(1000, 866.329346f); |
| 2336 path.close(); |
| 2337 SkPath pathB; |
| 2338 pathB.setFillType(SkPath::kWinding_FillType); |
| 2339 pathB.moveTo(998, 874); |
| 2340 pathB.lineTo(998, 873); |
| 2341 pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f); |
| 2342 pathB.quadTo(1005.02942f, 861, 1010, 861); |
| 2343 pathB.lineTo(1011, 861); |
| 2344 pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f); |
| 2345 pathB.quadTo(1021, 868.029419f, 1021, 873); |
| 2346 pathB.lineTo(1021, 874); |
| 2347 pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f); |
| 2348 pathB.quadTo(1015.14215f, 884, 1011, 884); |
| 2349 pathB.lineTo(1010, 884); |
| 2350 pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f); |
| 2351 pathB.quadTo(998, 878.142151f, 998, 874); |
| 2352 pathB.close(); |
| 2353 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2354 } |
| 2355 |
| 2356 // cubic-cubic intersection reduce checkLinear assert |
| 2357 static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* fil
ename) { |
| 2358 SkPath path; |
| 2359 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2360 path.moveTo(407, 119); |
| 2361 path.lineTo(407, 28); |
| 2362 path.lineTo(647, 28); |
| 2363 path.lineTo(647, 119); |
| 2364 path.lineTo(407, 119); |
| 2365 path.close(); |
| 2366 SkPath pathB; |
| 2367 pathB.setFillType(SkPath::kWinding_FillType); |
| 2368 pathB.moveTo(471.228394f, 64.443222f); |
| 2369 pathB.cubicTo(471.193878f, 60.953373f, 470.234985f, 52.4797592f, 462.201569f
, 46.6231461f); |
| 2370 pathB.cubicTo(454.168152f, 40.7665405f, 446.592804f, 41.993145f, 443.033936f
, 42.8568878f); |
| 2371 pathB.cubicTo(439.475098f, 43.7206268f, 436.978638f, 45.4052658f, 436.304871
f, 45.7851906f); |
| 2372 pathB.cubicTo(435.631104f, 46.1651154f, 435.156006f, 45.8026352f, 434.957306
f, 45.6384506f); |
| 2373 pathB.cubicTo(434.758636f, 45.4742737f, 431.460999f, 42.0105858f, 430.916901
f, 41.4664841f); |
| 2374 pathB.cubicTo(430.372803f, 40.9223785f, 429.731628f, 41.3303604f, 429.375214
f, 41.6996689f); |
| 2375 pathB.cubicTo(429.375214f, 41.6996689f, 420.610016f, 50.5190887f, 419.918793
f, 51.1754227f); |
| 2376 pathB.cubicTo(419.22757f, 51.8321419f, 419.331482f, 52.2465706f, 419.884308f
, 52.8339005f); |
| 2377 pathB.cubicTo(420.437134f, 53.4212303f, 425.170624f, 58.0167313f, 425.619568
f, 58.4660416f); |
| 2378 pathB.cubicTo(426.068512f, 58.9153557f, 426.137878f, 59.2952805f, 426.137878
f, 59.8136024f); |
| 2379 pathB.cubicTo(426.137878f, 60.3319244f, 426.103394f, 103.141357f, 426.103394
f, 103.970215f); |
| 2380 pathB.cubicTo(426.103394f, 104.799835f, 426.310791f, 105.525177f, 427.17453f
, 105.525177f); |
| 2381 pathB.cubicTo(428.038269f, 105.525177f, 440.131409f, 105.491432f, 440.85675f
, 105.491432f); |
| 2382 pathB.cubicTo(441.582489f, 105.491432f, 441.996918f, 104.903343f, 441.996918
f, 104.17762f); |
| 2383 pathB.cubicTo(441.996918f, 103.452271f, 441.996918f, 89.5622559f, 441.996918
f, 87.8002701f); |
| 2384 pathB.cubicTo(441.996918f, 86.0382843f, 442.342712f, 86.2453079f, 442.826141
f, 86.3491974f); |
| 2385 pathB.cubicTo(443.309601f, 86.4530945f, 445.832184f, 87.040802f, 448.700195f
, 87.040802f); |
| 2386 pathB.cubicTo(466.87442f, 86.6949997f, 471.815338f, 69.4876556f, 471.228394f
, 64.443222f); |
| 2387 pathB.close(); |
| 2388 pathB.moveTo(448.873108f, 72.4595642f); |
| 2389 pathB.cubicTo(444.636658f, 72.4595642f, 441.202545f, 69.0254517f, 441.202545
f, 64.7890244f); |
| 2390 pathB.cubicTo(441.202545f, 60.5525932f, 444.636658f, 57.1184845f, 448.873108
f, 57.1184845f); |
| 2391 pathB.cubicTo(453.109528f, 57.1184845f, 456.54364f, 60.552597f, 456.54364f,
64.7890244f); |
| 2392 pathB.cubicTo(456.54364f, 69.0254517f, 453.109528f, 72.4595642f, 448.873108f
, 72.4595642f); |
| 2393 pathB.close(); |
| 2394 pathB.moveTo(520.242859f, 82.5275803f); |
| 2395 pathB.cubicTo(519.733276f, 81.6547394f, 494.845154f, 41.3379478f, 494.263123
f, 40.3923073f); |
| 2396 pathB.cubicTo(493.681122f, 39.4462852f, 493.244324f, 39.5918846f, 492.807495
f, 40.3195038f); |
| 2397 pathB.cubicTo(492.515167f, 40.8071136f, 467.238037f, 81.6790085f, 466.528625
f, 82.8373566f); |
| 2398 pathB.cubicTo(465.819183f, 83.9945831f, 466.497528f, 84.2975311f, 466.904358
f, 84.5792542f); |
| 2399 pathB.cubicTo(466.904358f, 84.5792542f, 477.399689f, 91.2036743f, 478.235748
f, 91.6981049f); |
| 2400 pathB.cubicTo(479.071838f, 92.1929092f, 479.396393f, 91.9028473f, 479.669403
f, 91.5104141f); |
| 2401 pathB.cubicTo(479.942383f, 91.1175995f, 484.106384f, 84.1549606f, 484.481781
f, 83.5570221f); |
| 2402 pathB.cubicTo(484.857147f, 82.9602051f, 485.198792f, 82.8741379f, 485.966583
f, 82.8741379f); |
| 2403 pathB.cubicTo(486.734406f, 82.8741379f, 499.635925f, 82.8062668f, 500.830322
f, 82.8062668f); |
| 2404 pathB.cubicTo(502.024658f, 82.8062668f, 502.229797f, 83.4038391f, 502.400452
f, 83.6427078f); |
| 2405 pathB.cubicTo(502.571045f, 83.8815842f, 506.615631f, 90.7414703f, 506.990997
f, 91.2870865f); |
| 2406 pathB.cubicTo(507.651123f, 92.2475128f, 508.017395f, 92.1333847f, 508.672241
f, 91.6962051f); |
| 2407 pathB.cubicTo(509.327423f, 91.2597809f, 519.442444f, 85.0744324f, 520.243286
f, 84.4920349f); |
| 2408 pathB.cubicTo(521.042908f, 83.9100189f, 520.751709f, 83.4004211f, 520.242859
f, 82.5275803f); |
| 2409 pathB.close(); |
| 2410 pathB.moveTo(493.720551f, 72.4811783f); |
| 2411 pathB.cubicTo(491.265442f, 72.4811783f, 489.275574f, 70.4905548f, 489.275574
f, 68.0362091f); |
| 2412 pathB.cubicTo(489.275574f, 65.5811005f, 491.265808f, 63.5912399f, 493.720551
f, 63.5912399f); |
| 2413 pathB.cubicTo(496.175262f, 63.5912399f, 498.165527f, 65.5814819f, 498.165527
f, 68.0362091f); |
| 2414 pathB.cubicTo(498.165894f, 70.4905548f, 496.175659f, 72.4811783f, 493.720551
f, 72.4811783f); |
| 2415 pathB.close(); |
| 2416 pathB.moveTo(526.561707f, 42.132679f); |
| 2417 pathB.cubicTo(526.876404f, 41.786499f, 527.537292f, 41.1881752f, 528.512878f
, 42.1956215f); |
| 2418 pathB.cubicTo(529.488892f, 43.2030678f, 531.691833f, 45.2486725f, 531.881042
f, 45.4693451f); |
| 2419 pathB.cubicTo(532.07019f, 45.6896439f, 532.762939f, 46.2875862f, 533.517883f
, 45.7525826f); |
| 2420 pathB.cubicTo(534.272827f, 45.2172012f, 539.497681f, 41.9753265f, 545.384277
f, 42.132679f); |
| 2421 pathB.cubicTo(546.203247f, 42.2270889f, 546.580566f, 42.5421791f, 546.612f,
43.8324814f); |
| 2422 pathB.cubicTo(546.643494f, 45.1227837f, 546.674561f, 55.1957283f, 546.612f,
56.2657356f); |
| 2423 pathB.cubicTo(546.549072f, 57.3361206f, 546.549072f, 57.7452469f, 544.975525
f, 57.8396568f); |
| 2424 pathB.cubicTo(543.401978f, 57.9340706f, 538.742798f, 59.5709305f, 538.774658
f, 64.6070251f); |
| 2425 pathB.cubicTo(538.806458f, 69.6431122f, 538.806091f, 86.2631226f, 538.806091
f, 86.9554901f); |
| 2426 pathB.cubicTo(538.806091f, 87.6478424f, 538.585815f, 88.4349976f, 537.484314
f, 88.4349976f); |
| 2427 pathB.cubicTo(536.382446f, 88.4349976f, 524.79895f, 88.4031372f, 524.04364f,
88.4031372f); |
| 2428 pathB.cubicTo(523.287964f, 88.4031372f, 522.910706f, 88.3402023f, 522.910706
f, 86.8606949f); |
| 2429 pathB.cubicTo(522.910706f, 85.3823242f, 522.910706f, 60.6094704f, 522.910706
f, 60.0740852f); |
| 2430 pathB.cubicTo(522.910706f, 59.5387039f, 522.81665f, 58.9092865f, 522.470093f
, 58.6260452f); |
| 2431 pathB.cubicTo(522.123901f, 58.3428116f, 517.465088f, 53.621048f, 517.181885f
, 53.3378105f); |
| 2432 pathB.cubicTo(516.898621f, 53.0545731f, 516.300659f, 52.330368f, 517.213318f
, 51.5121231f); |
| 2433 pathB.cubicTo(518.125977f, 50.6942635f, 526.561707f, 42.132679f, 526.561707f
, 42.132679f); |
| 2434 pathB.close(); |
| 2435 pathB.moveTo(550.169006f, 43.7373123f); |
| 2436 pathB.cubicTo(550.169006f, 42.6358337f, 550.767334f, 42.2263336f, 551.49115f
, 42.2263336f); |
| 2437 pathB.cubicTo(552.214966f, 42.2263336f, 552.781433f, 42.2263336f, 552.938843
f, 42.2263336f); |
| 2438 pathB.cubicTo(553.096191f, 42.2263336f, 553.725586f, 41.8801537f, 553.662598
f, 41.124855f); |
| 2439 pathB.cubicTo(553.600098f, 40.369175f, 553.662598f, 31.4614124f, 553.662598f
, 30.8005257f); |
| 2440 pathB.cubicTo(553.662598f, 30.1396389f, 553.75708f, 29.1951332f, 555.110657f
, 29.1951332f); |
| 2441 pathB.cubicTo(556.463928f, 29.1951332f, 566.536865f, 29.1951332f, 567.859009
f, 29.1951332f); |
| 2442 pathB.cubicTo(569.180786f, 29.1951332f, 569.463623f, 30.1711082f, 569.463623
f, 30.7690544f); |
| 2443 pathB.cubicTo(569.463623f, 31.3670006f, 569.463623f, 40.2122002f, 569.463623
f, 41.0619125f); |
| 2444 pathB.cubicTo(569.463623f, 41.9116249f, 569.746887f, 42.3207474f, 570.659912
f, 42.3207474f); |
| 2445 pathB.cubicTo(571.572571f, 42.3207474f, 575.507568f, 42.2263336f, 576.199951
f, 42.2263336f); |
| 2446 pathB.cubicTo(576.892273f, 42.2263336f, 577.742004f, 42.5725098f, 577.742004
f, 43.8631973f); |
| 2447 pathB.cubicTo(577.742004f, 45.1538811f, 577.742004f, 55.8877106f, 577.742004
f, 56.5800705f); |
| 2448 pathB.cubicTo(577.742004f, 57.2724266f, 577.616455f, 58.0595779f, 576.45166f
, 58.0595779f); |
| 2449 pathB.cubicTo(575.286865f, 58.0595779f, 570.943115f, 58.0595779f, 570.471069
f, 58.0595779f); |
| 2450 pathB.cubicTo(569.999023f, 58.0595779f, 569.479919f, 57.8389015f, 569.479919
f, 59.0510979f); |
| 2451 pathB.cubicTo(569.479919f, 60.2629128f, 569.479919f, 66.2124176f, 569.479919
f, 67.1880188f); |
| 2452 pathB.cubicTo(569.479919f, 68.1636047f, 570.628418f, 73.6406708f, 575.917053
f, 73.6406708f); |
| 2453 pathB.cubicTo(577.018921f, 73.6406708f, 577.742737f, 73.9242859f, 577.742737
f, 75.4348907f); |
| 2454 pathB.cubicTo(577.742737f, 76.945488f, 577.742737f, 87.0813751f, 577.742737f
, 87.8366699f); |
| 2455 pathB.cubicTo(577.742737f, 88.5915909f, 577.648315f, 89.4416809f, 576.295044
f, 89.4416809f); |
| 2456 pathB.cubicTo(574.028809f, 89.6312714f, 553.978088f, 88.0254974f, 553.631897
f, 65.928421f); |
| 2457 pathB.cubicTo(553.631897f, 65.928421f, 553.631897f, 59.6964378f, 553.631897f
, 58.972229f); |
| 2458 pathB.cubicTo(553.631897f, 58.2484055f, 553.034363f, 58.0436554f, 552.703735
f, 58.0436554f); |
| 2459 pathB.cubicTo(552.372681f, 58.0436554f, 551.522949f, 58.0436554f, 551.208252
f, 58.0436554f); |
| 2460 pathB.cubicTo(550.893921f, 58.0436554f, 550.170105f, 58.0906677f, 550.170105
f, 56.6115417f); |
| 2461 pathB.cubicTo(550.170105f, 55.1324081f, 550.169006f, 43.7373123f, 550.169006
f, 43.7373123f); |
| 2462 pathB.close(); |
| 2463 pathB.moveTo(611.203857f, 39.5509338f); |
| 2464 pathB.cubicTo(612.084961f, 39.5509338f, 612.620422f, 40.0544662f, 612.620422
f, 40.8097687f); |
| 2465 pathB.cubicTo(612.620422f, 41.5650673f, 612.620422f, 53.1486092f, 612.620422
f, 53.6839905f); |
| 2466 pathB.cubicTo(612.620422f, 54.2193718f, 612.651489f, 55.2264404f, 611.612976
f, 55.2264404f); |
| 2467 pathB.cubicTo(610.574463f, 55.2264404f, 604.404663f, 55.9817429f, 604.404663
f, 61.899395f); |
| 2468 pathB.cubicTo(604.404663f, 65.4878235f, 604.373169f, 66.6211548f, 604.373169
f, 67.5338135f); |
| 2469 pathB.cubicTo(604.373169f, 68.0684357f, 604.414124f, 74.3353043f, 599.934631
f, 80.4702148f); |
| 2470 pathB.cubicTo(596.765564f, 84.8109131f, 590.664368f, 89.3942871f, 582.150208
f, 89.630127f); |
| 2471 pathB.cubicTo(580.028015f, 89.630127f, 580.230469f, 88.5286484f, 580.230469f
, 88.1820908f); |
| 2472 pathB.cubicTo(580.230469f, 87.5845184f, 580.198975f, 75.8436279f, 580.198975
f, 75.2142105f); |
| 2473 pathB.cubicTo(580.198975f, 74.5844116f, 580.608154f, 73.8605804f, 581.58374f
, 73.8605804f); |
| 2474 pathB.cubicTo(583.40979f, 73.8605804f, 588.603271f, 72.7905731f, 588.603271f
, 66.9043884f); |
| 2475 pathB.cubicTo(588.603271f, 61.3958588f, 588.603271f, 61.8679237f, 588.603271
f, 61.0496788f); |
| 2476 pathB.cubicTo(588.603271f, 60.2314377f, 588.666565f, 54.3137856f, 593.230591
f, 48.3961296f); |
| 2477 pathB.cubicTo(597.794617f, 42.4784775f, 604.814087f, 39.5509338f, 611.203857
f, 39.5509338f); |
| 2478 pathB.close(); |
| 2479 pathB.moveTo(635.22937f, 81.9311447f); |
| 2480 pathB.cubicTo(635.057617f, 81.6475296f, 634.869141f, 81.3851471f, 634.664429
f, 81.1439972f); |
| 2481 pathB.lineTo(635.039001f, 81.0385895f); |
| 2482 pathB.cubicTo(635.447754f, 80.9233246f, 635.729858f, 80.5509796f, 635.729858
f, 80.1263123f); |
| 2483 pathB.lineTo(635.729858f, 78.6149597f); |
| 2484 pathB.cubicTo(635.729858f, 78.3309631f, 635.602417f, 78.0617523f, 635.382935
f, 77.8816452f); |
| 2485 pathB.cubicTo(635.162598f, 77.7015381f, 634.873291f, 77.6295013f, 634.595764
f, 77.6852341f); |
| 2486 pathB.cubicTo(633.906799f, 77.8232498f, 633.194397f, 77.9017334f, 632.478149
f, 77.9191818f); |
| 2487 pathB.cubicTo(631.714844f, 77.9373779f, 630.851501f, 77.9464874f, 629.911133
f, 77.9464874f); |
| 2488 pathB.lineTo(615.131226f, 77.9464874f); |
| 2489 pathB.cubicTo(614.607605f, 77.9464874f, 614.18335f, 78.3707733f, 614.18335f,
78.8944016f); |
| 2490 pathB.lineTo(614.18335f, 81.1337585f); |
| 2491 pathB.cubicTo(614.18335f, 81.6573868f, 614.607605f, 82.0816803f, 615.131226f
, 82.0816803f); |
| 2492 pathB.lineTo(619.693787f, 82.0816803f); |
| 2493 pathB.cubicTo(619.680908f, 82.1423492f, 619.669128f, 82.2026367f, 619.657776
f, 82.2629166f); |
| 2494 pathB.cubicTo(619.571289f, 82.728157f, 619.529602f, 83.3200302f, 619.529602f
, 84.0730591f); |
| 2495 pathB.cubicTo(619.529602f, 86.3196259f, 620.260254f, 88.1236954f, 621.701477
f, 89.4348602f); |
| 2496 pathB.cubicTo(623.116516f, 90.7225037f, 625.163269f, 91.3754272f, 627.784058
f, 91.3754272f); |
| 2497 pathB.cubicTo(630.525024f, 91.3754272f, 632.517944f, 90.8669662f, 633.876099
f, 89.8208466f); |
| 2498 pathB.cubicTo(635.291565f, 88.7314987f, 636.009705f, 87.0798492f, 636.009705
f, 84.9129181f); |
| 2499 pathB.cubicTo(636.010071f, 83.7905807f, 635.747314f, 82.7873077f, 635.22937f
, 81.9311447f); |
| 2500 pathB.close(); |
| 2501 pathB.moveTo(631.880554f, 85.7326736f); |
| 2502 pathB.cubicTo(631.690552f, 86.0545807f, 631.436157f, 86.307869f, 631.102844f
, 86.5076904f); |
| 2503 pathB.cubicTo(630.736206f, 86.7279816f, 630.277039f, 86.8906479f, 629.737854
f, 86.9903717f); |
| 2504 pathB.cubicTo(629.146362f, 87.1003265f, 628.488892f, 87.1564484f, 627.783997
f, 87.1564484f); |
| 2505 pathB.cubicTo(626.159668f, 87.1564484f, 624.996399f, 86.8656235f, 624.327881
f, 86.293457f); |
| 2506 pathB.cubicTo(623.693604f, 85.7489777f, 623.385315f, 84.995575f, 623.385315f
, 83.9896393f); |
| 2507 pathB.cubicTo(623.385315f, 83.3655396f, 623.431519f, 82.8718567f, 623.522583
f, 82.5215149f); |
| 2508 pathB.cubicTo(623.563477f, 82.3645325f, 623.616943f, 82.2189331f, 623.684448
f, 82.0824356f); |
| 2509 pathB.lineTo(630.008179f, 82.0824356f); |
| 2510 pathB.cubicTo(630.758911f, 82.247757f, 631.311401f, 82.5256805f, 631.650757f
, 82.9101562f); |
| 2511 pathB.cubicTo(631.990112f, 83.2942505f, 632.154663f, 83.8303986f, 632.154663
f, 84.549675f); |
| 2512 pathB.cubicTo(632.154663f, 85.02742f, 632.062927f, 85.4251709f, 631.880554f,
85.7326736f); |
| 2513 pathB.close(); |
| 2514 pathB.moveTo(635.667664f, 69.5979919f); |
| 2515 pathB.cubicTo(635.518311f, 69.0645142f, 635.325684f, 68.5818329f, 635.093994
f, 68.1620941f); |
| 2516 pathB.cubicTo(634.940796f, 67.8856812f, 634.770569f, 67.6316376f, 634.586304
f, 67.4026184f); |
| 2517 pathB.lineTo(635.054565f, 67.2619476f); |
| 2518 pathB.cubicTo(635.455322f, 67.1417542f, 635.729858f, 66.7724457f, 635.729858
f, 66.3538437f); |
| 2519 pathB.lineTo(635.729858f, 64.7021942f); |
| 2520 pathB.cubicTo(635.729858f, 64.4045486f, 635.590332f, 64.1243439f, 635.3526f,
63.9449997f); |
| 2521 pathB.cubicTo(635.115234f, 63.7660294f, 634.807373f, 63.7087784f, 634.521057
f, 63.7906761f); |
| 2522 pathB.cubicTo(634.059998f, 63.9226265f, 633.544678f, 64.0155258f, 632.988831
f, 64.0659485f); |
| 2523 pathB.cubicTo(631.578735f, 64.1941071f, 629.921387f, 64.1565704f, 628.141968
f, 64.0632935f); |
| 2524 pathB.cubicTo(627.067383f, 64.0068054f, 625.948853f, 63.9779854f, 624.81665f
, 63.9779854f); |
| 2525 pathB.cubicTo(624.253601f, 63.9779854f, 623.681396f, 64.0359955f, 623.116089
f, 64.1512604f); |
| 2526 pathB.cubicTo(622.479126f, 64.2809448f, 621.888367f, 64.5437012f, 621.35907f
, 64.9315872f); |
| 2527 pathB.cubicTo(620.807007f, 65.3365402f, 620.360352f, 65.9159088f, 620.031189
f, 66.6548996f); |
| 2528 pathB.cubicTo(619.712708f, 67.3722839f, 619.557983f, 68.2625656f, 619.557983
f, 69.3769379f); |
| 2529 pathB.cubicTo(619.557983f, 70.4655304f, 619.669128f, 71.5268097f, 619.887878
f, 72.5323639f); |
| 2530 pathB.cubicTo(620.11499f, 73.573555f, 620.473694f, 74.5040283f, 620.954468f,
75.2983856f); |
| 2531 pathB.cubicTo(621.196411f, 75.6976471f, 621.693481f, 75.861824f, 622.124939f
, 75.6847534f); |
| 2532 pathB.lineTo(623.832336f, 74.9851913f); |
| 2533 pathB.cubicTo(624.086365f, 74.8809204f, 624.282776f, 74.6716156f, 624.370728
f, 74.4111328f); |
| 2534 pathB.cubicTo(624.45874f, 74.15065f, 624.429138f, 73.8651276f, 624.290405f,
73.6281509f); |
| 2535 pathB.cubicTo(624.166382f, 73.416954f, 624.051147f, 73.1644287f, 623.947205f
, 72.875885f); |
| 2536 pathB.cubicTo(623.836853f, 72.5702744f, 623.741333f, 72.2407837f, 623.663574
f, 71.8968811f); |
| 2537 pathB.cubicTo(623.584717f, 71.549942f, 623.522217f, 71.2018585f, 623.477417f
, 70.8621292f); |
| 2538 pathB.cubicTo(623.434937f, 70.5409775f, 623.41333f, 70.2391663f, 623.41333f,
69.9646454f); |
| 2539 pathB.cubicTo(623.41333f, 68.8229752f, 623.672729f, 68.4748993f, 623.75116f,
68.3960266f); |
| 2540 pathB.cubicTo(623.853577f, 68.2940369f, 624.20166f, 68.0574341f, 625.236755f
, 68.0574341f); |
| 2541 pathB.cubicTo(625.39679f, 68.0574341f, 625.566284f, 68.0616074f, 625.744446f
, 68.0695648f); |
| 2542 pathB.lineTo(625.744446f, 68.7331085f); |
| 2543 pathB.cubicTo(625.744446f, 69.8065338f, 625.819153f, 70.8048782f, 625.967041
f, 71.70047f); |
| 2544 pathB.cubicTo(626.12323f, 72.6483841f, 626.392456f, 73.4825516f, 626.767456f
, 74.1794586f); |
| 2545 pathB.cubicTo(627.173523f, 74.9328613f, 627.730957f, 75.5292969f, 628.424438
f, 75.9528198f); |
| 2546 pathB.cubicTo(629.123596f, 76.3790054f, 629.981628f, 76.5951309f, 630.975464
f, 76.5951309f); |
| 2547 pathB.cubicTo(631.722046f, 76.5951309f, 632.406799f, 76.4597626f, 633.009644
f, 76.1924591f); |
| 2548 pathB.cubicTo(633.611816f, 75.9262848f, 634.136536f, 75.5543213f, 634.567688
f, 75.0875626f); |
| 2549 pathB.cubicTo(634.998779f, 74.6223297f, 635.333191f, 74.0672302f, 635.561096
f, 73.4370575f); |
| 2550 pathB.cubicTo(635.78479f, 72.8212891f, 635.898193f, 72.1520538f, 635.898193f
, 71.4479446f); |
| 2551 pathB.cubicTo(635.898193f, 70.7688599f, 635.820496f, 70.1462708f, 635.667664
f, 69.5979919f); |
| 2552 pathB.close(); |
| 2553 pathB.moveTo(631.656494f, 71.9905396f); |
| 2554 pathB.cubicTo(631.416077f, 72.2574692f, 631.13739f, 72.3765259f, 630.751404f
, 72.3765259f); |
| 2555 pathB.cubicTo(630.390015f, 72.3765259f, 630.239502f, 72.2536774f, 630.190247
f, 72.2127228f); |
| 2556 pathB.cubicTo(630.002197f, 72.0587845f, 629.853149f, 71.8483429f, 629.735596
f, 71.5704193f); |
| 2557 pathB.cubicTo(629.594177f, 71.2348557f, 629.494507f, 70.8310394f, 629.439453
f, 70.3714905f); |
| 2558 pathB.cubicTo(629.379211f, 69.8607559f, 629.348511f, 69.3284073f, 629.348511
f, 68.7892303f); |
| 2559 pathB.cubicTo(629.348511f, 68.5765228f, 629.351929f, 68.3603973f, 629.357971
f, 68.1416168f); |
| 2560 pathB.lineTo(630.581177f, 68.1416168f); |
| 2561 pathB.cubicTo(630.702515f, 68.2026672f, 630.831787f, 68.2841797f, 630.967163
f, 68.3857956f); |
| 2562 pathB.cubicTo(631.149902f, 68.523056f, 631.322815f, 68.703537f, 631.480225f,
68.922699f); |
| 2563 pathB.cubicTo(631.639038f, 69.1437531f, 631.77478f, 69.4186478f, 631.884399f
, 69.7390442f); |
| 2564 pathB.cubicTo(631.989807f, 70.0488281f, 632.04364f, 70.4169922f, 632.04364f,
70.8329391f); |
| 2565 pathB.cubicTo(632.042847f, 71.3228302f, 631.916565f, 71.7012329f, 631.656494
f, 71.9905396f); |
| 2566 pathB.close(); |
| 2567 pathB.moveTo(622.689575f, 63.4953079f); |
| 2568 pathB.lineTo(620.72998f, 63.4953079f); |
| 2569 pathB.cubicTo(620.206421f, 63.4953079f, 619.782104f, 63.0710182f, 619.782104
f, 62.54739f); |
| 2570 pathB.lineTo(619.782104f, 61.3116837f); |
| 2571 pathB.lineTo(617.958679f, 61.3116837f); |
| 2572 pathB.cubicTo(617.536255f, 61.3116837f, 617.164307f, 61.0318604f, 617.047913
f, 60.6257744f); |
| 2573 pathB.lineTo(616.404114f, 58.3864136f); |
| 2574 pathB.cubicTo(616.321411f, 58.1001472f, 616.378662f, 57.7922592f, 616.557678
f, 57.5541458f); |
| 2575 pathB.cubicTo(616.737061f, 57.3164062f, 617.017212f, 57.1764946f, 617.31488f
, 57.1764946f); |
| 2576 pathB.lineTo(619.782104f, 57.1764946f); |
| 2577 pathB.lineTo(619.782104f, 54.3171997f); |
| 2578 pathB.cubicTo(619.782104f, 53.7935715f, 620.206421f, 53.3692818f, 620.730042
f, 53.3692818f); |
| 2579 pathB.lineTo(622.689575f, 53.3692818f); |
| 2580 pathB.cubicTo(623.213196f, 53.3692818f, 623.637512f, 53.7935715f, 623.637512
f, 54.3171997f); |
| 2581 pathB.lineTo(623.637512f, 57.1764946f); |
| 2582 pathB.lineTo(630.443176f, 57.1764946f); |
| 2583 pathB.cubicTo(631.548828f, 57.1764946f, 631.921936f, 57.0028381f, 632.009888
f, 56.9493713f); |
| 2584 pathB.cubicTo(632.057617f, 56.9205589f, 632.154724f, 56.8621674f, 632.154724
f, 56.5288773f); |
| 2585 pathB.cubicTo(632.154724f, 56.139473f, 632.116821f, 55.8179398f, 632.04248f,
55.5737572f); |
| 2586 pathB.cubicTo(631.949219f, 55.268528f, 631.822205f, 54.9193192f, 631.665588f
, 54.5363579f); |
| 2587 pathB.cubicTo(631.563599f, 54.288002f, 631.572327f, 54.0085602f, 631.688354f
, 53.7670288f); |
| 2588 pathB.cubicTo(631.804749f, 53.5251198f, 632.017456f, 53.3438797f, 632.274536
f, 53.2680435f); |
| 2589 pathB.lineTo(633.9823f, 52.7641296f); |
| 2590 pathB.cubicTo(634.430115f, 52.6325607f, 634.90332f, 52.8437576f, 635.105042f
, 53.2623596f); |
| 2591 pathB.cubicTo(635.375f, 53.8235245f, 635.59491f, 54.4404297f, 635.758301f, 5
5.0956268f); |
| 2592 pathB.cubicTo(635.925537f, 55.7656174f, 636.010498f, 56.4928589f, 636.010498
f, 57.2565002f); |
| 2593 pathB.cubicTo(636.010498f, 58.7109833f, 635.553589f, 59.7790947f, 634.653076
f, 60.4316406f); |
| 2594 pathB.cubicTo(633.835938f, 61.0235176f, 632.596069f, 61.311306f, 630.863647f
, 61.311306f); |
| 2595 pathB.lineTo(623.637878f, 61.311306f); |
| 2596 pathB.lineTo(623.637878f, 62.5470123f); |
| 2597 pathB.cubicTo(623.637451f, 63.071022f, 623.213196f, 63.4953079f, 622.689575f
, 63.4953079f); |
| 2598 pathB.close(); |
| 2599 pathB.moveTo(635.667664f, 46.2246475f); |
| 2600 pathB.cubicTo(635.518311f, 45.6911545f, 635.325684f, 45.2084808f, 635.093994
f, 44.7887421f); |
| 2601 pathB.cubicTo(634.940796f, 44.5123291f, 634.770569f, 44.2582855f, 634.586304
f, 44.029274f); |
| 2602 pathB.lineTo(635.054565f, 43.8886032f); |
| 2603 pathB.cubicTo(635.455322f, 43.7684059f, 635.729858f, 43.3990974f, 635.729858
f, 42.9804955f); |
| 2604 pathB.lineTo(635.729858f, 41.328846f); |
| 2605 pathB.cubicTo(635.729858f, 41.0312004f, 635.590332f, 40.7509995f, 635.3526f,
40.5716515f); |
| 2606 pathB.cubicTo(635.115234f, 40.3926849f, 634.807373f, 40.3354301f, 634.521057
f, 40.4173279f); |
| 2607 pathB.cubicTo(634.059998f, 40.5492783f, 633.544678f, 40.6421738f, 632.988831
f, 40.6926041f); |
| 2608 pathB.cubicTo(631.578735f, 40.8207626f, 629.921387f, 40.7836075f, 628.141968
f, 40.689949f); |
| 2609 pathB.cubicTo(627.067383f, 40.6334534f, 625.948853f, 40.6046371f, 624.81665f
, 40.6046371f); |
| 2610 pathB.cubicTo(624.253601f, 40.6046371f, 623.681396f, 40.6626511f, 623.116089
f, 40.777916f); |
| 2611 pathB.cubicTo(622.479126f, 40.9075928f, 621.888367f, 41.1703568f, 621.35907f
, 41.5582428f); |
| 2612 pathB.cubicTo(620.807007f, 41.963192f, 620.360352f, 42.5425606f, 620.031189f
, 43.2815552f); |
| 2613 pathB.cubicTo(619.712708f, 43.9989395f, 619.557983f, 44.8892212f, 619.557983
f, 46.0035934f); |
| 2614 pathB.cubicTo(619.557983f, 47.0921783f, 619.669128f, 48.1534653f, 619.887878
f, 49.1590195f); |
| 2615 pathB.cubicTo(620.11499f, 50.2002106f, 620.473694f, 51.1306839f, 620.954468f
, 51.9250374f); |
| 2616 pathB.cubicTo(621.196411f, 52.3243027f, 621.693481f, 52.4880981f, 622.124939
f, 52.311409f); |
| 2617 pathB.lineTo(623.832336f, 51.6118431f); |
| 2618 pathB.cubicTo(624.086365f, 51.5075722f, 624.282776f, 51.2982712f, 624.370728
f, 51.0377846f); |
| 2619 pathB.cubicTo(624.45874f, 50.777298f, 624.429138f, 50.4917831f, 624.290405f,
50.2548065f); |
| 2620 pathB.cubicTo(624.166382f, 50.0436096f, 624.051147f, 49.7910843f, 623.947205
f, 49.5025406f); |
| 2621 pathB.cubicTo(623.836853f, 49.1969299f, 623.741333f, 48.8674355f, 623.663574
f, 48.5235291f); |
| 2622 pathB.cubicTo(623.584717f, 48.1765938f, 623.522217f, 47.8285179f, 623.477417
f, 47.4887848f); |
| 2623 pathB.cubicTo(623.434937f, 47.1676331f, 623.41333f, 46.8658142f, 623.41333f,
46.5912971f); |
| 2624 pathB.cubicTo(623.41333f, 45.4496269f, 623.672729f, 45.1015511f, 623.75116f,
45.0226822f); |
| 2625 pathB.cubicTo(623.853577f, 44.9206886f, 624.20166f, 44.6840897f, 625.236755f
, 44.6840897f); |
| 2626 pathB.cubicTo(625.39679f, 44.6840897f, 625.566284f, 44.6882591f, 625.744446f
, 44.6962204f); |
| 2627 pathB.lineTo(625.744446f, 45.3597641f); |
| 2628 pathB.cubicTo(625.744446f, 46.4331856f, 625.819153f, 47.43153f, 625.967041f,
48.3271217f); |
| 2629 pathB.cubicTo(626.12323f, 49.2750397f, 626.392456f, 50.1092072f, 626.767456f
, 50.8061142f); |
| 2630 pathB.cubicTo(627.173523f, 51.5595169f, 627.730957f, 52.1559486f, 628.424438
f, 52.5794754f); |
| 2631 pathB.cubicTo(629.123596f, 53.005661f, 629.981628f, 53.2217865f, 630.975464f
, 53.2217865f); |
| 2632 pathB.cubicTo(631.722046f, 53.2217865f, 632.406799f, 53.086422f, 633.009644f
, 52.8191147f); |
| 2633 pathB.cubicTo(633.611816f, 52.5529366f, 634.136536f, 52.1809769f, 634.567688
f, 51.7142181f); |
| 2634 pathB.cubicTo(634.998779f, 51.2489815f, 635.333191f, 50.693882f, 635.561096f
, 50.0637054f); |
| 2635 pathB.cubicTo(635.78479f, 49.4479408f, 635.898193f, 48.7787094f, 635.898193f
, 48.0746002f); |
| 2636 pathB.cubicTo(635.898193f, 47.3958893f, 635.820496f, 46.7733002f, 635.667664
f, 46.2246475f); |
| 2637 pathB.close(); |
| 2638 pathB.moveTo(631.656494f, 48.6171875f); |
| 2639 pathB.cubicTo(631.416077f, 48.8841209f, 631.13739f, 49.0031815f, 630.751404f
, 49.0031815f); |
| 2640 pathB.cubicTo(630.390015f, 49.0031815f, 630.239502f, 48.8803291f, 630.190247
f, 48.8393784f); |
| 2641 pathB.cubicTo(630.002197f, 48.6854401f, 629.853149f, 48.4749985f, 629.735596
f, 48.1970711f); |
| 2642 pathB.cubicTo(629.594177f, 47.8615112f, 629.494507f, 47.457695f, 629.439453f
, 46.9981461f); |
| 2643 pathB.cubicTo(629.379211f, 46.4874115f, 629.348511f, 45.9550591f, 629.348511
f, 45.4158859f); |
| 2644 pathB.cubicTo(629.348511f, 45.2031708f, 629.351929f, 44.9870453f, 629.357971
f, 44.7682648f); |
| 2645 pathB.lineTo(630.581177f, 44.7682648f); |
| 2646 pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163
f, 45.0124512f); |
| 2647 pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225
f, 45.5493507f); |
| 2648 pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f
, 46.3656998f); |
| 2649 pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f,
47.4595947f); |
| 2650 pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f
, 48.6171875f); |
| 2651 pathB.close(); |
| 2652 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2653 } |
| 2654 |
| 2655 // SkOpAngle::setSector SkASSERT(fSectorStart >= 0); |
| 2656 static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const
char* filename) { |
| 2657 SkPath path; |
| 2658 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2659 path.moveTo(999.892212f, 246); |
| 2660 path.lineTo(927.340759f, 245.505722f); |
| 2661 path.quadTo(928.068054f, 246, 929, 246); |
| 2662 path.lineTo(999.892212f, 246); |
| 2663 path.close(); |
| 2664 path.moveTo(927.340759f, 245.505722f); |
| 2665 path.lineTo(926.5f, 245.5f); |
| 2666 path.lineTo(925.17157f, 246.82843f); |
| 2667 path.quadTo(926.34314f, 248, 928, 248); |
| 2668 path.lineTo(1000, 248); |
| 2669 path.lineTo(1000, 246); |
| 2670 SkPath pathB; |
| 2671 pathB.setFillType(SkPath::kWinding_FillType); |
| 2672 pathB.moveTo(924, 248); |
| 2673 pathB.lineTo(924, 245.472672f); |
| 2674 pathB.lineTo(1143, 247); |
| 2675 pathB.lineTo(1143, 248); |
| 2676 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2677 } |
| 2678 |
| 2679 // joinCoincidence / findT / assert |
| 2680 static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filen
ame) { |
| 2681 SkPath path; |
| 2682 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2683 path.moveTo(1000, 896.991394f); |
| 2684 path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f); |
| 2685 path.quadTo(998.071045f, 895, 996, 895); |
| 2686 path.lineTo(956, 895); |
| 2687 path.quadTo(951.857849f, 895, 948.928955f, 897.928955f); |
| 2688 path.quadTo(946, 900.857849f, 946, 905); |
| 2689 path.lineTo(946, 906); |
| 2690 path.quadTo(946, 910.142151f, 948.928955f, 913.071045f); |
| 2691 path.quadTo(951.857849f, 916, 956, 916); |
| 2692 path.lineTo(996, 916); |
| 2693 path.quadTo(998.071045f, 916, 999.535522f, 914.535522f); |
| 2694 path.quadTo(999.789917f, 914.281128f, 1000, 914.008606f); |
| 2695 path.lineTo(1000, 896.991394f); |
| 2696 path.close(); |
| 2697 SkPath pathB; |
| 2698 pathB.setFillType(SkPath::kWinding_FillType); |
| 2699 pathB.moveTo(946, 906); |
| 2700 pathB.lineTo(946, 905); |
| 2701 pathB.quadTo(946, 901.272095f, 948.928955f, 898.636047f); |
| 2702 pathB.quadTo(951.857849f, 896, 956, 896); |
| 2703 pathB.lineTo(996, 896); |
| 2704 pathB.quadTo(998.071045f, 896, 999.535522f, 897.17157f); |
| 2705 pathB.quadTo(1001, 898.34314f, 1001, 900); |
| 2706 pathB.lineTo(1001, 911); |
| 2707 pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f); |
| 2708 pathB.quadTo(998.071045f, 916, 996, 916); |
| 2709 pathB.lineTo(956, 916); |
| 2710 pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f); |
| 2711 pathB.quadTo(946, 910.142151f, 946, 906); |
| 2712 pathB.close(); |
| 2713 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2714 } |
| 2715 |
| 2716 // !simple->isClosed() |
| 2717 static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, cons
t char* filename) { |
| 2718 SkPath path; |
| 2719 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2720 path.moveTo(90.9763107f, 153.309662f); |
| 2721 path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); |
| 2722 path.lineTo(124.666664f, 152.333344f); |
| 2723 path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f); |
| 2724 path.quadTo(128, 154.285965f, 128, 155.666672f); |
| 2725 path.lineTo(128, 163.666672f); |
| 2726 path.lineTo(90, 163.666672f); |
| 2727 path.lineTo(90, 155.666672f); |
| 2728 path.quadTo(90, 154.285965f, 90.9763107f, 153.309662f); |
| 2729 path.close(); |
| 2730 SkPath pathB; |
| 2731 pathB.setFillType(SkPath::kWinding_FillType); |
| 2732 pathB.moveTo(90, 163.666672f); |
| 2733 pathB.lineTo(90, 155.666672f); |
| 2734 pathB.quadTo(90, 154.285965f, 90.9763107f, 153.309662f); |
| 2735 pathB.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f); |
| 2736 pathB.lineTo(124.666672f, 152.333344f); |
| 2737 pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f); |
| 2738 pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f); |
| 2739 pathB.lineTo(127.666672f, 163.666672f); |
| 2740 pathB.lineTo(127.666672f, 163.666672f); |
| 2741 pathB.lineTo(127.666672f, 163.666672f); |
| 2742 pathB.lineTo(90, 163.666672f); |
| 2743 pathB.lineTo(90, 163.666672f); |
| 2744 pathB.lineTo(90, 163.666672f); |
| 2745 pathB.close(); |
| 2746 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2747 } |
| 2748 |
| 2749 // !simple->isClosed() |
| 2750 static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* file
name) { |
| 2751 SkPath path; |
| 2752 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2753 path.moveTo(360.740479f, 741.040771f); |
| 2754 path.quadTo(360.378967f, 741, 360, 741); |
| 2755 path.quadTo(359.159821f, 741, 358.403076f, 741.200745f); |
| 2756 path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f); |
| 2757 path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f); |
| 2758 path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f); |
| 2759 path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f); |
| 2760 path.quadTo(354.389618f, 744.71283f, 354.183258f, 745.528564f); |
| 2761 path.quadTo(354.090027f, 745.897095f, 354.040833f, 746.259277f); |
| 2762 path.quadTo(354, 746.621216f, 354, 747); |
| 2763 path.quadTo(354, 747.839844f, 354.200653f, 748.596497f); |
| 2764 path.quadTo(354.415771f, 749.35022f, 354.846466f, 750.072632f); |
| 2765 path.quadTo(355.040741f, 750.398438f, 355.261444f, 750.688721f); |
| 2766 path.quadTo(355.488861f, 750.974121f, 355.757355f, 751.242615f); |
| 2767 path.quadTo(356.352142f, 751.837402f, 357.030304f, 752.230896f); |
| 2768 path.quadTo(357.714539f, 752.610901f, 358.528564f, 752.816833f); |
| 2769 path.quadTo(358.895294f, 752.909607f, 359.25528f, 752.95874f); |
| 2770 path.quadTo(359.618896f, 753, 360, 753); |
| 2771 path.quadTo(360.842285f, 753, 361.600952f, 752.798157f); |
| 2772 path.quadTo(362.352386f, 752.583008f, 363.072601f, 752.153625f); |
| 2773 path.quadTo(363.397339f, 751.960022f, 363.686829f, 751.740051f); |
| 2774 path.quadTo(363.973297f, 751.511963f, 364.242645f, 751.242615f); |
| 2775 path.quadTo(364.837799f, 750.647461f, 365.231354f, 749.968933f); |
| 2776 path.quadTo(365.610992f, 749.285034f, 365.816803f, 748.471497f); |
| 2777 path.quadTo(365.909668f, 748.104431f, 365.958832f, 747.743713f); |
| 2778 path.quadTo(366, 747.380371f, 366, 747); |
| 2779 path.quadTo(366, 746.158997f, 365.798767f, 745.401367f); |
| 2780 path.quadTo(365.583618f, 744.648682f, 365.153595f, 743.927429f); |
| 2781 path.quadTo(364.959442f, 743.601807f, 364.738678f, 743.311462f); |
| 2782 path.quadTo(364.511108f, 743.025818f, 364.242645f, 742.757385f); |
| 2783 path.quadTo(363.649017f, 742.163757f, 362.972168f, 741.770569f); |
| 2784 path.quadTo(362.286835f, 741.389526f, 361.471497f, 741.183289f); |
| 2785 path.quadTo(361.102509f, 741.089966f, 360.740479f, 741.040771f); |
| 2786 path.close(); |
| 2787 SkPath pathB; |
| 2788 pathB.setFillType(SkPath::kWinding_FillType); |
| 2789 pathB.moveTo(355.654724f, 739.711792f); |
| 2790 pathB.lineTo(367.288269f, 742.654724f); |
| 2791 pathB.lineTo(364.345337f, 754.288269f); |
| 2792 pathB.lineTo(352.711792f, 751.345337f); |
| 2793 pathB.close(); |
| 2794 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2795 } |
| 2796 |
| 2797 static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2798 SkPath path; |
| 2799 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2800 path.moveTo(172, 972); |
| 2801 path.quadTo(170.757355f, 972, 169.878677f, 972.878662f); |
| 2802 path.quadTo(169, 973.757385f, 169, 975); |
| 2803 path.lineTo(169, 1171); |
| 2804 path.quadTo(169, 1172.24268f, 169.878677f, 1173.12134f); |
| 2805 path.quadTo(170.757355f, 1174, 172, 1174); |
| 2806 path.lineTo(308, 1174); |
| 2807 path.quadTo(309.242645f, 1174, 310.121307f, 1173.12134f); |
| 2808 path.quadTo(310.337311f, 1172.9054f, 310.5f, 1172.66772f); |
| 2809 path.lineTo(310.5f, 973.332336f); |
| 2810 path.quadTo(310.337219f, 973.094604f, 310.121307f, 972.878662f); |
| 2811 path.quadTo(309.242645f, 972, 308, 972); |
| 2812 path.lineTo(172, 972); |
| 2813 path.close(); |
| 2814 SkPath pathB; |
| 2815 pathB.setFillType(SkPath::kWinding_FillType); |
| 2816 pathB.moveTo(170, 1171); |
| 2817 pathB.lineTo(170, 975); |
| 2818 pathB.quadTo(170, 974.17157f, 170.585785f, 973.585815f); |
| 2819 pathB.quadTo(171.17157f, 973, 172, 973); |
| 2820 pathB.lineTo(308, 973); |
| 2821 pathB.quadTo(309.242645f, 973, 310.121307f, 973.585815f); |
| 2822 pathB.quadTo(311, 974.17157f, 311, 975); |
| 2823 pathB.lineTo(311, 1171); |
| 2824 pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f); |
| 2825 pathB.quadTo(309.242645f, 1174, 308, 1174); |
| 2826 pathB.lineTo(172, 1174); |
| 2827 pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f); |
| 2828 pathB.quadTo(170, 1172.24268f, 170, 1171); |
| 2829 pathB.close(); |
| 2830 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2831 } |
| 2832 |
| 2833 // hangs |
| 2834 static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const
char* filename) { |
| 2835 SkPath path; |
| 2836 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2837 path.moveTo(443, 8292); |
| 2838 path.lineTo(443, 8140); |
| 2839 path.lineTo(444, 8140); |
| 2840 path.lineTo(444.01001f, 8292); |
| 2841 path.lineTo(443, 8292); |
| 2842 path.close(); |
| 2843 SkPath pathB; |
| 2844 pathB.setFillType(SkPath::kWinding_FillType); |
| 2845 pathB.moveTo(443, 8140); |
| 2846 pathB.lineTo(444.01001f, 8140); |
| 2847 pathB.lineTo(444, 8292); |
| 2848 pathB.lineTo(443, 8292); |
| 2849 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2850 } |
| 2851 |
| 2852 // hangs |
| 2853 static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* fi
lename) { |
| 2854 SkPath path; |
| 2855 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2856 path.moveTo(10105, 2510); |
| 2857 path.lineTo(10123, 2509.98999f); |
| 2858 path.lineTo(10123, 2511); |
| 2859 path.lineTo(10105, 2511); |
| 2860 path.lineTo(10105, 2510); |
| 2861 path.close(); |
| 2862 SkPath pathB; |
| 2863 pathB.setFillType(SkPath::kWinding_FillType); |
| 2864 pathB.moveTo(10105, 2511); |
| 2865 pathB.lineTo(10105, 2509.98999f); |
| 2866 pathB.lineTo(10123, 2510); |
| 2867 pathB.lineTo(10123, 2511); |
| 2868 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2869 } |
| 2870 |
| 2871 // hangs in find top |
| 2872 #if TRY_NEW_TESTS |
| 2873 static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const
char* filename) { |
| 2874 SkPath path; |
| 2875 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2876 path.moveTo(429.994995f, 6268); |
| 2877 path.lineTo(430, 2187); |
| 2878 path.lineTo(430.5f, 2187); |
| 2879 path.lineTo(430.5f, 6268); |
| 2880 path.lineTo(429.994995f, 6268); |
| 2881 path.close(); |
| 2882 SkPath pathB; |
| 2883 pathB.setFillType(SkPath::kWinding_FillType); |
| 2884 pathB.moveTo(430.5f, 2187); |
| 2885 pathB.lineTo(429.994995f, 2187); |
| 2886 pathB.lineTo(430, 6268); |
| 2887 pathB.lineTo(430.5f, 6268); |
| 2888 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2889 } |
| 2890 #endif |
| 2891 |
| 2892 // hangs |
| 2893 static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const cha
r* filename) { |
| 2894 SkPath path; |
| 2895 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2896 path.moveTo(25.9107456f, 272.577423f); |
| 2897 path.quadTo(26.1548233f, 272.333344f, 26.5000019f, 272.333344f); |
| 2898 path.lineTo(131.166672f, 272.333344f); |
| 2899 path.quadTo(131.511841f, 272.333344f, 131.75592f, 272.577423f); |
| 2900 path.quadTo(132, 272.821503f, 132, 273.166687f); |
| 2901 path.lineTo(132, 417.166656f); |
| 2902 path.quadTo(132, 417.511841f, 131.75592f, 417.75592f); |
| 2903 path.quadTo(131.511841f, 418, 131.166672f, 418); |
| 2904 path.lineTo(26.5000019f, 418); |
| 2905 path.quadTo(26.1548233f, 418, 25.9107456f, 417.75592f); |
| 2906 path.quadTo(25.6666679f, 417.511841f, 25.6666679f, 417.166656f); |
| 2907 path.lineTo(25.6666679f, 273.166687f); |
| 2908 path.quadTo(25.6666679f, 272.821503f, 25.9107456f, 272.577423f); |
| 2909 path.close(); |
| 2910 SkPath pathB; |
| 2911 pathB.setFillType(SkPath::kWinding_FillType); |
| 2912 pathB.moveTo(25.833334f, 417.166656f); |
| 2913 pathB.lineTo(25.833334f, 273.166656f); |
| 2914 pathB.quadTo(25.833334f, 272.890533f, 26.0285969f, 272.695251f); |
| 2915 pathB.quadTo(26.2238579f, 272.5f, 26.5f, 272.5f); |
| 2916 pathB.lineTo(131.166672f, 272.5f); |
| 2917 pathB.quadTo(131.442825f, 272.5f, 131.638077f, 272.695251f); |
| 2918 pathB.quadTo(131.833344f, 272.890533f, 131.833344f, 273.166656f); |
| 2919 pathB.lineTo(131.833344f, 417.166656f); |
| 2920 pathB.quadTo(131.833344f, 417.511841f, 131.638077f, 417.75592f); |
| 2921 pathB.quadTo(131.442825f, 418, 131.166672f, 418); |
| 2922 pathB.lineTo(26.5f, 418); |
| 2923 pathB.quadTo(26.2238579f, 418, 26.0285969f, 417.75592f); |
| 2924 pathB.quadTo(25.833334f, 417.511841f, 25.833334f, 417.166656f); |
| 2925 pathB.close(); |
| 2926 testPathOp(reporter, path, pathB, kDifference_PathOp, filename); |
| 2927 } |
| 2928 |
| 2929 static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const
char* filename) { |
| 2930 SkPath path; |
| 2931 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2932 path.moveTo(276, 9506); |
| 2933 path.lineTo(276, 7531); |
| 2934 path.lineTo(277, 7531); |
| 2935 path.lineTo(277.01001f, 9506); |
| 2936 path.lineTo(276, 9506); |
| 2937 path.close(); |
| 2938 SkPath pathB; |
| 2939 pathB.setFillType(SkPath::kWinding_FillType); |
| 2940 pathB.moveTo(276, 7531); |
| 2941 pathB.lineTo(277.01001f, 7531); |
| 2942 pathB.lineTo(277, 9506); |
| 2943 pathB.lineTo(276, 9506); |
| 2944 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2945 } |
| 2946 |
| 2947 static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter,
const char* filename) { |
| 2948 SkPath path; |
| 2949 path.setFillType(SkPath::kEvenOdd_FillType); |
| 2950 path.moveTo(276, 9600); |
| 2951 path.lineTo(276, 7703); |
| 2952 path.lineTo(277, 7703); |
| 2953 path.lineTo(277.01001f, 9600); |
| 2954 path.lineTo(276, 9600); |
| 2955 path.close(); |
| 2956 SkPath pathB; |
| 2957 pathB.setFillType(SkPath::kWinding_FillType); |
| 2958 pathB.moveTo(276, 7703); |
| 2959 pathB.lineTo(277.01001f, 7703); |
| 2960 pathB.lineTo(277, 9600); |
| 2961 pathB.lineTo(276, 9600); |
| 2962 testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2963 } |
| 2964 |
1747 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; | 2965 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; |
1748 | 2966 |
1749 static struct TestDesc tests[] = { | 2967 static struct TestDesc tests[] = { |
| 2968 TEST(skpwww_defense_studies_blogspot_com_64), |
| 2969 TEST(skpwww_kenlevine_blogspot_com_28), |
| 2970 TEST(skpwww_fashionscandal_com_94), |
| 2971 #if TRY_NEW_TESTS |
| 2972 TEST(skpwww_thaienews_blogspot_com_36), // completes but fails to produce c
orrect output |
| 2973 #endif |
| 2974 TEST(skpwww_galaxystwo_com_4), |
| 2975 TEST(skpwww_catingueiraonline_com_352), |
| 2976 TEST(skpwww_evolvehq_com_210), |
| 2977 TEST(skpwww_odia_com_br_26), // asserts expecting isClosed |
| 2978 TEST(skpwww_wartepop_blogspot_com_br_6), // asserts expecting isClosed |
| 2979 TEST(skpwww_lokado_de_173), |
| 2980 TEST(skpwww_seopack_blogspot_com_2153), |
| 2981 TEST(skpwww_partsdata_de_53), |
| 2982 TEST(skpwww_simplysaru_com_40), |
| 2983 TEST(skpwww_jessicaslens_wordpress_com_222), |
| 2984 #if TRY_NEW_TESTS |
| 2985 TEST(skpwww_artblart_com_8), // rightanglewinding |
| 2986 #endif |
| 2987 TEST(skpwww_kpopexplorer_net_22), |
| 2988 #if TRY_NEW_TESTS |
| 2989 TEST(skpwww_docgelo_com_66), // rightanglewinding |
| 2990 #endif |
| 2991 #if TRY_NEW_TESTS // nearly coincident curves -- maybe angle is written before
coincidence detected? |
| 2992 TEST(skpwww_tunero_de_24), // has both winding and oppWinding set to zero i
n markWinding |
| 2993 #endif |
| 2994 TEST(skpwww_karnivool_com_au_11), |
| 2995 TEST(skpwww_pindosiya_com_99), |
| 2996 TEST(skpwww_contextualnewsfeeds_com_346), // asserts expecting isClosed |
| 2997 TEST(skpwww_cooksnaps_com_32), // asserts expecting isClosed |
| 2998 #if TRY_NEW_TESTS_IS_CLOSED |
| 2999 TEST(skpwww_helha_be_109), // asserts expecting isClosed |
| 3000 TEST(skpwww_phototransferapp_com_24), // asserts expecting isClosed |
| 3001 #endif |
| 3002 #if TRY_NEW_TESTS |
| 3003 TEST(skpwww_gruposejaumdivulgador_com_br_4), // span already marked done is
futher marked coin |
| 3004 #endif |
| 3005 TEST(skpwww_hubbyscook_com_22), |
| 3006 #if TRY_NEW_TESTS |
| 3007 TEST(skpwww_argus_presse_fr_41), // rightanglewinding |
| 3008 #endif |
| 3009 TEST(skpwww_maturesupertube_com_21), |
| 3010 TEST(skpwww_getgold_jp_731), |
| 3011 TEST(skpwww_trashness_com_36), |
| 3012 TEST(skpwww_exystence_net_61), |
| 3013 TEST(skpwww_320kbps_net_2231), |
| 3014 TEST(skpwww_heartiste_wordpress_com_86), |
| 3015 TEST(skpwww_hairjobsearch_com_31), |
| 3016 TEST(skpwww_alucinados_net_101), |
1750 TEST(skpnamecheap_com_405), | 3017 TEST(skpnamecheap_com_405), |
1751 TEST(skpelpais_com_18), | 3018 TEST(skpelpais_com_18), |
1752 TEST(skpwww_cityads_ru_249), | 3019 TEST(skpwww_cityads_ru_249), |
1753 TEST(skpwww_alrakoba_net_62), | 3020 TEST(skpwww_alrakoba_net_62), |
1754 TEST(skpwww_dealnews_com_315), | 3021 TEST(skpwww_dealnews_com_315), |
1755 TEST(skpwww_inmotionhosting_com_9), | 3022 TEST(skpwww_inmotionhosting_com_9), |
1756 TEST(skpskpicture14), | 3023 TEST(skpskpicture14), |
1757 TEST(skpskpicture15), | 3024 TEST(skpskpicture15), |
1758 TEST(skpwww_meb_gov_tr_6), | 3025 TEST(skpwww_meb_gov_tr_6), |
1759 TEST(skpwww_sciality_com_101), | 3026 TEST(skpwww_sciality_com_101), |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1804 | 3071 |
1805 static bool runReverse = false; | 3072 static bool runReverse = false; |
1806 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; | 3073 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
1807 | 3074 |
1808 DEF_TEST(PathOpsSkp, reporter) { | 3075 DEF_TEST(PathOpsSkp, reporter) { |
1809 #if DEBUG_SHOW_TEST_NAME | 3076 #if DEBUG_SHOW_TEST_NAME |
1810 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); | 3077 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
1811 #endif | 3078 #endif |
1812 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); | 3079 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); |
1813 } | 3080 } |
OLD | NEW |