caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2012 Google Inc. |
| 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license that can be |
| 5 | * found in the LICENSE file. |
| 6 | */ |
| 7 | #include "PathOpsExtendedTest.h" |
| 8 | |
| 9 | #define TEST(name) { name, #name } |
| 10 | |
commit-bot@chromium.org | 8cb1daa | 2014-04-25 12:59:11 +0000 | [diff] [blame] | 11 | #define TRY_NEW_TESTS 0 |
| 12 | #define TRY_NEW_TESTS_IS_CLOSED 0 |
| 13 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 14 | static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 15 | SkPath path; |
| 16 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 17 | path.moveTo(555, 468); |
| 18 | path.lineTo(555, 362); |
| 19 | path.lineTo(872, 362); |
| 20 | path.lineTo(872, 468); |
| 21 | path.lineTo(555, 468); |
| 22 | path.close(); |
| 23 | SkPath pathB; |
| 24 | pathB.setFillType(SkPath::kWinding_FillType); |
| 25 | pathB.moveTo(859.11792f, 397.320343f); |
| 26 | pathB.cubicTo(855.523071f, 399.691284f, 853.721191f, 402.40863f, 853.721191f, 405.552216f); |
| 27 | pathB.cubicTo(853.721191f, 407.911163f, 854.727478f, 410.115387f, 857.043518f, 412.252716f); |
| 28 | pathB.cubicTo(859.920532f, 414.916138f, 862.704773f, 417.086426f, 864.679382f, 418.852386f); |
| 29 | pathB.cubicTo(866.382446f, 420.371765f, 867.19104f, 422.108795f, 867.19104f, 423.506378f); |
| 30 | pathB.cubicTo(867.19104f, 424.551605f, 866.741821f, 425.539886f, 865.935242f, 426.281616f); |
| 31 | pathB.cubicTo(865.250366f, 426.910553f, 864.662415f, 427.339813f, 864.139282f, 427.4646f); |
| 32 | pathB.cubicTo(863.536377f, 427.605347f, 862.259521f, 426.491272f, 860.366821f, 424.208191f); |
| 33 | pathB.cubicTo(858.345276f, 421.770355f, 857.317017f, 419.733856f, 857.317017f, 417.98587f); |
| 34 | pathB.cubicTo(857.317017f, 417.198212f, 857.942993f, 415.930389f, 857.942993f, 415.930389f); |
| 35 | pathB.cubicTo(857.942993f, 415.930389f, 852.106018f, 421.296173f, 852.279663f, 422.549042f); |
| 36 | pathB.cubicTo(852.462402f, 423.890747f, 853.669312f, 425.703613f, 855.876465f, 428.252258f); |
| 37 | pathB.cubicTo(858.038818f, 430.754944f, 859.4953f, 431.840088f, 860.190125f, 431.594513f); |
| 38 | pathB.cubicTo(862.571045f, 430.754944f, 865.48999f, 429.237549f, 868.44397f, 427.018372f); |
| 39 | pathB.cubicTo(870.505371f, 425.470032f, 871.582581f, 423.534332f, 871.582581f, 421.001678f); |
| 40 | pathB.cubicTo(871.582581f, 417.945923f, 870.056213f, 415.171692f, 867.015381f, 412.640045f); |
| 41 | pathB.cubicTo(863.683105f, 409.872803f, 861.445923f, 408.027954f, 860.551514f, 407.140503f); |
| 42 | pathB.cubicTo(858.660767f, 405.264709f, 857.765259f, 403.50174f, 857.765259f, 402.187988f); |
| 43 | pathB.cubicTo(857.765259f, 401.141785f, 858.339355f, 400.394073f, 859.476318f, 399.925873f); |
| 44 | pathB.cubicTo(860.004395f, 399.704254f, 861.270264f, 400.515869f, 863.156006f, 402.36969f); |
| 45 | pathB.cubicTo(865.094727f, 404.28241f, 866.203796f, 405.565186f, 866.383484f, 406.130219f); |
| 46 | pathB.cubicTo(868.250244f, 404.305359f, 869.179688f, 403.397919f, 871.046509f, 401.58902f); |
| 47 | pathB.cubicTo(868.26825f, 399.296967f, 864.431824f, 394.705841f, 863.156006f, 394.600037f); |
| 48 | pathB.cubicTo(863.145996f, 394.600037f, 863.136108f, 394.59903f, 863.126099f, 394.59903f); |
| 49 | pathB.cubicTo(862.352417f, 394.598022f, 859.909607f, 396.79425f, 859.11792f, 397.320343f); |
| 50 | pathB.moveTo(832.164246f, 394.307526f); |
| 51 | pathB.cubicTo(832.451721f, 394.425323f, 832.598511f, 394.486206f, 832.886963f, 394.605011f); |
| 52 | pathB.cubicTo(834.078979f, 395.474518f, 834.674927f, 395.90979f, 835.867859f, 396.781281f); |
| 53 | pathB.cubicTo(836.502808f, 397.325348f, 836.863159f, 398.000183f, 836.863159f, 398.964539f); |
| 54 | pathB.lineTo(836.863159f, 419.740845f); |
| 55 | pathB.cubicTo(836.863159f, 420.876923f, 836.319092f, 422.17868f, 835.055298f, 423.617188f); |
| 56 | pathB.cubicTo(836.39502f, 424.512665f, 837.063843f, 424.961884f, 838.39856f, 425.864349f); |
| 57 | pathB.cubicTo(839.477661f, 426.578125f, 841.37439f, 427.27594f, 842.275879f, 427.443634f); |
| 58 | pathB.cubicTo(842.999634f, 427.574402f, 843.82019f, 427.513519f, 844.354309f, 427.216034f); |
| 59 | pathB.cubicTo(846.956787f, 425.765503f, 848.689819f, 423.588257f, 848.58606f, 423.483429f); |
| 60 | pathB.cubicTo(848.58606f, 423.483429f, 846.877991f, 423.327698f, 845.971558f, 422.807587f); |
| 61 | pathB.cubicTo(845.253784f, 422.284485f, 844.892395f, 422.022949f, 844.171631f, 421.502838f); |
| 62 | pathB.cubicTo(843.361023f, 420.915833f, 842.907837f, 420.308899f, 842.907837f, 419.350525f); |
| 63 | pathB.lineTo(842.907837f, 399.445709f); |
| 64 | pathB.cubicTo(842.907837f, 398.053101f, 843.272217f, 397.417175f, 843.812256f, 397.518005f); |
| 65 | pathB.cubicTo(844.170654f, 397.583893f, 844.711731f, 398.122986f, 845.432495f, 398.782837f); |
| 66 | pathB.cubicTo(846.116333f, 399.402771f, 846.459717f, 399.709259f, 847.14856f, 400.3302f); |
| 67 | pathB.cubicTo(844.986206f, 402.099152f, 843.988892f, 403.926025f, 843.988892f, 405.932556f); |
| 68 | pathB.cubicTo(843.988892f, 410.209229f, 848.272583f, 410.951935f, 849.576355f, 408.394348f); |
| 69 | pathB.cubicTo(849.871826f, 407.816345f, 850.421875f, 406.214081f, 850.387939f, 406.196106f); |
| 70 | pathB.cubicTo(850.387939f, 406.196106f, 849.305786f, 406.771118f, 848.495239f, 406.615387f); |
| 71 | pathB.cubicTo(846.96582f, 406.316895f, 846.153198f, 405.46637f, 846.153198f, 403.89505f); |
| 72 | pathB.cubicTo(846.153198f, 401.796661f, 848.50116f, 399.09729f, 852.279663f, 396.270142f); |
| 73 | pathB.cubicTo(851.014893f, 395.315796f, 847.723511f, 391.546265f, 846.875f, 391.546265f); |
| 74 | pathB.cubicTo(846.330933f, 391.546265f, 843.988892f, 394.403351f, 843.273193f, 394.972382f); |
| 75 | pathB.cubicTo(840.889282f, 392.886963f, 839.700317f, 391.850739f, 837.312378f, 389.786285f); |
| 76 | pathB.cubicTo(835.257935f, 391.589203f, 834.225708f, 392.491638f, 832.164246f, 394.307526f); |
| 77 | pathB.moveTo(818.860107f, 392.707275f); |
| 78 | pathB.cubicTo(819.857361f, 393.382111f, 822.302124f, 395.764038f, 824.387573f, 397.051819f); |
| 79 | pathB.cubicTo(822.57666f, 398.249756f, 820.582092f, 399.687286f, 818.860107f, 400.827332f); |
| 80 | pathB.lineTo(818.860107f, 392.707275f); |
| 81 | pathB.close(); |
| 82 | pathB.moveTo(810.69812f, 391.096039f); |
| 83 | pathB.cubicTo(810.69812f, 391.096039f, 812.786499f, 394.093903f, 812.786499f, 394.965393f); |
| 84 | pathB.lineTo(812.786499f, 415.743713f); |
| 85 | pathB.cubicTo(812.786499f, 417.753265f, 811.881042f, 418.497986f, 810.974609f, 419.769806f); |
| 86 | pathB.cubicTo(813.948486f, 421.160431f, 815.437988f, 421.864197f, 818.404846f, 423.283783f); |
| 87 | pathB.cubicTo(819.948181f, 423.95462f, 822.417969f, 424.592529f, 823.937317f, 423.782928f); |
| 88 | pathB.cubicTo(827.905518f, 421.663544f, 831.53125f, 417.600525f, 832.255005f, 415.191681f); |
| 89 | pathB.cubicTo(833.882263f, 409.877808f, 823.095825f, 411.495026f, 823.119751f, 411.518982f); |
| 90 | pathB.cubicTo(823.119751f, 411.518982f, 832.000488f, 411.874359f, 830.537964f, 416.29776f); |
| 91 | pathB.cubicTo(829.888123f, 418.253418f, 827.278564f, 420.292908f, 825.385864f, 419.55719f); |
| 92 | pathB.cubicTo(821.14209f, 417.915985f, 818.861023f, 417.414856f, 818.861023f, 414.970032f); |
| 93 | pathB.lineTo(818.861023f, 403.096436f); |
| 94 | pathB.cubicTo(822.126404f, 399.132233f, 831.289673f, 395.897797f, 831.356567f, 395.657227f); |
| 95 | pathB.cubicTo(831.356567f, 395.657227f, 823.022888f, 387.594055f, 821.763062f, 387.476257f); |
| 96 | pathB.cubicTo(821.755066f, 387.47525f, 821.746094f, 387.47525f, 821.737061f, 387.47525f); |
| 97 | pathB.cubicTo(820.793701f, 387.47525f, 810.72406f, 390.967255f, 810.69812f, 391.096039f); |
| 98 | pathB.moveTo(624.254211f, 390.498077f); |
| 99 | pathB.cubicTo(625.252502f, 390.893402f, 627.708252f, 392.592468f, 629.796692f, 393.307251f); |
| 100 | pathB.cubicTo(627.978821f, 395.006317f, 625.980225f, 397.000916f, 624.254211f, 398.618134f); |
| 101 | pathB.lineTo(624.254211f, 390.498077f); |
| 102 | pathB.close(); |
| 103 | pathB.moveTo(627.160217f, 384.460449f); |
| 104 | pathB.cubicTo(626.286743f, 384.51535f, 616.076233f, 390.993225f, 616.086243f, 391.141968f); |
| 105 | pathB.cubicTo(616.086243f, 391.141968f, 618.173645f, 393.561798f, 618.173645f, 394.437317f); |
| 106 | pathB.lineTo(618.173645f, 415.216614f); |
| 107 | pathB.cubicTo(618.173645f, 417.222168f, 617.265198f, 418.219482f, 616.355774f, 419.742859f); |
| 108 | pathB.cubicTo(619.331665f, 420.307892f, 620.824097f, 420.599396f, 623.802979f, 421.198364f); |
| 109 | pathB.cubicTo(625.346313f, 421.437958f, 627.818115f, 421.39801f, 629.342468f, 420.166138f); |
| 110 | pathB.cubicTo(633.340576f, 416.939667f, 636.982361f, 411.871368f, 637.714111f, 409.263855f); |
| 111 | pathB.cubicTo(639.348267f, 403.500732f, 628.508911f, 408.111816f, 628.52887f, 408.126801f); |
| 112 | pathB.cubicTo(628.52887f, 408.126801f, 637.468506f, 405.998444f, 635.985046f, 410.844147f); |
| 113 | pathB.cubicTo(635.332153f, 412.984467f, 632.705688f, 415.748718f, 630.801941f, 415.541077f); |
| 114 | pathB.cubicTo(626.537292f, 415.072876f, 624.257202f, 415.202667f, 624.257202f, 412.755859f); |
| 115 | pathB.cubicTo(624.257202f, 408.007019f, 624.255188f, 405.636078f, 624.255188f, 400.884247f); |
| 116 | pathB.cubicTo(627.525574f, 396.016602f, 636.801636f, 390.283447f, 636.801636f, 389.97995f); |
| 117 | pathB.cubicTo(636.801636f, 389.97995f, 628.360168f, 384.458435f, 627.18219f, 384.458435f); |
| 118 | pathB.cubicTo(627.174194f, 384.460449f, 627.167236f, 384.460449f, 627.160217f, 384.460449f); |
| 119 | pathB.moveTo(796.530396f, 416.438538f); |
| 120 | pathB.cubicTo(795.892517f, 416.365662f, 794.527832f, 415.589996f, 792.348572f, 414.036652f); |
| 121 | pathB.lineTo(792.348572f, 391.425476f); |
| 122 | pathB.cubicTo(792.348572f, 390.465118f, 792.530273f, 390.047852f, 792.89563f, 390.088776f); |
| 123 | pathB.cubicTo(793.075317f, 390.109741f, 793.3479f, 390.317383f, 793.804077f, 390.629852f); |
| 124 | pathB.cubicTo(795.113831f, 391.585205f, 795.768738f, 392.059387f, 797.077515f, 393.018738f); |
| 125 | pathB.cubicTo(797.983948f, 393.648651f, 798.348267f, 394.219666f, 798.348267f, 394.742767f); |
| 126 | pathB.lineTo(798.348267f, 413.253998f); |
| 127 | pathB.cubicTo(798.348267f, 415.391327f, 797.783264f, 416.451508f, 796.728088f, 416.451508f); |
| 128 | pathB.cubicTo(796.664185f, 416.4505f, 796.598267f, 416.446533f, 796.530396f, 416.438538f); |
| 129 | pathB.moveTo(795.165771f, 383.714722f); |
| 130 | pathB.cubicTo(794.022705f, 383.851471f, 783.959961f, 388.652252f, 783.880127f, 388.873871f); |
| 131 | pathB.cubicTo(783.880127f, 388.873871f, 785.054077f, 389.871155f, 785.522339f, 390.606873f); |
| 132 | pathB.cubicTo(786.000488f, 391.361603f, 786.246094f, 391.9935f, 786.246094f, 392.427765f); |
| 133 | pathB.lineTo(786.246094f, 411.987183f); |
| 134 | pathB.cubicTo(786.246094f, 413.733185f, 784.160645f, 416.428558f, 784.246521f, 416.759979f); |
| 135 | pathB.cubicTo(784.258484f, 416.79892f, 785.432495f, 417.14032f, 785.793823f, 417.350952f); |
| 136 | pathB.cubicTo(786.739258f, 417.937958f, 787.213379f, 418.228455f, 788.161804f, 418.821442f); |
| 137 | pathB.cubicTo(789.342773f, 419.554199f, 790.619568f, 419.956482f, 791.892395f, 420.098236f); |
| 138 | pathB.cubicTo(794.533813f, 420.390747f, 796.717102f, 419.337555f, 798.349304f, 416.999573f); |
| 139 | pathB.lineTo(798.349304f, 425.212463f); |
| 140 | pathB.cubicTo(797.94696f, 425.47702f, 797.750305f, 425.609772f, 797.356018f, 425.874329f); |
| 141 | pathB.cubicTo(795.259583f, 423.619202f, 792.806824f, 422.286499f, 789.985657f, 421.984009f); |
| 142 | pathB.cubicTo(785.157959f, 421.463898f, 780.409119f, 428.344086f, 780.423096f, 428.346069f); |
| 143 | pathB.cubicTo(780.423096f, 428.346069f, 783.340088f, 424.960907f, 785.889709f, 425.218445f); |
| 144 | pathB.cubicTo(789.25592f, 425.565857f, 793.166199f, 430.745972f, 793.805115f, 430.790894f); |
| 145 | pathB.cubicTo(793.940857f, 430.798889f, 795.918457f, 429.091797f, 798.454102f, 427.383728f); |
| 146 | pathB.cubicTo(801.049683f, 425.635742f, 804.230225f, 423.886749f, 806.619141f, 423.980591f); |
| 147 | pathB.cubicTo(805.621826f, 423.586243f, 805.048828f, 423.074127f, 804.804199f, 422.609924f); |
| 148 | pathB.cubicTo(804.616577f, 422.25354f, 804.616577f, 421.539764f, 804.616577f, 420.31488f); |
| 149 | pathB.cubicTo(804.623535f, 411.732605f, 804.623535f, 403.147339f, 804.623535f, 394.562073f); |
| 150 | pathB.cubicTo(804.623535f, 392.464691f, 805.970215f, 391.000183f, 805.984192f, 390.896362f); |
| 151 | pathB.cubicTo(805.984192f, 390.896362f, 796.785034f, 383.7117f, 795.219666f, 383.7117f); |
| 152 | pathB.cubicTo(795.19873f, 383.712708f, 795.181763f, 383.712708f, 795.165771f, 383.714722f); |
| 153 | pathB.moveTo(648.092285f, 387.883545f); |
| 154 | pathB.cubicTo(649.095581f, 388.312805f, 651.55835f, 390.099762f, 653.655701f, 390.884399f); |
| 155 | pathB.cubicTo(651.831848f, 392.522583f, 649.82428f, 394.447296f, 648.092285f, 396.003601f); |
| 156 | pathB.lineTo(648.092285f, 387.883545f); |
| 157 | pathB.close(); |
| 158 | pathB.moveTo(651.009277f, 381.943756f); |
| 159 | pathB.cubicTo(650.147766f, 381.983704f, 639.893372f, 388.105164f, 639.899353f, 388.254913f); |
| 160 | pathB.cubicTo(639.899353f, 388.254913f, 641.987793f, 390.744659f, 641.987793f, 391.617157f); |
| 161 | pathB.lineTo(641.987793f, 412.399475f); |
| 162 | pathB.cubicTo(641.987793f, 414.409027f, 641.082336f, 415.369354f, 640.169861f, 416.864807f); |
| 163 | pathB.cubicTo(643.155762f, 417.53064f, 644.650208f, 417.87207f, 647.638062f, 418.573853f); |
| 164 | pathB.cubicTo(649.188416f, 418.865356f, 651.666138f, 418.908295f, 653.19751f, 417.725311f); |
| 165 | pathB.cubicTo(657.204651f, 414.633636f, 660.859375f, 409.690125f, 661.590088f, 407.106567f); |
| 166 | pathB.cubicTo(663.231262f, 401.397339f, 652.356934f, 405.644073f, 652.375916f, 405.663025f); |
| 167 | pathB.cubicTo(652.375916f, 405.663025f, 661.338562f, 403.835175f, 659.857056f, 408.632935f); |
| 168 | pathB.cubicTo(659.199219f, 410.748291f, 656.568726f, 413.424713f, 654.656982f, 413.151184f); |
| 169 | pathB.cubicTo(650.381348f, 412.536224f, 648.092285f, 412.591125f, 648.092285f, 410.146332f); |
| 170 | pathB.lineTo(648.092285f, 398.270721f); |
| 171 | pathB.cubicTo(651.374634f, 393.5159f, 660.66571f, 388.09021f, 660.674683f, 387.791718f); |
| 172 | pathB.cubicTo(660.674683f, 387.791718f, 652.188232f, 381.941772f, 651.022278f, 381.942749f); |
| 173 | pathB.cubicTo(651.01825f, 381.942749f, 651.013245f, 381.942749f, 651.009277f, 381.943756f); |
| 174 | pathB.moveTo(761.636353f, 385.965851f); |
| 175 | pathB.cubicTo(761.927856f, 386.056702f, 762.071594f, 386.098633f, 762.363098f, 386.189453f); |
| 176 | pathB.cubicTo(763.570007f, 386.938171f, 764.175964f, 387.311554f, 765.376892f, 388.066254f); |
| 177 | pathB.cubicTo(766.019775f, 388.546417f, 766.384155f, 389.184326f, 766.384155f, 390.147675f); |
| 178 | pathB.lineTo(766.384155f, 410.924011f); |
| 179 | pathB.cubicTo(766.384155f, 412.057037f, 765.836121f, 413.410736f, 764.559326f, 414.979034f); |
| 180 | pathB.cubicTo(765.911987f, 415.738739f, 766.579834f, 416.12207f, 767.934509f, 416.887756f); |
| 181 | pathB.cubicTo(769.029602f, 417.495728f, 770.944336f, 418.000854f, 771.85675f, 418.075714f); |
| 182 | pathB.cubicTo(772.58551f, 418.134613f, 773.413086f, 417.987854f, 773.950195f, 417.638458f); |
| 183 | pathB.cubicTo(776.583618f, 415.917419f, 778.332642f, 413.564453f, 778.237793f, 413.473633f); |
| 184 | pathB.cubicTo(778.237793f, 413.473633f, 776.507812f, 413.497559f, 775.596313f, 413.066315f); |
| 185 | pathB.cubicTo(774.866577f, 412.61908f, 774.497253f, 412.39447f, 773.771484f, 411.951233f); |
| 186 | pathB.cubicTo(772.947876f, 411.444092f, 772.493652f, 410.877075f, 772.493652f, 409.919708f); |
| 187 | pathB.lineTo(772.493652f, 390.013885f); |
| 188 | pathB.cubicTo(772.493652f, 388.618286f, 772.860046f, 387.949432f, 773.407104f, 387.995361f); |
| 189 | pathB.cubicTo(773.771484f, 388.026306f, 774.318542f, 388.509491f, 775.049316f, 389.09848f); |
| 190 | pathB.cubicTo(775.742065f, 389.646515f, 776.088501f, 389.923065f, 776.77533f, 390.470123f); |
| 191 | pathB.cubicTo(774.590088f, 392.45871f, 773.589783f, 394.385376f, 773.589783f, 396.395935f); |
| 192 | pathB.cubicTo(773.589783f, 400.673584f, 777.907349f, 401.008026f, 779.237122f, 398.292694f); |
| 193 | pathB.cubicTo(779.539551f, 397.684723f, 780.089661f, 396.027557f, 780.058716f, 396.01358f); |
| 194 | pathB.cubicTo(780.058716f, 396.01358f, 778.970581f, 396.694427f, 778.149963f, 396.618561f); |
| 195 | pathB.cubicTo(776.598633f, 396.4758f, 775.775024f, 395.709106f, 775.775024f, 394.13681f); |
| 196 | pathB.cubicTo(775.775024f, 392.042419f, 778.149963f, 389.103455f, 781.973389f, 385.892975f); |
| 197 | pathB.cubicTo(780.697571f, 385.06839f, 777.326416f, 381.676208f, 776.506775f, 381.719147f); |
| 198 | pathB.cubicTo(775.908813f, 381.747101f, 773.588806f, 384.868744f, 772.860046f, 385.506622f); |
| 199 | pathB.cubicTo(770.451172f, 383.664795f, 769.248291f, 382.749359f, 766.843384f, 380.929504f); |
| 200 | pathB.cubicTo(764.758972f, 382.934052f, 763.716736f, 383.940338f, 761.636353f, 385.965851f); |
| 201 | pathB.moveTo(672.996521f, 379.821411f); |
| 202 | pathB.cubicTo(672.123047f, 379.891266f, 669.7052f, 382.898132f, 668.887573f, 383.64682f); |
| 203 | pathB.cubicTo(665.239868f, 386.999084f, 663.41095f, 390.213562f, 663.41095f, 393.356171f); |
| 204 | pathB.cubicTo(663.41095f, 395.715118f, 664.439209f, 397.642792f, 666.785156f, 399.150208f); |
| 205 | pathB.cubicTo(669.702148f, 401.02002f, 672.547302f, 402.439575f, 674.545837f, 403.655487f); |
| 206 | pathB.cubicTo(676.261902f, 404.697693f, 677.105469f, 406.231049f, 677.105469f, 407.625671f); |
| 207 | pathB.cubicTo(677.105469f, 408.671875f, 676.651245f, 409.777954f, 675.825684f, 410.7453f); |
| 208 | pathB.cubicTo(675.12384f, 411.569885f, 674.538879f, 412.145905f, 673.997803f, 412.417419f); |
| 209 | pathB.cubicTo(673.38385f, 412.724915f, 672.080078f, 411.958221f, 670.166382f, 410.198242f); |
| 210 | pathB.cubicTo(668.113892f, 408.319458f, 667.062683f, 406.55249f, 667.062683f, 404.808502f); |
| 211 | pathB.cubicTo(667.062683f, 404.020844f, 667.701599f, 402.580322f, 667.701599f, 402.580322f); |
| 212 | pathB.cubicTo(667.701599f, 402.580322f, 661.773804f, 409.542358f, 661.951477f, 410.7453f); |
| 213 | pathB.cubicTo(662.13916f, 412.037079f, 663.368042f, 413.524536f, 665.60321f, 415.469208f); |
| 214 | pathB.cubicTo(667.791443f, 417.368927f, 669.261963f, 418.074738f, 669.983704f, 417.630493f); |
| 215 | pathB.cubicTo(672.412537f, 416.138062f, 675.369446f, 413.822021f, 678.385254f, 410.790222f); |
| 216 | pathB.cubicTo(680.485657f, 408.677856f, 681.587769f, 406.446686f, 681.587769f, 403.917023f); |
| 217 | pathB.cubicTo(681.587769f, 400.859283f, 680.007446f, 398.490356f, 676.923767f, 396.806244f); |
| 218 | pathB.cubicTo(673.540588f, 394.957428f, 671.257507f, 393.71756f, 670.351074f, 393.075653f); |
| 219 | pathB.cubicTo(668.434326f, 391.71698f, 667.518921f, 390.193604f, 667.518921f, 388.88385f); |
| 220 | pathB.cubicTo(667.518921f, 387.837646f, 668.101929f, 386.934204f, 669.25592f, 386.156525f); |
| 221 | pathB.cubicTo(669.796997f, 385.788147f, 671.085815f, 386.257355f, 672.997498f, 387.592072f); |
| 222 | pathB.cubicTo(674.966125f, 388.968689f, 676.104187f, 389.951019f, 676.284851f, 390.465118f); |
| 223 | pathB.cubicTo(678.186584f, 388.130127f, 679.136963f, 386.966125f, 681.035706f, 384.646118f); |
| 224 | pathB.cubicTo(678.244507f, 383.133728f, 674.247375f, 379.819397f, 673.044434f, 379.819397f); |
| 225 | pathB.cubicTo(673.027466f, 379.819397f, 673.011475f, 379.820404f, 672.996521f, 379.821411f); |
| 226 | pathB.moveTo(732.95459f, 384.60318f); |
| 227 | pathB.cubicTo(733.246094f, 384.680054f, 733.391846f, 384.720001f, 733.689331f, 384.794861f); |
| 228 | pathB.cubicTo(735.072937f, 385.500641f, 735.769714f, 385.856049f, 737.162354f, 386.563812f); |
| 229 | pathB.cubicTo(737.891113f, 386.938171f, 738.164612f, 387.642975f, 738.164612f, 388.6073f); |
| 230 | pathB.lineTo(738.164612f, 408.510132f); |
| 231 | pathB.cubicTo(738.164612f, 410.257141f, 737.709412f, 411.893341f, 736.064209f, 413.416718f); |
| 232 | pathB.cubicTo(737.635498f, 414.235321f, 738.419189f, 414.651611f, 739.991455f, 415.475189f); |
| 233 | pathB.cubicTo(740.997742f, 416.034241f, 742.186707f, 416.344696f, 743.098145f, 416.379639f); |
| 234 | pathB.cubicTo(743.830872f, 416.410583f, 744.476807f, 416.175964f, 745.019836f, 415.851532f); |
| 235 | pathB.cubicTo(746.476318f, 414.977051f, 748.58075f, 413.571442f, 749.225647f, 413.079285f); |
| 236 | pathB.cubicTo(751.012573f, 414.253296f, 751.907043f, 414.845276f, 753.69696f, 416.028229f); |
| 237 | pathB.cubicTo(754.703247f, 416.610229f, 755.706543f, 416.84082f, 756.528076f, 416.892761f); |
| 238 | pathB.cubicTo(757.259827f, 416.93866f, 757.996582f, 416.807892f, 758.537659f, 416.494446f); |
| 239 | pathB.cubicTo(760.814758f, 415.174713f, 762.185425f, 413.509552f, 762.552734f, 412.830719f); |
| 240 | pathB.cubicTo(761.637329f, 412.681976f, 759.633789f, 411.58786f, 759.263428f, 411.387207f); |
| 241 | pathB.cubicTo(758.607544f, 410.994873f, 758.279114f, 410.803223f, 757.621216f, 410.413879f); |
| 242 | pathB.cubicTo(756.983276f, 410.020538f, 756.616943f, 409.301788f, 756.616943f, 408.343445f); |
| 243 | pathB.lineTo(756.616943f, 388.351746f); |
| 244 | pathB.cubicTo(756.616943f, 387.387421f, 757.164978f, 386.548859f, 758.627502f, 385.067383f); |
| 245 | pathB.cubicTo(755.523804f, 383.05484f, 753.97052f, 382.057556f, 750.862854f, 380.078949f); |
| 246 | pathB.cubicTo(749.001038f, 382.112457f, 748.069641f, 383.130707f, 746.207825f, 385.174194f); |
| 247 | pathB.cubicTo(746.501343f, 385.292999f, 746.647095f, 385.353912f, 746.939575f, 385.472687f); |
| 248 | pathB.cubicTo(747.996765f, 386.183472f, 748.525879f, 386.538879f, 749.587036f, 387.257629f); |
| 249 | pathB.cubicTo(750.224915f, 387.724823f, 750.498474f, 388.351746f, 750.498474f, 389.223267f); |
| 250 | pathB.lineTo(750.498474f, 407.822327f); |
| 251 | pathB.cubicTo(750.498474f, 408.694824f, 750.339722f, 409.955658f, 749.951416f, 410.847137f); |
| 252 | pathB.cubicTo(749.550049f, 411.761566f, 749.039978f, 411.585876f, 748.487915f, 411.560913f); |
| 253 | pathB.cubicTo(747.393799f, 411.503998f, 746.385498f, 410.53067f, 745.473083f, 410.022552f); |
| 254 | pathB.cubicTo(744.760254f, 409.627228f, 744.380981f, 409.013275f, 744.380981f, 407.965088f); |
| 255 | pathB.lineTo(744.380981f, 386.840363f); |
| 256 | pathB.cubicTo(744.380981f, 385.791138f, 744.833191f, 384.763916f, 745.657776f, 383.839508f); |
| 257 | pathB.cubicTo(742.656921f, 382.101501f, 741.161499f, 381.234985f, 738.162659f, 379.525909f); |
| 258 | pathB.cubicTo(736.083191f, 381.548431f, 735.039978f, 382.562683f, 732.95459f, 384.60318f); |
| 259 | pathB.moveTo(692.546936f, 385.171204f); |
| 260 | pathB.cubicTo(693.552246f, 385.667358f, 696.018005f, 387.607025f, 698.122375f, 388.521454f); |
| 261 | pathB.cubicTo(696.293518f, 390.043854f, 694.281982f, 391.844757f, 692.546936f, 393.294281f); |
| 262 | pathB.lineTo(692.546936f, 385.171204f); |
| 263 | pathB.close(); |
| 264 | pathB.moveTo(695.4729f, 379.417084f); |
| 265 | pathB.cubicTo(694.635376f, 379.426086f, 684.32605f, 384.880707f, 684.322083f, 385.025452f); |
| 266 | pathB.cubicTo(684.322083f, 385.025452f, 686.422485f, 387.645966f, 686.422485f, 388.521454f); |
| 267 | pathB.lineTo(686.422485f, 409.300781f); |
| 268 | pathB.cubicTo(686.422485f, 411.312347f, 685.51001f, 412.21579f, 684.595581f, 413.65033f); |
| 269 | pathB.cubicTo(687.592468f, 414.504852f, 689.089905f, 414.945099f, 692.088745f, 415.833557f); |
| 270 | pathB.cubicTo(693.645081f, 416.221893f, 696.128784f, 416.420563f, 697.667114f, 415.334412f); |
| 271 | pathB.cubicTo(701.67926f, 412.494293f, 705.344971f, 407.783386f, 706.077698f, 405.240753f); |
| 272 | pathB.cubicTo(707.721924f, 399.638367f, 696.822632f, 403.198273f, 696.845581f, 403.216248f); |
| 273 | pathB.cubicTo(696.845581f, 403.216248f, 705.825134f, 401.960388f, 704.337708f, 406.658325f); |
| 274 | pathB.cubicTo(703.683838f, 408.733765f, 701.044373f, 411.241455f, 699.129639f, 410.847137f); |
| 275 | pathB.cubicTo(694.843018f, 409.968628f, 692.545959f, 409.876801f, 692.545959f, 407.432983f); |
| 276 | pathB.lineTo(692.545959f, 395.563354f); |
| 277 | pathB.cubicTo(695.838318f, 391.012177f, 705.134338f, 386.160522f, 705.162292f, 385.873993f); |
| 278 | pathB.cubicTo(705.162292f, 385.873993f, 696.635925f, 379.416107f, 695.473938f, 379.417084f); |
| 279 | pathB.cubicTo(695.474915f, 379.417084f, 695.473938f, 379.417084f, 695.4729f, 379.417084f); |
| 280 | pathB.moveTo(570.463562f, 420.81601f); |
| 281 | pathB.lineTo(570.463562f, 402.922729f); |
| 282 | pathB.cubicTo(571.039551f, 402.800934f, 571.327087f, 402.743042f, 571.901123f, 402.625244f); |
| 283 | pathB.lineTo(571.901123f, 423.142029f); |
| 284 | pathB.cubicTo(570.911804f, 422.823578f, 570.463562f, 422.123779f, 570.463562f, 420.81601f); |
| 285 | pathB.moveTo(570.463562f, 384.062134f); |
| 286 | pathB.cubicTo(571.039551f, 384.149963f, 571.327087f, 384.198883f, 571.901123f, 384.290741f); |
| 287 | pathB.lineTo(571.901123f, 401.580048f); |
| 288 | pathB.cubicTo(571.327087f, 401.695862f, 571.039551f, 401.756744f, 570.463562f, 401.874542f); |
| 289 | pathB.lineTo(570.463562f, 384.062134f); |
| 290 | pathB.close(); |
| 291 | pathB.moveTo(573.880676f, 376.556f); |
| 292 | pathB.cubicTo(572.483093f, 376.996246f, 561.476013f, 385.624451f, 561.482971f, 385.70929f); |
| 293 | pathB.cubicTo(561.482971f, 385.70929f, 563.637268f, 388.554413f, 563.637268f, 389.688446f); |
| 294 | pathB.lineTo(563.637268f, 398.423462f); |
| 295 | pathB.cubicTo(556.411682f, 399.838043f, 555.429382f, 404.307373f, 555.418396f, 405.679993f); |
| 296 | pathB.lineTo(555.418396f, 405.724915f); |
| 297 | pathB.cubicTo(555.42041f, 405.94455f, 555.448364f, 406.073334f, 555.477295f, 406.083313f); |
| 298 | pathB.cubicTo(555.477295f, 406.083313f, 558.070862f, 404.250458f, 563.637268f, 403.222229f); |
| 299 | pathB.lineTo(563.637268f, 404.797516f); |
| 300 | pathB.cubicTo(556.993713f, 406.233063f, 555.191772f, 412.494293f, 555.569153f, 412.614105f); |
| 301 | pathB.cubicTo(555.569153f, 412.614105f, 561.572815f, 410.21521f, 563.637268f, 409.598267f); |
| 302 | pathB.lineTo(563.637268f, 424.00354f); |
| 303 | pathB.cubicTo(563.637268f, 426.357483f, 563.36676f, 427.901855f, 562.291565f, 429.70874f); |
| 304 | pathB.cubicTo(565.448181f, 430.067139f, 567.028442f, 430.256805f, 570.192017f, 430.653137f); |
| 305 | pathB.cubicTo(571.99292f, 430.893707f, 574.782166f, 430.669098f, 576.403381f, 429.136719f); |
| 306 | pathB.cubicTo(580.960571f, 424.828125f, 586.135681f, 419.346527f, 586.135681f, 416.115082f); |
| 307 | pathB.lineTo(586.135681f, 406.511566f); |
| 308 | pathB.cubicTo(586.135681f, 405.377533f, 586.047791f, 404.608856f, 586.678711f, 403.271149f); |
| 309 | pathB.cubicTo(584.151062f, 404.98819f, 582.888245f, 405.851715f, 580.362549f, 407.587738f); |
| 310 | pathB.cubicTo(579.281433f, 408.320465f, 579.192566f, 409.2948f, 579.192566f, 410.955933f); |
| 311 | pathB.lineTo(579.192566f, 421.869202f); |
| 312 | pathB.cubicTo(579.192566f, 423.180969f, 577.746033f, 423.273804f, 577.392639f, 423.266815f); |
| 313 | pathB.cubicTo(575.636658f, 423.228882f, 574.153259f, 423.295776f, 573.071106f, 423.077148f); |
| 314 | pathB.lineTo(573.071106f, 384.663086f); |
| 315 | pathB.cubicTo(575.230408f, 385.379852f, 576.309509f, 385.742249f, 578.473816f, 386.473999f); |
| 316 | pathB.cubicTo(579.373291f, 386.996094f, 579.553955f, 387.490234f, 579.553955f, 388.013336f); |
| 317 | pathB.cubicTo(581.861023f, 384.848785f, 583.015991f, 383.267487f, 585.325073f, 380.114899f); |
| 318 | pathB.cubicTo(581.680298f, 379.229431f, 575.865295f, 376.520081f, 574.157227f, 376.521057f); |
| 319 | pathB.cubicTo(574.047424f, 376.522064f, 573.955566f, 376.533051f, 573.880676f, 376.556f); |
| 320 | pathB.moveTo(593.447083f, 375.096527f); |
| 321 | pathB.cubicTo(592.363953f, 375.804291f, 591.821899f, 376.772644f, 591.821899f, 377.908691f); |
| 322 | pathB.lineTo(591.821899f, 419.46933f); |
| 323 | pathB.cubicTo(591.821899f, 420.517517f, 591.187012f, 422.018951f, 589.921143f, 423.991577f); |
| 324 | pathB.cubicTo(591.2948f, 424.412842f, 591.982605f, 424.622467f, 593.354248f, 425.050751f); |
| 325 | pathB.cubicTo(594.53125f, 425.462036f, 595.525513f, 425.555878f, 596.427979f, 425.404144f); |
| 326 | pathB.cubicTo(597.150757f, 425.279358f, 597.785645f, 424.914978f, 598.326721f, 424.475739f); |
| 327 | pathB.cubicTo(600.935242f, 422.385315f, 602.846985f, 419.809753f, 602.759094f, 419.749847f); |
| 328 | pathB.cubicTo(602.759094f, 419.749847f, 601.582153f, 419.935516f, 600.59082f, 419.831696f); |
| 329 | pathB.cubicTo(600.0448f, 419.74585f, 599.774231f, 419.700928f, 599.233154f, 419.615082f); |
| 330 | pathB.cubicTo(598.416565f, 419.484314f, 597.965332f, 418.860382f, 597.965332f, 417.988861f); |
| 331 | pathB.lineTo(597.965332f, 396.857147f); |
| 332 | pathB.cubicTo(597.965332f, 395.376678f, 598.326721f, 394.617004f, 598.867798f, 394.528137f); |
| 333 | pathB.cubicTo(599.232178f, 394.466248f, 599.773254f, 394.731812f, 600.59082f, 395.124115f); |
| 334 | pathB.cubicTo(601.601074f, 395.589325f, 602.111206f, 395.819946f, 603.123474f, 396.288116f); |
| 335 | pathB.cubicTo(603.93811f, 396.686432f, 603.93512f, 397.38324f, 603.93512f, 398.169891f); |
| 336 | pathB.cubicTo(603.93512f, 405.971497f, 603.93512f, 413.768127f, 603.93811f, 421.569702f); |
| 337 | pathB.cubicTo(603.93811f, 425.325256f, 601.109924f, 430.634155f, 601.133911f, 430.656128f); |
| 338 | pathB.cubicTo(601.133911f, 430.656128f, 605.184937f, 427.222015f, 607.017822f, 424.414825f); |
| 339 | pathB.cubicTo(609.118164f, 421.201355f, 610.280212f, 417.987854f, 610.280212f, 415.109802f); |
| 340 | pathB.lineTo(610.280212f, 394.593048f); |
| 341 | pathB.cubicTo(610.280212f, 393.890228f, 610.823242f, 393.112579f, 611.728699f, 392.020447f); |
| 342 | pathB.cubicTo(608.827698f, 390.960266f, 604.000977f, 387.703857f, 602.759094f, 387.967407f); |
| 343 | pathB.cubicTo(602.120239f, 388.104187f, 599.957947f, 391.29071f, 597.965332f, 393.27829f); |
| 344 | pathB.lineTo(597.965332f, 374.422668f); |
| 345 | pathB.cubicTo(597.965332f, 373.461334f, 598.326721f, 372.440063f, 598.867798f, 371.567566f); |
| 346 | pathB.cubicTo(596.701538f, 372.96817f, 595.616394f, 373.677948f, 593.447083f, 375.096527f); |
| 347 | pathB.moveTo(718.054138f, 409.318756f); |
| 348 | pathB.cubicTo(717.461182f, 408.789673f, 716.867188f, 408.178711f, 716.867188f, 407.218353f); |
| 349 | pathB.lineTo(716.867188f, 387.053986f); |
| 350 | pathB.cubicTo(716.867188f, 385.305969f, 717.323425f, 385.566528f, 718.328674f, 386.013763f); |
| 351 | pathB.cubicTo(719.645386f, 386.859314f, 720.307251f, 387.284576f, 721.622009f, 388.135132f); |
| 352 | pathB.cubicTo(722.266907f, 388.4935f, 722.903809f, 388.934753f, 722.903809f, 389.721405f); |
| 353 | pathB.lineTo(722.903809f, 407.794373f); |
| 354 | pathB.cubicTo(722.903809f, 408.66687f, 722.746094f, 410.490753f, 722.259888f, 410.758301f); |
| 355 | pathB.cubicTo(722.125122f, 410.83017f, 721.950439f, 410.862122f, 721.746826f, 410.862122f); |
| 356 | pathB.cubicTo(720.655701f, 410.864105f, 718.747925f, 409.936707f, 718.054138f, 409.318756f); |
| 357 | pathB.moveTo(711.928711f, 364.782227f); |
| 358 | pathB.cubicTo(711.195923f, 365.134613f, 710.648865f, 365.834412f, 710.648865f, 366.794769f); |
| 359 | pathB.lineTo(710.648865f, 407.392059f); |
| 360 | pathB.cubicTo(710.648865f, 409.397614f, 708.519531f, 411.37323f, 708.547485f, 411.684692f); |
| 361 | pathB.cubicTo(708.550476f, 411.745605f, 711.838867f, 413.067322f, 713.849365f, 414.368073f); |
| 362 | pathB.cubicTo(717.766663f, 416.906738f, 720.162537f, 415.845551f, 722.354797f, 414.073608f); |
| 363 | pathB.cubicTo(724.059875f, 412.69397f, 726.55957f, 410.981903f, 730.675537f, 410.124359f); |
| 364 | pathB.cubicTo(729.75708f, 409.143066f, 729.213013f, 407.993042f, 729.213013f, 406.683289f); |
| 365 | pathB.cubicTo(729.213013f, 399.630402f, 729.209045f, 396.103455f, 729.209045f, 389.047546f); |
| 366 | pathB.cubicTo(729.209045f, 387.648956f, 730.577698f, 385.292023f, 730.583679f, 385.149261f); |
| 367 | pathB.cubicTo(730.583679f, 385.149261f, 720.888306f, 378.762207f, 719.609497f, 378.947906f); |
| 368 | pathB.cubicTo(719.275085f, 378.996826f, 717.872498f, 381.118164f, 716.868225f, 381.896851f); |
| 369 | pathB.lineTo(716.868225f, 365.046783f); |
| 370 | pathB.cubicTo(716.868225f, 363.740021f, 716.960083f, 363.043213f, 717.597961f, 362); |
| 371 | pathB.cubicTo(715.331848f, 363.104095f, 714.19873f, 363.657166f, 711.928711f, 364.782227f); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 372 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 373 | } |
| 374 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 375 | static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 376 | SkPath path; |
| 377 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 378 | path.moveTo(1074.29285f, 627.292786f); |
| 379 | path.quadTo(1074.58582f, 627, 1075, 627); |
| 380 | path.lineTo(1117, 627); |
| 381 | path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f); |
| 382 | path.quadTo(1134, 636.958374f, 1134, 644); |
| 383 | path.lineTo(1134, 645); |
| 384 | path.quadTo(1134, 652.041626f, 1129.02246f, 657.0224f); |
| 385 | path.quadTo(1124.04163f, 662, 1117, 662); |
| 386 | path.lineTo(1075, 662); |
| 387 | path.quadTo(1074.58582f, 662, 1074.29285f, 661.707214f); |
| 388 | path.quadTo(1074, 661.414185f, 1074, 661); |
| 389 | path.lineTo(1074, 628); |
| 390 | path.quadTo(1074, 627.585815f, 1074.29285f, 627.292786f); |
| 391 | path.close(); |
| 392 | path.moveTo(1076, 629); |
| 393 | path.lineTo(1117, 629); |
| 394 | path.cubicTo(1125.2843f, 629, 1132, 635.715698f, 1132, 644); |
| 395 | path.lineTo(1132, 645); |
| 396 | path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660); |
| 397 | path.lineTo(1076, 660); |
| 398 | path.lineTo(1076, 629); |
| 399 | path.close(); |
| 400 | SkPath pathB; |
| 401 | pathB.setFillType(SkPath::kWinding_FillType); |
| 402 | pathB.moveTo(1074, 627); |
| 403 | pathB.lineTo(1075, 628); |
| 404 | pathB.lineTo(1116.5f, 644.5f); |
| 405 | pathB.lineTo(1134, 627); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 406 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 407 | } |
| 408 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 409 | static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 410 | SkPath path; |
| 411 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 412 | path.moveTo(301.464081f, 424); |
| 413 | path.lineTo(296, 433.46405f); |
| 414 | path.lineTo(296, 433.810822f); |
| 415 | path.lineTo(303.25589f, 438); |
| 416 | path.lineTo(304.729736f, 438); |
| 417 | path.lineTo(311, 427.139557f); |
| 418 | path.lineTo(311, 426.305237f); |
| 419 | path.lineTo(307.007202f, 424); |
| 420 | path.lineTo(301.464081f, 424); |
| 421 | path.close(); |
| 422 | SkPath pathB; |
| 423 | pathB.setFillType(SkPath::kWinding_FillType); |
| 424 | pathB.moveTo(302.849854f, 421.599762f); |
| 425 | pathB.lineTo(311.510101f, 426.599762f); |
| 426 | pathB.lineTo(304.510101f, 438.724121f); |
| 427 | pathB.lineTo(295.849854f, 433.724121f); |
| 428 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 429 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 430 | } |
| 431 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 432 | static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 433 | SkPath path; |
| 434 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 435 | path.moveTo(818, 157); |
| 436 | path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142); |
| 437 | path.lineTo(909, 142); |
| 438 | path.lineTo(909, 143); |
| 439 | path.lineTo(833, 143); |
| 440 | path.cubicTo(825.268005f, 143, 819, 149.268005f, 819, 157); |
| 441 | path.lineTo(819, 926); |
| 442 | path.lineTo(818, 926); |
| 443 | path.lineTo(818, 157); |
| 444 | path.close(); |
| 445 | path.moveTo(1184, 926); |
| 446 | path.lineTo(1185, 926); |
| 447 | path.lineTo(1185, 157); |
| 448 | path.cubicTo(1185, 148.715729f, 1178.2843f, 142, 1170, 142); |
| 449 | path.lineTo(1093, 142); |
| 450 | path.lineTo(1093, 143); |
| 451 | path.lineTo(1170, 143); |
| 452 | path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157); |
| 453 | path.lineTo(1184, 926); |
| 454 | path.close(); |
| 455 | SkPath pathB; |
| 456 | pathB.setFillType(SkPath::kWinding_FillType); |
| 457 | pathB.moveTo(1185, 142); |
| 458 | pathB.lineTo(1001.5f, 325.5f); |
| 459 | pathB.lineTo(1001.5f, 782.5f); |
| 460 | pathB.lineTo(1185, 966); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 461 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 462 | } |
| 463 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 464 | static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 465 | SkPath path; |
| 466 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 467 | path.moveTo(540.74231f, 215.922546f); |
| 468 | path.cubicTo(540.893127f, 215.391159f, 541.443909f, 215.090134f, 541.972473f, 215.250168f); |
| 469 | path.lineTo(581.213318f, 227.131104f); |
| 470 | path.cubicTo(581.741882f, 227.291153f, 582.048157f, 227.851654f, 581.897339f, 228.383041f); |
| 471 | path.lineTo(576.708923f, 246.663925f); |
| 472 | path.cubicTo(576.558167f, 247.195297f, 576.007324f, 247.496338f, 575.47876f, 247.336288f); |
| 473 | path.lineTo(536.237915f, 235.455353f); |
| 474 | path.cubicTo(535.709351f, 235.295319f, 535.403137f, 234.734802f, 535.553894f, 234.20343f); |
| 475 | path.lineTo(540.74231f, 215.922546f); |
| 476 | path.close(); |
| 477 | SkPath pathB; |
| 478 | pathB.setFillType(SkPath::kWinding_FillType); |
| 479 | pathB.moveTo(541.015381f, 214.960388f); |
| 480 | pathB.lineTo(582.17041f, 227.420883f); |
| 481 | pathB.lineTo(576.435852f, 247.626068f); |
| 482 | pathB.lineTo(535.280823f, 235.165573f); |
| 483 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 484 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 485 | } |
| 486 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 487 | static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 488 | SkPath path; |
| 489 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 490 | path.moveTo(33, 787); |
| 491 | path.lineTo(33, 412); |
| 492 | path.lineTo(1233, 412); |
| 493 | path.lineTo(1233, 787); |
| 494 | path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f); |
| 495 | path.quadTo(1224.21326f, 802, 1218, 802); |
| 496 | path.lineTo(48, 802); |
| 497 | path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f); |
| 498 | path.quadTo(33, 793.213196f, 33, 787); |
| 499 | path.close(); |
| 500 | SkPath pathB; |
| 501 | pathB.setFillType(SkPath::kWinding_FillType); |
| 502 | pathB.moveTo(33, 412); |
| 503 | pathB.lineTo(1233, 412); |
| 504 | pathB.lineTo(1233, 787); |
| 505 | pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f); |
| 506 | pathB.quadTo(1224.21313f, 802, 1218, 802); |
| 507 | pathB.lineTo(48, 802); |
| 508 | pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f); |
| 509 | pathB.quadTo(33, 793.213196f, 33, 787); |
| 510 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 511 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 512 | } |
| 513 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 514 | static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 515 | SkPath path; |
| 516 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 517 | path.moveTo(808, 886); |
| 518 | path.cubicTo(805.581055f, 886, 803.563293f, 887.717773f, 803.100037f, 890); |
| 519 | path.lineTo(1122.90002f, 890); |
| 520 | path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886); |
| 521 | path.lineTo(808, 886); |
| 522 | path.close(); |
| 523 | SkPath pathB; |
| 524 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 525 | pathB.moveTo(808, 886); |
| 526 | pathB.lineTo(1118, 886); |
| 527 | pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891); |
| 528 | pathB.lineTo(1123, 1521); |
| 529 | pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525); |
| 530 | pathB.lineTo(808, 1525); |
| 531 | pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521); |
| 532 | pathB.lineTo(803, 891); |
| 533 | pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886); |
| 534 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 535 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 536 | } |
| 537 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 538 | static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 539 | SkPath path; |
| 540 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 541 | path.moveTo(184, 734); |
| 542 | path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f); |
| 543 | path.quadTo(61, 806.051758f, 61, 857); |
| 544 | path.quadTo(61, 895.835083f, 81.9317017f, 926); |
| 545 | path.lineTo(286.068298f, 926); |
| 546 | path.quadTo(307, 895.835083f, 307, 857); |
| 547 | path.quadTo(307, 806.051758f, 270.974121f, 770.025879f); |
| 548 | path.quadTo(234.948273f, 734, 184, 734); |
| 549 | path.close(); |
| 550 | SkPath pathB; |
| 551 | pathB.setFillType(SkPath::kWinding_FillType); |
| 552 | pathB.moveTo(185, 734); |
| 553 | pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857); |
| 554 | pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980); |
| 555 | pathB.lineTo(184, 980); |
| 556 | pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857); |
| 557 | pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734); |
| 558 | pathB.lineTo(185, 734); |
| 559 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 560 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 561 | } |
| 562 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 563 | static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 564 | SkPath path; |
| 565 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 566 | path.moveTo(363, 493); |
| 567 | path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497); |
| 568 | path.lineTo(359, 656); |
| 569 | path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660); |
| 570 | path.lineTo(623.001709f, 660); |
| 571 | path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657); |
| 572 | path.lineTo(626, 496); |
| 573 | path.cubicTo(626, 494.343872f, 624.657959f, 493.00116f, 623.002075f, 493); |
| 574 | path.lineTo(363, 493); |
| 575 | path.close(); |
| 576 | SkPath pathB; |
| 577 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 578 | pathB.moveTo(362, 494); |
| 579 | pathB.lineTo(623, 494); |
| 580 | pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496); |
| 581 | pathB.lineTo(626, 657); |
| 582 | pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660); |
| 583 | pathB.lineTo(362, 660); |
| 584 | pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657); |
| 585 | pathB.lineTo(359, 496); |
| 586 | pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494); |
| 587 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 588 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 589 | } |
| 590 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 591 | static void skpsciality_com161(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 592 | SkPath path; |
| 593 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 594 | path.moveTo(656, 728); |
| 595 | path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732); |
| 596 | path.lineTo(652, 789); |
| 597 | path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793); |
| 598 | path.lineTo(769.001282f, 793); |
| 599 | path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790); |
| 600 | path.lineTo(772, 731); |
| 601 | path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728); |
| 602 | path.lineTo(656, 728); |
| 603 | path.close(); |
| 604 | SkPath pathB; |
| 605 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 606 | pathB.moveTo(655, 729); |
| 607 | pathB.lineTo(769, 729); |
| 608 | pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731); |
| 609 | pathB.lineTo(772, 790); |
| 610 | pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793); |
| 611 | pathB.lineTo(655, 793); |
| 612 | pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790); |
| 613 | pathB.lineTo(652, 731); |
| 614 | pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729); |
| 615 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 616 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 617 | } |
| 618 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 619 | static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 620 | SkPath path; |
| 621 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 622 | path.moveTo(0, 495); |
| 623 | path.lineTo(1.23685242e-14f, 293); |
| 624 | path.lineTo(44, 293); |
| 625 | path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f); |
| 626 | path.quadTo(48, 295.34314f, 48, 297); |
| 627 | path.lineTo(48, 491); |
| 628 | path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f); |
| 629 | path.quadTo(45.6568527f, 495, 44, 495); |
| 630 | path.lineTo(0, 495); |
| 631 | path.close(); |
| 632 | path.moveTo(1, 294); |
| 633 | path.lineTo(44, 294); |
| 634 | path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297); |
| 635 | path.lineTo(47, 491); |
| 636 | path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494); |
| 637 | path.lineTo(1, 494); |
| 638 | path.lineTo(1, 294); |
| 639 | path.close(); |
| 640 | SkPath pathB; |
| 641 | pathB.setFillType(SkPath::kWinding_FillType); |
| 642 | pathB.moveTo(48, 495); |
| 643 | pathB.lineTo(24, 471); |
| 644 | pathB.lineTo(24, 317); |
| 645 | pathB.lineTo(48, 293); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 646 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 647 | } |
| 648 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 649 | static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 650 | SkPath path; |
| 651 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 652 | path.moveTo(863.439026f, 692); |
| 653 | path.lineTo(863.283264f, 692); |
| 654 | path.lineTo(802, 708.420837f); |
| 655 | path.lineTo(802, 718.773621f); |
| 656 | path.lineTo(866, 701.624817f); |
| 657 | path.lineTo(866, 701.557922f); |
| 658 | path.lineTo(863.439026f, 692); |
| 659 | path.close(); |
| 660 | SkPath pathB; |
| 661 | pathB.setFillType(SkPath::kWinding_FillType); |
| 662 | pathB.moveTo(783.256775f, 713.443054f); |
| 663 | pathB.lineTo(863.428589f, 691.96106f); |
| 664 | pathB.lineTo(866.016724f, 701.620361f); |
| 665 | pathB.lineTo(785.84491f, 723.102356f); |
| 666 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 667 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 668 | } |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 669 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 670 | static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 671 | SkPath path; |
| 672 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 673 | path.moveTo(6.66133815e-16f, 648); |
| 674 | path.lineTo(25.8522835f, 648); |
| 675 | path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f); |
| 676 | path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644); |
| 677 | path.lineTo(29.8522835f, 467); |
| 678 | path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f); |
| 679 | path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463); |
| 680 | path.lineTo(2.22044605e-16f, 463); |
| 681 | path.lineTo(6.66133815e-16f, 648); |
| 682 | path.close(); |
| 683 | SkPath pathB; |
| 684 | pathB.setFillType(SkPath::kWinding_FillType); |
| 685 | pathB.moveTo(0, 463); |
| 686 | pathB.lineTo(30, 463); |
| 687 | pathB.lineTo(30, 648); |
| 688 | pathB.lineTo(0, 648); |
| 689 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 690 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 691 | } |
| 692 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 693 | static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 694 | SkPath path; |
| 695 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 696 | path.moveTo(0, 926); |
| 697 | path.lineTo(0, 0); |
| 698 | path.lineTo(1265, 0); |
| 699 | path.lineTo(1265, 926); |
| 700 | path.lineTo(0, 926); |
| 701 | path.close(); |
| 702 | SkPath pathB; |
| 703 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 704 | pathB.moveTo(37, 374); |
| 705 | pathB.lineTo(37, 535); |
| 706 | pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538); |
| 707 | pathB.lineTo(1.02866934e-14f, 538); |
| 708 | pathB.lineTo(6.12303177e-17f, 371); |
| 709 | pathB.lineTo(34, 371); |
| 710 | pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374); |
| 711 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 712 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 713 | } |
| 714 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 715 | static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 716 | SkPath path; |
| 717 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 718 | path.moveTo(16, 56); |
| 719 | path.lineTo(32, 56); |
| 720 | path.lineTo(32, 72); |
| 721 | path.lineTo(16, 72); |
| 722 | path.lineTo(16, 56); |
| 723 | path.close(); |
| 724 | SkPath pathB; |
| 725 | pathB.setFillType(SkPath::kEvenOdd_FillType); |
| 726 | pathB.moveTo(31.65625f, 70.0555649f); |
| 727 | pathB.lineTo(31.65625f, 70.0554962f); |
| 728 | pathB.lineTo(26.9727192f, 65.3615341f); |
| 729 | pathB.cubicTo(27.6210003f, 64.4029694f, 28.0048752f, 63.2470932f, 28.0048752f, 62.0027809f); |
| 730 | pathB.cubicTo(28.0048752f, 58.6875305f, 25.3199062f, 56, 22.0046558f, 56); |
| 731 | pathB.cubicTo(18.6894073f, 56, 16.0031872f, 58.6875305f, 16.0031872f, 62.0027809f); |
| 732 | pathB.cubicTo(16.0031872f, 65.3180008f, 18.6913433f, 68.0055618f, 22.0066261f, 68.0055618f); |
| 733 | pathB.cubicTo(23.2509995f, 68.0055618f, 24.4072189f, 67.6187515f, 25.3657818f, 66.9704056f); |
| 734 | pathB.lineTo(30.0599365f, 71.65625f); |
| 735 | pathB.lineTo(30.0600014f, 71.65625f); |
| 736 | pathB.cubicTo(30.2668133f, 71.875f, 30.5524693f, 71.9992828f, 30.868f, 71.9992828f); |
| 737 | pathB.cubicTo(31.4994049f, 71.9992828f, 32.0014687f, 71.4909363f, 32.0014687f, 70.8595276f); |
| 738 | pathB.cubicTo(32.0015335f, 70.5439072f, 31.875f, 70.2623444f, 31.65625f, 70.0555649f); |
| 739 | pathB.close(); |
| 740 | pathB.moveTo(18.0054054f, 62.0027809f); |
| 741 | pathB.cubicTo(18.0054054f, 59.7925949f, 19.7970943f, 58.0009079f, 22.0072823f, 58.0009079f); |
| 742 | pathB.cubicTo(24.2174377f, 58.0009079f, 26.0091248f, 59.7925949f, 26.0091248f, 62.0027809f); |
| 743 | pathB.cubicTo(26.0091248f, 64.2129364f, 24.2174377f, 66.0046234f, 22.0072803f, 66.0046234f); |
| 744 | pathB.cubicTo(19.7970943f, 66.0045929f, 18.0054054f, 64.2129059f, 18.0054054f, 62.0027809f); |
| 745 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 746 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 747 | } |
| 748 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 749 | static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 750 | SkPath path; |
| 751 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 752 | path.moveTo(0, 926); |
| 753 | path.lineTo(0, 0); |
| 754 | path.lineTo(1265, 0); |
| 755 | path.lineTo(1265, 926); |
| 756 | path.lineTo(0, 926); |
| 757 | path.close(); |
| 758 | SkPath pathB; |
| 759 | pathB.setFillType(SkPath::kWinding_FillType); |
| 760 | pathB.moveTo(21, 162); |
| 761 | pathB.lineTo(21, 301); |
| 762 | pathB.lineTo(8.57224448e-15f, 301); |
| 763 | pathB.lineTo(6.12303177e-17f, 162); |
| 764 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 765 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 766 | } |
| 767 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 768 | static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 769 | SkPath path; |
| 770 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 771 | path.moveTo(179, 407); |
| 772 | path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410); |
| 773 | path.lineTo(176, 436); |
| 774 | path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439); |
| 775 | path.lineTo(337.002289f, 439); |
| 776 | path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437); |
| 777 | path.lineTo(339, 409); |
| 778 | path.cubicTo(339, 407.896362f, 338.10611f, 407.001526f, 337.002838f, 407); |
| 779 | path.lineTo(179, 407); |
| 780 | path.close(); |
| 781 | SkPath pathB; |
| 782 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 783 | pathB.moveTo(179, 408); |
| 784 | pathB.lineTo(337, 408); |
| 785 | pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410); |
| 786 | pathB.lineTo(340, 436); |
| 787 | pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439); |
| 788 | pathB.lineTo(179, 439); |
| 789 | pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436); |
| 790 | pathB.lineTo(177, 410); |
| 791 | pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408); |
| 792 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 793 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 794 | } |
| 795 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 796 | static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 797 | SkPath path; |
| 798 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 799 | path.moveTo(807, 817); |
| 800 | path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f); |
| 801 | path.quadTo(806.000122f, 817.585876f, 806, 818); |
| 802 | path.lineTo(806, 881); |
| 803 | path.lineTo(1111, 881); |
| 804 | path.lineTo(1111, 818); |
| 805 | path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f); |
| 806 | path.quadTo(1110.41406f, 817.000122f, 1110, 817); |
| 807 | path.lineTo(807, 817); |
| 808 | path.close(); |
| 809 | SkPath pathB; |
| 810 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 811 | pathB.moveTo(807, 817); |
| 812 | pathB.lineTo(1110, 817); |
| 813 | pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818); |
| 814 | pathB.lineTo(1111, 880); |
| 815 | pathB.lineTo(806, 880); |
| 816 | pathB.lineTo(806, 818); |
| 817 | pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817); |
| 818 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 819 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 820 | } |
| 821 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 822 | static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 823 | SkPath path; |
| 824 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 825 | path.moveTo(967, 263); |
| 826 | path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f); |
| 827 | path.quadTo(966.000122f, 263.585876f, 966, 264); |
| 828 | path.lineTo(966, 301); |
| 829 | path.lineTo(1214, 301); |
| 830 | path.lineTo(1214, 264); |
| 831 | path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f); |
| 832 | path.quadTo(1213.41406f, 263.000092f, 1213, 263); |
| 833 | path.lineTo(967, 263); |
| 834 | path.close(); |
| 835 | SkPath pathB; |
| 836 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 837 | pathB.moveTo(967, 263); |
| 838 | pathB.lineTo(1213, 263); |
| 839 | pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264); |
| 840 | pathB.lineTo(1214, 300); |
| 841 | pathB.lineTo(966, 300); |
| 842 | pathB.lineTo(966, 264); |
| 843 | pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263); |
| 844 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 845 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 846 | } |
| 847 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 848 | static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 849 | SkPath path; |
| 850 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 851 | path.moveTo(271.032867f, -5.32907052e-15f); |
| 852 | path.lineTo(56.9671326f, -5.16253706e-15f); |
| 853 | path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f); |
| 854 | path.quadTo(1, 55.4831848f, 1, 123); |
| 855 | path.quadTo(1, 190.516815f, 48.7416f, 238.258392f); |
| 856 | path.quadTo(96.4831848f, 286, 164, 286); |
| 857 | path.quadTo(231.516815f, 286, 279.258392f, 238.258392f); |
| 858 | path.quadTo(327, 190.516815f, 327, 123); |
| 859 | path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f); |
| 860 | path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f); |
| 861 | path.close(); |
| 862 | SkPath pathB; |
| 863 | pathB.setFillType(SkPath::kWinding_FillType); |
| 864 | pathB.moveTo(327, 123); |
| 865 | pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f); |
| 866 | pathB.quadTo(231.516815f, 286, 164, 286); |
| 867 | pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f); |
| 868 | pathB.quadTo(1, 190.516815f, 1, 123); |
| 869 | pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f); |
| 870 | pathB.quadTo(96.4831848f, -40, 164, -40); |
| 871 | pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f); |
| 872 | pathB.quadTo(327, 55.4831848f, 327, 123); |
| 873 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 874 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 875 | } |
| 876 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 877 | static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 878 | SkPath path; |
| 879 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 880 | path.moveTo(475.421448f, 836.985962f); |
| 881 | path.lineTo(461.280975f, 841.990662f); |
| 882 | path.cubicTo(466.80899f, 857.609802f, 458.62854f, 874.752991f, 443.009399f, 880.281006f); |
| 883 | path.cubicTo(435.199829f, 883.044983f, 427.009247f, 882.381897f, 420.080048f, 879.075378f); |
| 884 | path.lineTo(413.620056f, 892.613037f); |
| 885 | path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f); |
| 886 | path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f); |
| 887 | path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f); |
| 888 | path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f); |
| 889 | path.quadTo(477.351227f, 863.546143f, 478, 855.549866f); |
| 890 | path.lineTo(478, 848.804321f); |
| 891 | path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f); |
| 892 | path.close(); |
| 893 | SkPath pathB; |
| 894 | pathB.setFillType(SkPath::kWinding_FillType); |
| 895 | pathB.moveTo(405.592621f, 909.435547f); |
| 896 | pathB.lineTo(390.578583f, 867.014099f); |
| 897 | pathB.lineTo(433, 852.000061f); |
| 898 | pathB.lineTo(490.435486f, 879.40741f); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 899 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 900 | } |
| 901 | |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 902 | /* this cubic/quad pair |
| 903 | c = 430,280 430,278.895416 473.876068,278 528,278 |
| 904 | q = 430,280 430.009796,277.101196 458.703552,275.050262 |
| 905 | only intersect at the shared point (430,280) |
| 906 | they sort backwards because the tangent from pt[0] to control pt[1] |
| 907 | c' = (0.00000000000000000, -1.1045837402343750) |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 908 | q' = (0.0097961425781250000, -2.8988037109375000) |
| 909 | suggests that the quad is counterclockwise of the cubic, when the reverse is true |
| 910 | the angle code is fooled because the control pt[1] of both the quad and cubic |
| 911 | is far away from cubic cntl [2] and quad pt [2]. |
| 912 | Maybe in angle setup, this instability can be detected to suppress sorting on the initial tangent |
| 913 | Or the error term can be passed to NearRay that is magnified by the distance from the next ctrl? |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 914 | */ |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 915 | static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 916 | SkPath path; |
| 917 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 918 | path.moveTo(458.703552f, 275.050262f); |
| 919 | path.quadTo(487.41687f, 273.000702f, 528, 273); |
| 920 | path.lineTo(529, 273); |
| 921 | path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f); |
| 922 | path.quadTo(531.999695f, 274.75766f, 532, 276); |
| 923 | path.lineTo(532, 378); |
| 924 | path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f); |
| 925 | path.quadTo(474.58313f, 384.999298f, 434, 385); |
| 926 | path.lineTo(433, 385); |
| 927 | path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f); |
| 928 | path.quadTo(430.000305f, 383.24234f, 430, 382); |
| 929 | path.lineTo(430, 280); |
| 930 | path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f); |
| 931 | path.close(); |
| 932 | SkPath pathB; |
| 933 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 934 | pathB.moveTo(528, 278); |
| 935 | pathB.lineTo(529, 278); |
| 936 | pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278); |
| 937 | pathB.lineTo(532, 378); |
| 938 | pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380); |
| 939 | pathB.lineTo(433, 380); |
| 940 | pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380); |
| 941 | pathB.lineTo(430, 280); |
| 942 | pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278); |
| 943 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 944 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 945 | } |
| 946 | |
| 947 | /* didn't investigate thoroughly, but looks to be missorting quad and cubic |
| 948 | {{468.507751,560.724426}, {467.275146,552.856262}, {465.84668,547.288391}} |
| 949 | {{463.779907,542.671143}, {464.829529,542.672974}, {466.946289,550.755676}, {468.507751,560.724426}} |
| 950 | decision maker is case 14 leftLessThanRight |
| 951 | */ |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 952 | static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 953 | SkPath path; |
| 954 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 955 | path.moveTo(465.503998f, 546); |
| 956 | path.lineTo(347, 546); |
| 957 | path.lineTo(347, 632); |
| 958 | path.lineTo(469.104248f, 632); |
| 959 | path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f); |
| 960 | path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f); |
| 961 | path.lineTo(468.507751f, 560.724426f); |
| 962 | path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f); |
| 963 | path.quadTo(465.670349f, 546.601501f, 465.503998f, 546); |
| 964 | path.close(); |
| 965 | SkPath pathB; |
| 966 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 967 | pathB.moveTo(363.052246f, 542.495361f); |
| 968 | pathB.lineTo(463.779907f, 542.671143f); |
| 969 | pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751f, 560.724426f); |
| 970 | pathB.lineTo(470.591064f, 574.024353f); |
| 971 | pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f, 639.537781f); |
| 972 | pathB.lineTo(368.727936f, 639.378601f); |
| 973 | pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249f, 621.275574f); |
| 974 | pathB.lineTo(325.968597f, 560.475708f); |
| 975 | pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f, 542.495361f); |
| 976 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 977 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 978 | } |
| 979 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 980 | static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 981 | SkPath path; |
| 982 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 983 | path.moveTo(936.765625f, 458.965302f); |
| 984 | path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f, 450.033905f); |
| 985 | path.lineTo(661.882263f, 458.958862f); |
| 986 | path.lineTo(661.875366f, 458.959106f); |
| 987 | path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f, 468.496124f); |
| 988 | path.lineTo(652.258179f, 468.503662f); |
| 989 | path.lineTo(649.021729f, 531.322754f); |
| 990 | path.cubicTo(648.75885f, 536.424805f, 652.641479f, 540.423523f, 657.693848f, 540.25415f); |
| 991 | path.lineTo(923.905029f, 531.329163f); |
| 992 | path.cubicTo(928.955017f, 531.159851f, 933.262268f, 526.890442f, 933.528809f, 521.791565f); |
| 993 | path.lineTo(933.529175f, 521.784363f); |
| 994 | path.lineTo(936.765625f, 458.965302f); |
| 995 | path.close(); |
| 996 | SkPath pathB; |
| 997 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 998 | pathB.moveTo(661.882263f, 458.958862f); |
| 999 | pathB.lineTo(928.093445f, 450.033905f); |
| 1000 | pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.210663f); |
| 1001 | pathB.lineTo(926.210693f, 522.029724f); |
| 1002 | pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f, 526.710083f); |
| 1003 | pathB.lineTo(657.931885f, 535.635071f); |
| 1004 | pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729f, 531.322754f); |
| 1005 | pathB.lineTo(652.258179f, 468.503662f); |
| 1006 | pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263f, 458.958862f); |
| 1007 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1008 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1009 | } |
| 1010 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1011 | static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1012 | SkPath path; |
| 1013 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1014 | path.moveTo(156, 126); |
| 1015 | path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f); |
| 1016 | path.quadTo(152.000397f, 128.343552f, 152, 130); |
| 1017 | path.lineTo(152, 174); |
| 1018 | path.lineTo(1114, 174); |
| 1019 | path.lineTo(1114, 130); |
| 1020 | path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f); |
| 1021 | path.quadTo(1111.65649f, 126.000397f, 1110, 126); |
| 1022 | path.lineTo(156, 126); |
| 1023 | path.close(); |
| 1024 | SkPath pathB; |
| 1025 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1026 | pathB.moveTo(156, 126); |
| 1027 | pathB.lineTo(1110, 126); |
| 1028 | pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130); |
| 1029 | pathB.lineTo(1113, 174); |
| 1030 | pathB.lineTo(153, 174); |
| 1031 | pathB.lineTo(153, 130); |
| 1032 | pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126); |
| 1033 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1034 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1035 | } |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 1036 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1037 | static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1038 | SkPath path; |
| 1039 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1040 | path.moveTo(182.000015f, 645); |
| 1041 | path.lineTo(182, 640); |
| 1042 | path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.213196f); |
| 1043 | path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f, 588.786804f); |
| 1044 | path.lineTo(157.251266f, 585.251221f); |
| 1045 | path.quadTo(147, 595.502502f, 147.000015f, 610); |
| 1046 | path.quadTo(147, 624.482605f, 157.230255f, 634.727722f); |
| 1047 | path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f); |
| 1048 | path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f); |
| 1049 | path.quadTo(167.517334f, 645, 182.000015f, 645); |
| 1050 | path.close(); |
| 1051 | SkPath pathB; |
| 1052 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1053 | pathB.moveTo(182, 659.497498f); |
| 1054 | pathB.lineTo(206.748749f, 634.748718f); |
| 1055 | pathB.lineTo(182.000015f, 610); |
| 1056 | pathB.lineTo(132.502533f, 610); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1057 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1058 | } |
| 1059 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1060 | static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1061 | SkPath path; |
| 1062 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1063 | path.moveTo(154, 670); |
| 1064 | path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675); |
| 1065 | path.lineTo(149, 710.001465f); |
| 1066 | path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714); |
| 1067 | path.lineTo(189, 714); |
| 1068 | path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710); |
| 1069 | path.lineTo(193, 675); |
| 1070 | path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670); |
| 1071 | path.lineTo(154, 670); |
| 1072 | path.close(); |
| 1073 | SkPath pathB; |
| 1074 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1075 | pathB.moveTo(154, 671); |
| 1076 | pathB.lineTo(188, 671); |
| 1077 | pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675); |
| 1078 | pathB.lineTo(193, 710); |
| 1079 | pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715); |
| 1080 | pathB.lineTo(154, 715); |
| 1081 | pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710); |
| 1082 | pathB.lineTo(149, 675); |
| 1083 | pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671); |
| 1084 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1085 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1086 | } |
| 1087 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1088 | static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1089 | SkPath path; |
| 1090 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1091 | path.moveTo(50, 182); |
| 1092 | path.lineTo(1215, 182); |
| 1093 | path.lineTo(1215, 202); |
| 1094 | path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f); |
| 1095 | path.quadTo(1212.07056f, 206.999496f, 1210, 207); |
| 1096 | path.lineTo(55, 207); |
| 1097 | path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f); |
| 1098 | path.quadTo(50.0004997f, 204.070572f, 50, 202); |
| 1099 | path.lineTo(50, 182); |
| 1100 | path.close(); |
| 1101 | SkPath pathB; |
| 1102 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1103 | pathB.moveTo(50, 183); |
| 1104 | pathB.lineTo(1215, 183); |
| 1105 | pathB.lineTo(1215, 202); |
| 1106 | pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207); |
| 1107 | pathB.lineTo(55, 207); |
| 1108 | pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202); |
| 1109 | pathB.lineTo(50, 183); |
| 1110 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1111 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1112 | } |
| 1113 | |
| 1114 | /* cubic ends just above opp line */ |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1115 | static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1116 | SkPath path; |
| 1117 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1118 | path.moveTo(172, 201); |
| 1119 | path.lineTo(172, 202); |
| 1120 | path.lineTo(220, 202); |
| 1121 | path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199); |
| 1122 | path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201); |
| 1123 | path.lineTo(172, 201); |
| 1124 | path.close(); |
| 1125 | SkPath pathB; |
| 1126 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1127 | pathB.moveTo(161, 202); |
| 1128 | pathB.lineTo(161, 199); |
| 1129 | pathB.lineTo(223, 199.000015f); |
| 1130 | pathB.lineTo(223, 202); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1131 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1132 | } |
| 1133 | |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1134 | // pair of lines are not quite coincident, so sorting line/cubic fails (i think) |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1135 | static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1136 | SkPath path; |
| 1137 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1138 | path.moveTo(806, 57); |
| 1139 | path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54); |
| 1140 | path.lineTo(930, 54); |
| 1141 | path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57); |
| 1142 | path.lineTo(933, 91); |
| 1143 | path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94); |
| 1144 | path.lineTo(809, 94); |
| 1145 | path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91); |
| 1146 | path.lineTo(806, 57); |
| 1147 | path.close(); |
| 1148 | path.moveTo(808, 58); |
| 1149 | path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56); |
| 1150 | path.lineTo(929, 56); |
| 1151 | path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58); |
| 1152 | path.lineTo(931, 90); |
| 1153 | path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92); |
| 1154 | path.lineTo(810, 92); |
| 1155 | path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90); |
| 1156 | path.lineTo(808, 58); |
| 1157 | path.close(); |
| 1158 | SkPath pathB; |
| 1159 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1160 | pathB.moveTo(806, 54); |
| 1161 | pathB.lineTo(808, 56); |
| 1162 | pathB.lineTo(935.02002f, 56.0200005f); |
| 1163 | pathB.lineTo(933, 54); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1164 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1165 | } |
| 1166 | |
| 1167 | // pair of curves have nearly the same initial tangent but are sorting by |
| 1168 | // that alone sorts them incorrectly. Need to detect that tangents are nearly |
| 1169 | // identical and not reliable by themselves |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1170 | static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1171 | SkPath path; |
| 1172 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1173 | path.moveTo(173, 5342); |
| 1174 | path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f); |
| 1175 | path.quadTo(169.000397f, 5344.34375f, 169, 5346); |
| 1176 | path.lineTo(169, 5372); |
| 1177 | path.lineTo(234, 5372); |
| 1178 | path.lineTo(234, 5346); |
| 1179 | path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f); |
| 1180 | path.quadTo(231.656464f, 5342.00049f, 230, 5342); |
| 1181 | path.lineTo(173, 5342); |
| 1182 | path.close(); |
| 1183 | SkPath pathB; |
| 1184 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1185 | pathB.moveTo(173, 5342); |
| 1186 | pathB.lineTo(230, 5342); |
| 1187 | pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346); |
| 1188 | pathB.lineTo(233, 5372); |
| 1189 | pathB.lineTo(169, 5372); |
| 1190 | pathB.lineTo(169, 5346); |
| 1191 | pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342); |
| 1192 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1193 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1194 | } |
| 1195 | |
| 1196 | // nearly identical to lavoixdunord -- to not-quite-coincident lines |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1197 | static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1198 | SkPath path; |
| 1199 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1200 | path.moveTo(90, 187); |
| 1201 | path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184); |
| 1202 | path.lineTo(588, 184); |
| 1203 | path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187); |
| 1204 | path.lineTo(591, 218); |
| 1205 | path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221); |
| 1206 | path.lineTo(93, 221); |
| 1207 | path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218); |
| 1208 | path.lineTo(90, 187); |
| 1209 | path.close(); |
| 1210 | path.moveTo(92, 188); |
| 1211 | path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186); |
| 1212 | path.lineTo(587, 186); |
| 1213 | path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188); |
| 1214 | path.lineTo(589, 217); |
| 1215 | path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219); |
| 1216 | path.lineTo(94, 219); |
| 1217 | path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217); |
| 1218 | path.lineTo(92, 188); |
| 1219 | path.close(); |
| 1220 | SkPath pathB; |
| 1221 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1222 | pathB.moveTo(90, 184); |
| 1223 | pathB.lineTo(92, 186); |
| 1224 | pathB.lineTo(593.02002f, 186.020004f); |
| 1225 | pathB.lineTo(591, 184); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1226 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1227 | } |
| 1228 | |
| 1229 | // visually looks like lavoixdunord and www_booking_com |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1230 | static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1231 | SkPath path; |
| 1232 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1233 | path.moveTo(635, 1788); |
| 1234 | path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785); |
| 1235 | path.lineTo(832, 1785); |
| 1236 | path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788); |
| 1237 | path.lineTo(835, 1812); |
| 1238 | path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815); |
| 1239 | path.lineTo(638, 1815); |
| 1240 | path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812); |
| 1241 | path.lineTo(635, 1788); |
| 1242 | path.close(); |
| 1243 | path.moveTo(637, 1789); |
| 1244 | path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787); |
| 1245 | path.lineTo(831, 1787); |
| 1246 | path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789); |
| 1247 | path.lineTo(833, 1811); |
| 1248 | path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813); |
| 1249 | path.lineTo(639, 1813); |
| 1250 | path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811); |
| 1251 | path.lineTo(637, 1789); |
| 1252 | path.close(); |
| 1253 | SkPath pathB; |
| 1254 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1255 | pathB.moveTo(835, 1785); |
| 1256 | pathB.lineTo(833, 1787); |
| 1257 | pathB.lineTo(832.97998f, 1817.02002f); |
| 1258 | pathB.lineTo(835, 1815); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1259 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1260 | } |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1261 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1262 | static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1263 | SkPath path; |
| 1264 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1265 | path.moveTo(320, 347); |
| 1266 | path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342); |
| 1267 | path.lineTo(416, 342); |
| 1268 | path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347); |
| 1269 | path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343); |
| 1270 | path.lineTo(325, 343); |
| 1271 | path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347); |
| 1272 | path.close(); |
| 1273 | path.moveTo(320, 378); |
| 1274 | path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383); |
| 1275 | path.lineTo(416, 383); |
| 1276 | path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378); |
| 1277 | path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382); |
| 1278 | path.lineTo(325, 382); |
| 1279 | path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378); |
| 1280 | path.close(); |
| 1281 | SkPath pathB; |
| 1282 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1283 | pathB.moveTo(320, 383); |
| 1284 | pathB.lineTo(320, 378); |
| 1285 | pathB.lineTo(421, 378.000031f); |
| 1286 | pathB.lineTo(421, 383); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1287 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1288 | } |
| 1289 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1290 | static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1291 | SkPath path; |
| 1292 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1293 | path.moveTo(136, 14089); |
| 1294 | path.lineTo(136, 14056); |
| 1295 | path.lineTo(778, 14056); |
| 1296 | path.lineTo(778, 14089); |
| 1297 | path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f); |
| 1298 | path.quadTo(775.656433f, 14093, 774, 14093); |
| 1299 | path.lineTo(140, 14093); |
| 1300 | path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f); |
| 1301 | path.quadTo(136.000397f, 14090.6562f, 136, 14089); |
| 1302 | path.close(); |
| 1303 | SkPath pathB; |
| 1304 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1305 | pathB.moveTo(136, 14057); |
| 1306 | pathB.lineTo(778, 14057); |
| 1307 | pathB.lineTo(778, 14089); |
| 1308 | pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093); |
| 1309 | pathB.lineTo(140, 14093); |
| 1310 | pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089); |
| 1311 | pathB.lineTo(136, 14057); |
| 1312 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1313 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1314 | } |
| 1315 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1316 | static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1317 | SkPath path; |
| 1318 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1319 | path.moveTo(377.1716f, 5910.17139f); |
| 1320 | path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913); |
| 1321 | path.lineTo(376, 5972); |
| 1322 | path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976); |
| 1323 | path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972); |
| 1324 | path.lineTo(377, 5913); |
| 1325 | path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.87891f); |
| 1326 | path.lineTo(377.1716f, 5910.17139f); |
| 1327 | path.close(); |
| 1328 | SkPath pathB; |
| 1329 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1330 | pathB.moveTo(376, 5909); |
| 1331 | pathB.lineTo(378.481873f, 5909); |
| 1332 | pathB.lineTo(379.999878f, 5976); |
| 1333 | pathB.lineTo(376, 5976); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1334 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1335 | } |
| 1336 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1337 | static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filename) { |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1338 | SkPath path; |
| 1339 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1340 | path.moveTo(843, 216); |
| 1341 | path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211); |
| 1342 | path.lineTo(1191, 211); |
| 1343 | path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216); |
| 1344 | path.lineTo(1196, 779); |
| 1345 | path.cubicTo(1196, 781.761414f, 1193.76147f, 784, 1191, 784); |
| 1346 | path.lineTo(848, 784); |
| 1347 | path.cubicTo(845.238586f, 784, 843, 781.761414f, 843, 779); |
| 1348 | path.lineTo(843, 216); |
| 1349 | path.close(); |
| 1350 | path.moveTo(844, 217); |
| 1351 | path.cubicTo(844, 214.238571f, 846.238586f, 212, 849, 212); |
| 1352 | path.lineTo(1190, 212); |
| 1353 | path.cubicTo(1192.76147f, 212, 1195, 214.238571f, 1195, 217); |
| 1354 | path.lineTo(1195, 778); |
| 1355 | path.cubicTo(1195, 779.65686f, 1192.76147f, 781, 1190, 781); |
| 1356 | path.lineTo(849, 781); |
| 1357 | path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778); |
| 1358 | path.lineTo(844, 217); |
| 1359 | path.close(); |
| 1360 | SkPath pathB; |
| 1361 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1362 | pathB.moveTo(843, 784); |
| 1363 | pathB.lineTo(843, 779); |
| 1364 | pathB.lineTo(1196, 779.000061f); |
| 1365 | pathB.lineTo(1196, 784); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1366 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1367 | } |
| 1368 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1369 | static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1370 | SkPath path; |
| 1371 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1372 | path.moveTo(162, 468); |
| 1373 | path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); |
| 1374 | path.lineTo(158, 528); |
| 1375 | path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); |
| 1376 | path.lineTo(275, 532); |
| 1377 | path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528); |
| 1378 | path.lineTo(279, 472); |
| 1379 | path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468); |
| 1380 | path.lineTo(162, 468); |
| 1381 | path.close(); |
| 1382 | SkPath pathB; |
| 1383 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1384 | pathB.moveTo(275, 468); |
| 1385 | pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471); |
| 1386 | pathB.lineTo(278, 529); |
| 1387 | pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); |
| 1388 | pathB.lineTo(161, 532); |
| 1389 | pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); |
| 1390 | pathB.lineTo(158, 471); |
| 1391 | pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468); |
| 1392 | pathB.lineTo(275, 468); |
| 1393 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1394 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1395 | } |
| 1396 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1397 | static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1398 | SkPath path; |
| 1399 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1400 | path.moveTo(162, 468); |
| 1401 | path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472); |
| 1402 | path.lineTo(158, 528); |
| 1403 | path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532); |
| 1404 | path.lineTo(275.009186f, 532); |
| 1405 | path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529); |
| 1406 | path.lineTo(278, 471); |
| 1407 | path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468); |
| 1408 | path.lineTo(162, 468); |
| 1409 | path.close(); |
| 1410 | SkPath pathB; |
| 1411 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1412 | pathB.moveTo(161, 469); |
| 1413 | pathB.lineTo(275, 469); |
| 1414 | pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471); |
| 1415 | pathB.lineTo(278, 529); |
| 1416 | pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532); |
| 1417 | pathB.lineTo(161, 532); |
| 1418 | pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529); |
| 1419 | pathB.lineTo(158, 471); |
| 1420 | pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469); |
| 1421 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1422 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1423 | } |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1424 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1425 | static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1426 | SkPath path; |
| 1427 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1428 | path.moveTo(137.34314f, 145.34314f); |
| 1429 | path.quadTo(139.687088f, 143.000793f, 143, 143); |
| 1430 | path.lineTo(242, 143); |
| 1431 | path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f); |
| 1432 | path.quadTo(249.999207f, 147.687088f, 250, 151); |
| 1433 | path.lineTo(250, 177); |
| 1434 | path.lineTo(135, 177); |
| 1435 | path.lineTo(135, 151); |
| 1436 | path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f); |
| 1437 | path.close(); |
| 1438 | SkPath pathB; |
| 1439 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1440 | pathB.moveTo(135, 143); |
| 1441 | pathB.lineTo(250, 143); |
| 1442 | pathB.lineTo(250, 177); |
| 1443 | pathB.lineTo(135, 177); |
| 1444 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1445 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1446 | } |
| 1447 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1448 | static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1449 | SkPath path; |
| 1450 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1451 | path.moveTo(143, 143); |
| 1452 | path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f); |
| 1453 | path.quadTo(135.000793f, 147.687088f, 135, 151); |
| 1454 | path.lineTo(135, 177); |
| 1455 | path.lineTo(250, 177); |
| 1456 | path.lineTo(250, 151); |
| 1457 | path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f); |
| 1458 | path.quadTo(245.312912f, 143.000793f, 242, 143); |
| 1459 | path.lineTo(143, 143); |
| 1460 | path.close(); |
| 1461 | SkPath pathB; |
| 1462 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1463 | pathB.moveTo(143, 143); |
| 1464 | pathB.lineTo(242, 143); |
| 1465 | pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151); |
| 1466 | pathB.lineTo(249, 177); |
| 1467 | pathB.lineTo(135, 177); |
| 1468 | pathB.lineTo(135, 151); |
| 1469 | pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143); |
| 1470 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1471 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1472 | } |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1473 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1474 | static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1475 | SkPath path; |
| 1476 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1477 | path.moveTo(1001.87866f, 14.8786793f); |
| 1478 | path.quadTo(1002.75745f, 14.0001001f, 1004, 14); |
| 1479 | path.lineTo(1105, 14); |
| 1480 | path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); |
| 1481 | path.quadTo(1107.99988f, 15.7574596f, 1108, 17); |
| 1482 | path.lineTo(1108, 41); |
| 1483 | path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); |
| 1484 | path.quadTo(1106.24255f, 43.9999008f, 1105, 44); |
| 1485 | path.lineTo(1004, 44); |
| 1486 | path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f); |
| 1487 | path.quadTo(1001.00012f, 42.2425423f, 1001, 41); |
| 1488 | path.lineTo(1001, 17); |
| 1489 | path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f); |
| 1490 | path.close(); |
| 1491 | SkPath pathB; |
| 1492 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1493 | pathB.moveTo(1005, 16); |
| 1494 | pathB.lineTo(1104, 16); |
| 1495 | pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18); |
| 1496 | pathB.lineTo(1106, 40); |
| 1497 | pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42); |
| 1498 | pathB.lineTo(1005, 42); |
| 1499 | pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); |
| 1500 | pathB.lineTo(1003, 18); |
| 1501 | pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16); |
| 1502 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1503 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1504 | } |
| 1505 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1506 | static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1507 | SkPath path; |
| 1508 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1509 | path.moveTo(1001.87866f, 14.8786793f); |
| 1510 | path.quadTo(1002.75745f, 14.0001001f, 1004, 14); |
| 1511 | path.lineTo(1105, 14); |
| 1512 | path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f); |
| 1513 | path.quadTo(1107.99988f, 15.7574596f, 1108, 17); |
| 1514 | path.lineTo(1108, 41); |
| 1515 | path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f); |
| 1516 | path.quadTo(1106.24255f, 43.9999008f, 1105, 44); |
| 1517 | path.lineTo(1004, 44); |
| 1518 | path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f); |
| 1519 | path.quadTo(1001.00012f, 42.2425423f, 1001, 41); |
| 1520 | path.lineTo(1001, 17); |
| 1521 | path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f); |
| 1522 | path.close(); |
| 1523 | path.moveTo(1003, 18); |
| 1524 | path.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16); |
| 1525 | path.lineTo(1104, 16); |
| 1526 | path.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18); |
| 1527 | path.lineTo(1106, 40); |
| 1528 | path.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42); |
| 1529 | path.lineTo(1005, 42); |
| 1530 | path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40); |
| 1531 | path.lineTo(1003, 18); |
| 1532 | path.close(); |
| 1533 | SkPath pathB; |
| 1534 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1535 | pathB.moveTo(1108, 14); |
| 1536 | pathB.lineTo(1106, 16); |
| 1537 | pathB.lineTo(1105.97998f, 46.0200005f); |
| 1538 | pathB.lineTo(1108, 44); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1539 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | f54ad6f | 2013-11-02 07:02:02 +0000 | [diff] [blame] | 1540 | } |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 1541 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1542 | static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | ed00084 | 2013-11-09 07:02:23 +0000 | [diff] [blame] | 1543 | SkPath path; |
| 1544 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1545 | path.moveTo(0, 994); |
| 1546 | path.lineTo(0, 0); |
| 1547 | path.lineTo(512, 0); |
| 1548 | path.lineTo(512, 994); |
| 1549 | path.lineTo(0, 994); |
| 1550 | path.close(); |
| 1551 | SkPath pathB; |
| 1552 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1553 | pathB.moveTo(-317, 168); |
| 1554 | pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f); |
| 1555 | pathB.quadTo(-315.242645f, 165, -314, 165); |
| 1556 | pathB.lineTo(320, 165); |
| 1557 | pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f); |
| 1558 | pathB.quadTo(323, 166.757385f, 323, 168); |
| 1559 | pathB.lineTo(323, 193); |
| 1560 | pathB.lineTo(-317, 193); |
| 1561 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1562 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | ed00084 | 2013-11-09 07:02:23 +0000 | [diff] [blame] | 1563 | } |
| 1564 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1565 | static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) { |
skia.committer@gmail.com | ed00084 | 2013-11-09 07:02:23 +0000 | [diff] [blame] | 1566 | SkPath path; |
| 1567 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1568 | path.moveTo(0, 193); |
| 1569 | path.lineTo(323, 193); |
| 1570 | path.lineTo(323, 168); |
| 1571 | path.quadTo(323, 166.757385f, 322.121338f, 165.878662f); |
| 1572 | path.quadTo(321.242615f, 165, 320, 165); |
| 1573 | path.lineTo(0, 165); |
| 1574 | path.lineTo(0, 193); |
| 1575 | path.close(); |
| 1576 | SkPath pathB; |
| 1577 | pathB.setFillType(SkPath::kInverseWinding_FillType); |
| 1578 | pathB.moveTo(-314, 165); |
| 1579 | pathB.lineTo(320, 165); |
| 1580 | pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168); |
| 1581 | pathB.lineTo(323, 192); |
| 1582 | pathB.lineTo(-317, 192); |
| 1583 | pathB.lineTo(-317, 168); |
| 1584 | pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165); |
| 1585 | pathB.close(); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1586 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
skia.committer@gmail.com | ed00084 | 2013-11-09 07:02:23 +0000 | [diff] [blame] | 1587 | } |
caryclark@google.com | 1510726 | 2013-11-08 18:00:01 +0000 | [diff] [blame] | 1588 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 1589 | /* Three edges are partially coincident. Only one of the three knows about the other two. |
| 1590 | Subsequently, when the angle loop is created, it misses one of the edges. |
| 1591 | After coincident edges are processed, probably need a check-and-correct that makes sure the |
| 1592 | coincidences are all self-consistent. |
| 1593 | */ |
| 1594 | static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename) { |
| 1595 | SkPath path; |
| 1596 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1597 | path.moveTo(183, 8507); |
| 1598 | path.lineTo(552, 8506.99023f); |
| 1599 | path.lineTo(552, 8508); |
| 1600 | path.lineTo(183, 8508); |
| 1601 | path.lineTo(183, 8507); |
| 1602 | path.close(); |
| 1603 | SkPath pathB; |
| 1604 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1605 | pathB.moveTo(183, 8508); |
| 1606 | pathB.lineTo(183, 8506.99023f); |
| 1607 | pathB.lineTo(552, 8507); |
| 1608 | pathB.lineTo(552, 8508); |
| 1609 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1610 | } |
| 1611 | |
| 1612 | /* this generates a pair of lines that are essentially coincident; but the next line at a right |
| 1613 | angle is not treated as if it intersects at the same point. |
| 1614 | There are several of options: |
| 1615 | move the intersection of the right angle line to the coincident point (should 'near' do this? |
| 1616 | construct another coincident pair from the right angle line to the coincident point |
| 1617 | treat the intersection as simple and not coincident |
| 1618 | */ |
| 1619 | static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filename) { |
| 1620 | SkPath path; |
| 1621 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1622 | path.moveTo(140, 1000); |
| 1623 | path.lineTo(140, 842); |
| 1624 | path.lineTo(141, 842); |
| 1625 | path.lineTo(141.14502f, 1000); |
| 1626 | path.lineTo(140, 1000); |
| 1627 | path.close(); |
| 1628 | SkPath pathB; |
| 1629 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1630 | pathB.moveTo(140, 842); |
| 1631 | pathB.lineTo(141.008835f, 837.9646f); |
| 1632 | pathB.lineTo(141.235291f, 1109.05884f); |
| 1633 | pathB.lineTo(140, 1114); |
| 1634 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1635 | } |
| 1636 | |
| 1637 | // fails on angle insert -- haven't investigated yet |
| 1638 | static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* filename) { |
| 1639 | SkPath path; |
| 1640 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1641 | path.moveTo(134.34314f, 9802.34277f); |
| 1642 | path.quadTo(132, 9804.68652f, 132, 9808); |
| 1643 | path.lineTo(132, 9822); |
| 1644 | path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f); |
| 1645 | path.quadTo(136.686295f, 9830, 140, 9830); |
| 1646 | path.lineTo(140.028473f, 9830); |
| 1647 | path.lineTo(139.877213f, 9828.90723f); |
| 1648 | path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f); |
| 1649 | path.quadTo(134, 9824.31348f, 134, 9821); |
| 1650 | path.lineTo(134, 9809); |
| 1651 | path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f); |
| 1652 | path.lineTo(134.34314f, 9802.34277f); |
| 1653 | path.close(); |
| 1654 | SkPath pathB; |
| 1655 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1656 | pathB.moveTo(132, 9800); |
| 1657 | pathB.lineTo(135.962357f, 9800); |
| 1658 | pathB.lineTo(140, 9830); |
| 1659 | pathB.lineTo(132, 9830); |
| 1660 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1661 | } |
| 1662 | |
| 1663 | /* asserts in alignSpanState looks like a coincident related bug */ |
| 1664 | static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* filename) { |
| 1665 | SkPath path; |
| 1666 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1667 | path.moveTo(817.464478f, 11.4644661f); |
| 1668 | path.quadTo(818.928955f, 10, 821, 10); |
| 1669 | path.lineTo(998, 10); |
| 1670 | path.quadTo(999.082947f, 10, 1000, 10.4003992f); |
| 1671 | path.lineTo(1000, 13.3527431f); |
| 1672 | path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f); |
| 1673 | path.quadTo(998.65686f, 12, 997, 12); |
| 1674 | path.lineTo(822, 12); |
| 1675 | path.quadTo(820.34314f, 12, 819.17157f, 13.1715727f); |
| 1676 | path.quadTo(818, 14.3431454f, 818, 16); |
| 1677 | path.lineTo(818, 28); |
| 1678 | path.quadTo(818, 29.6568546f, 819.17157f, 30.8284264f); |
| 1679 | path.quadTo(820.34314f, 32, 822, 32); |
| 1680 | path.lineTo(997, 32); |
| 1681 | path.quadTo(998.65686f, 32, 999.82843f, 30.8284264f); |
| 1682 | path.quadTo(999.917603f, 30.7392426f, 1000, 30.6472569f); |
| 1683 | path.lineTo(1000, 33.5996017f); |
| 1684 | path.quadTo(999.082947f, 34, 998, 34); |
| 1685 | path.lineTo(821, 34); |
| 1686 | path.quadTo(818.928955f, 34, 817.464478f, 32.5355339f); |
| 1687 | path.quadTo(816, 31.0710678f, 816, 29); |
| 1688 | path.lineTo(816, 15); |
| 1689 | path.quadTo(816, 12.9289322f, 817.464478f, 11.4644661f); |
| 1690 | path.close(); |
| 1691 | SkPath pathB; |
| 1692 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1693 | pathB.moveTo(1003, 10); |
| 1694 | pathB.lineTo(1000, 13); |
| 1695 | pathB.lineTo(999.969971f, 37.0299988f); |
| 1696 | pathB.lineTo(1003, 34); |
| 1697 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1698 | } |
| 1699 | |
| 1700 | // fails on angle insert |
| 1701 | static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* filename) { |
| 1702 | SkPath path; |
| 1703 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1704 | path.moveTo(966.464478f, 4261.46436f); |
| 1705 | path.quadTo(965, 4262.92871f, 965, 4265); |
| 1706 | path.lineTo(965, 4276); |
| 1707 | path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f); |
| 1708 | path.quadTo(967.928955f, 4281, 970, 4281); |
| 1709 | path.lineTo(970.020325f, 4281); |
| 1710 | path.lineTo(969.887512f, 4279.81641f); |
| 1711 | path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f); |
| 1712 | path.quadTo(967, 4277.07129f, 967, 4275); |
| 1713 | path.lineTo(967, 4266); |
| 1714 | path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f); |
| 1715 | path.lineTo(968, 4263); |
| 1716 | path.lineTo(966.464478f, 4261.46436f); |
| 1717 | path.close(); |
| 1718 | SkPath pathB; |
| 1719 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1720 | pathB.moveTo(965, 4260); |
| 1721 | pathB.lineTo(967.716675f, 4260); |
| 1722 | pathB.lineTo(970, 4281); |
| 1723 | pathB.lineTo(965, 4281); |
| 1724 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1725 | } |
| 1726 | |
| 1727 | // fails in intersections insert |
| 1728 | static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const char* filename) { |
| 1729 | SkPath path; |
| 1730 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 1731 | path.moveTo(991.633911f, 1839); |
| 1732 | path.lineTo(964.265015f, 1839); |
| 1733 | path.lineTo(963.734985f, 1893.73242f); |
| 1734 | path.lineTo(991.3703f, 1894); |
| 1735 | path.lineTo(1018.23492f, 1894); |
| 1736 | path.lineTo(1018.76501f, 1839.2627f); |
| 1737 | path.lineTo(991.638184f, 1839); |
| 1738 | path.lineTo(991.633911f, 1839); |
| 1739 | path.close(); |
| 1740 | SkPath pathB; |
| 1741 | pathB.setFillType(SkPath::kWinding_FillType); |
| 1742 | pathB.moveTo(964.267578f, 1838.73499f); |
| 1743 | pathB.lineTo(1019.26501f, 1839.26758f); |
| 1744 | pathB.lineTo(1018.73242f, 1894.26501f); |
| 1745 | pathB.lineTo(963.734985f, 1893.73242f); |
| 1746 | pathB.close(); |
| 1747 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 1748 | } |
| 1749 | |
commit-bot@chromium.org | 8cb1daa | 2014-04-25 12:59:11 +0000 | [diff] [blame] | 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 - oStartT) |
| 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, const 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) at ../../include/core/SkTDArray.h:125 |
| 1816 | #1 0x00000000005ad2ce in SkOpSegment::tAtMid (this=0x0, start=2, end=5, mid=0.90000000000000002) at ../../src/pathops/SkOpSegment.h:219 |
| 1817 | #2 0x00000000005aadea in contourRangeCheckY (contourList=..., currentPtr=0x7fffd77f4ec0, indexPtr=0x7fffd77f4f88, endIndexPtr=0x7fffd77f4f8c, bestHit=0x7fffd77f4ec8, |
| 1818 | bestDx=0x7fffd77f4edc, tryAgain=0x7fffd77f4eff, midPtr=0x7fffd77f4e60, opp=false) at ../../src/pathops/SkPathOpsCommon.cpp:20 |
| 1819 | #3 0x00000000005ab8ee in rightAngleWinding (contourList=..., current=0x7fffd77f4ec0, 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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(endT - startT)); |
| 1922 | static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const char* 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* filename) { |
| 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 char* 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* filename) { |
| 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* filename) { |
| 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, const 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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.304871f, 45.7851906f); |
| 2372 | pathB.cubicTo(435.631104f, 46.1651154f, 435.156006f, 45.8026352f, 434.957306f, 45.6384506f); |
| 2373 | pathB.cubicTo(434.758636f, 45.4742737f, 431.460999f, 42.0105858f, 430.916901f, 41.4664841f); |
| 2374 | pathB.cubicTo(430.372803f, 40.9223785f, 429.731628f, 41.3303604f, 429.375214f, 41.6996689f); |
| 2375 | pathB.cubicTo(429.375214f, 41.6996689f, 420.610016f, 50.5190887f, 419.918793f, 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.619568f, 58.4660416f); |
| 2378 | pathB.cubicTo(426.068512f, 58.9153557f, 426.137878f, 59.2952805f, 426.137878f, 59.8136024f); |
| 2379 | pathB.cubicTo(426.137878f, 60.3319244f, 426.103394f, 103.141357f, 426.103394f, 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.996918f, 104.17762f); |
| 2383 | pathB.cubicTo(441.996918f, 103.452271f, 441.996918f, 89.5622559f, 441.996918f, 87.8002701f); |
| 2384 | pathB.cubicTo(441.996918f, 86.0382843f, 442.342712f, 86.2453079f, 442.826141f, 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.202545f, 64.7890244f); |
| 2390 | pathB.cubicTo(441.202545f, 60.5525932f, 444.636658f, 57.1184845f, 448.873108f, 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.263123f, 40.3923073f); |
| 2396 | pathB.cubicTo(493.681122f, 39.4462852f, 493.244324f, 39.5918846f, 492.807495f, 40.3195038f); |
| 2397 | pathB.cubicTo(492.515167f, 40.8071136f, 467.238037f, 81.6790085f, 466.528625f, 82.8373566f); |
| 2398 | pathB.cubicTo(465.819183f, 83.9945831f, 466.497528f, 84.2975311f, 466.904358f, 84.5792542f); |
| 2399 | pathB.cubicTo(466.904358f, 84.5792542f, 477.399689f, 91.2036743f, 478.235748f, 91.6981049f); |
| 2400 | pathB.cubicTo(479.071838f, 92.1929092f, 479.396393f, 91.9028473f, 479.669403f, 91.5104141f); |
| 2401 | pathB.cubicTo(479.942383f, 91.1175995f, 484.106384f, 84.1549606f, 484.481781f, 83.5570221f); |
| 2402 | pathB.cubicTo(484.857147f, 82.9602051f, 485.198792f, 82.8741379f, 485.966583f, 82.8741379f); |
| 2403 | pathB.cubicTo(486.734406f, 82.8741379f, 499.635925f, 82.8062668f, 500.830322f, 82.8062668f); |
| 2404 | pathB.cubicTo(502.024658f, 82.8062668f, 502.229797f, 83.4038391f, 502.400452f, 83.6427078f); |
| 2405 | pathB.cubicTo(502.571045f, 83.8815842f, 506.615631f, 90.7414703f, 506.990997f, 91.2870865f); |
| 2406 | pathB.cubicTo(507.651123f, 92.2475128f, 508.017395f, 92.1333847f, 508.672241f, 91.6962051f); |
| 2407 | pathB.cubicTo(509.327423f, 91.2597809f, 519.442444f, 85.0744324f, 520.243286f, 84.4920349f); |
| 2408 | pathB.cubicTo(521.042908f, 83.9100189f, 520.751709f, 83.4004211f, 520.242859f, 82.5275803f); |
| 2409 | pathB.close(); |
| 2410 | pathB.moveTo(493.720551f, 72.4811783f); |
| 2411 | pathB.cubicTo(491.265442f, 72.4811783f, 489.275574f, 70.4905548f, 489.275574f, 68.0362091f); |
| 2412 | pathB.cubicTo(489.275574f, 65.5811005f, 491.265808f, 63.5912399f, 493.720551f, 63.5912399f); |
| 2413 | pathB.cubicTo(496.175262f, 63.5912399f, 498.165527f, 65.5814819f, 498.165527f, 68.0362091f); |
| 2414 | pathB.cubicTo(498.165894f, 70.4905548f, 496.175659f, 72.4811783f, 493.720551f, 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.881042f, 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.384277f, 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.975525f, 57.8396568f); |
| 2424 | pathB.cubicTo(543.401978f, 57.9340706f, 538.742798f, 59.5709305f, 538.774658f, 64.6070251f); |
| 2425 | pathB.cubicTo(538.806458f, 69.6431122f, 538.806091f, 86.2631226f, 538.806091f, 86.9554901f); |
| 2426 | pathB.cubicTo(538.806091f, 87.6478424f, 538.585815f, 88.4349976f, 537.484314f, 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.910706f, 86.8606949f); |
| 2429 | pathB.cubicTo(522.910706f, 85.3823242f, 522.910706f, 60.6094704f, 522.910706f, 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.938843f, 42.2263336f); |
| 2438 | pathB.cubicTo(553.096191f, 42.2263336f, 553.725586f, 41.8801537f, 553.662598f, 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.859009f, 29.1951332f); |
| 2442 | pathB.cubicTo(569.180786f, 29.1951332f, 569.463623f, 30.1711082f, 569.463623f, 30.7690544f); |
| 2443 | pathB.cubicTo(569.463623f, 31.3670006f, 569.463623f, 40.2122002f, 569.463623f, 41.0619125f); |
| 2444 | pathB.cubicTo(569.463623f, 41.9116249f, 569.746887f, 42.3207474f, 570.659912f, 42.3207474f); |
| 2445 | pathB.cubicTo(571.572571f, 42.3207474f, 575.507568f, 42.2263336f, 576.199951f, 42.2263336f); |
| 2446 | pathB.cubicTo(576.892273f, 42.2263336f, 577.742004f, 42.5725098f, 577.742004f, 43.8631973f); |
| 2447 | pathB.cubicTo(577.742004f, 45.1538811f, 577.742004f, 55.8877106f, 577.742004f, 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.471069f, 58.0595779f); |
| 2450 | pathB.cubicTo(569.999023f, 58.0595779f, 569.479919f, 57.8389015f, 569.479919f, 59.0510979f); |
| 2451 | pathB.cubicTo(569.479919f, 60.2629128f, 569.479919f, 66.2124176f, 569.479919f, 67.1880188f); |
| 2452 | pathB.cubicTo(569.479919f, 68.1636047f, 570.628418f, 73.6406708f, 575.917053f, 73.6406708f); |
| 2453 | pathB.cubicTo(577.018921f, 73.6406708f, 577.742737f, 73.9242859f, 577.742737f, 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.295044f, 89.4416809f); |
| 2456 | pathB.cubicTo(574.028809f, 89.6312714f, 553.978088f, 88.0254974f, 553.631897f, 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.703735f, 58.0436554f); |
| 2459 | pathB.cubicTo(552.372681f, 58.0436554f, 551.522949f, 58.0436554f, 551.208252f, 58.0436554f); |
| 2460 | pathB.cubicTo(550.893921f, 58.0436554f, 550.170105f, 58.0906677f, 550.170105f, 56.6115417f); |
| 2461 | pathB.cubicTo(550.170105f, 55.1324081f, 550.169006f, 43.7373123f, 550.169006f, 43.7373123f); |
| 2462 | pathB.close(); |
| 2463 | pathB.moveTo(611.203857f, 39.5509338f); |
| 2464 | pathB.cubicTo(612.084961f, 39.5509338f, 612.620422f, 40.0544662f, 612.620422f, 40.8097687f); |
| 2465 | pathB.cubicTo(612.620422f, 41.5650673f, 612.620422f, 53.1486092f, 612.620422f, 53.6839905f); |
| 2466 | pathB.cubicTo(612.620422f, 54.2193718f, 612.651489f, 55.2264404f, 611.612976f, 55.2264404f); |
| 2467 | pathB.cubicTo(610.574463f, 55.2264404f, 604.404663f, 55.9817429f, 604.404663f, 61.899395f); |
| 2468 | pathB.cubicTo(604.404663f, 65.4878235f, 604.373169f, 66.6211548f, 604.373169f, 67.5338135f); |
| 2469 | pathB.cubicTo(604.373169f, 68.0684357f, 604.414124f, 74.3353043f, 599.934631f, 80.4702148f); |
| 2470 | pathB.cubicTo(596.765564f, 84.8109131f, 590.664368f, 89.3942871f, 582.150208f, 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.198975f, 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.603271f, 61.0496788f); |
| 2476 | pathB.cubicTo(588.603271f, 60.2314377f, 588.666565f, 54.3137856f, 593.230591f, 48.3961296f); |
| 2477 | pathB.cubicTo(597.794617f, 42.4784775f, 604.814087f, 39.5509338f, 611.203857f, 39.5509338f); |
| 2478 | pathB.close(); |
| 2479 | pathB.moveTo(635.22937f, 81.9311447f); |
| 2480 | pathB.cubicTo(635.057617f, 81.6475296f, 634.869141f, 81.3851471f, 634.664429f, 81.1439972f); |
| 2481 | pathB.lineTo(635.039001f, 81.0385895f); |
| 2482 | pathB.cubicTo(635.447754f, 80.9233246f, 635.729858f, 80.5509796f, 635.729858f, 80.1263123f); |
| 2483 | pathB.lineTo(635.729858f, 78.6149597f); |
| 2484 | pathB.cubicTo(635.729858f, 78.3309631f, 635.602417f, 78.0617523f, 635.382935f, 77.8816452f); |
| 2485 | pathB.cubicTo(635.162598f, 77.7015381f, 634.873291f, 77.6295013f, 634.595764f, 77.6852341f); |
| 2486 | pathB.cubicTo(633.906799f, 77.8232498f, 633.194397f, 77.9017334f, 632.478149f, 77.9191818f); |
| 2487 | pathB.cubicTo(631.714844f, 77.9373779f, 630.851501f, 77.9464874f, 629.911133f, 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.657776f, 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.701477f, 89.4348602f); |
| 2496 | pathB.cubicTo(623.116516f, 90.7225037f, 625.163269f, 91.3754272f, 627.784058f, 91.3754272f); |
| 2497 | pathB.cubicTo(630.525024f, 91.3754272f, 632.517944f, 90.8669662f, 633.876099f, 89.8208466f); |
| 2498 | pathB.cubicTo(635.291565f, 88.7314987f, 636.009705f, 87.0798492f, 636.009705f, 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.737854f, 86.9903717f); |
| 2504 | pathB.cubicTo(629.146362f, 87.1003265f, 628.488892f, 87.1564484f, 627.783997f, 87.1564484f); |
| 2505 | pathB.cubicTo(626.159668f, 87.1564484f, 624.996399f, 86.8656235f, 624.327881f, 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.522583f, 82.5215149f); |
| 2508 | pathB.cubicTo(623.563477f, 82.3645325f, 623.616943f, 82.2189331f, 623.684448f, 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.154663f, 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.093994f, 68.1620941f); |
| 2516 | pathB.cubicTo(634.940796f, 67.8856812f, 634.770569f, 67.6316376f, 634.586304f, 67.4026184f); |
| 2517 | pathB.lineTo(635.054565f, 67.2619476f); |
| 2518 | pathB.cubicTo(635.455322f, 67.1417542f, 635.729858f, 66.7724457f, 635.729858f, 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.521057f, 63.7906761f); |
| 2522 | pathB.cubicTo(634.059998f, 63.9226265f, 633.544678f, 64.0155258f, 632.988831f, 64.0659485f); |
| 2523 | pathB.cubicTo(631.578735f, 64.1941071f, 629.921387f, 64.1565704f, 628.141968f, 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.116089f, 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.031189f, 66.6548996f); |
| 2528 | pathB.cubicTo(619.712708f, 67.3722839f, 619.557983f, 68.2625656f, 619.557983f, 69.3769379f); |
| 2529 | pathB.cubicTo(619.557983f, 70.4655304f, 619.669128f, 71.5268097f, 619.887878f, 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.370728f, 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.663574f, 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.967041f, 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.424438f, 75.9528198f); |
| 2546 | pathB.cubicTo(629.123596f, 76.3790054f, 629.981628f, 76.5951309f, 630.975464f, 76.5951309f); |
| 2547 | pathB.cubicTo(631.722046f, 76.5951309f, 632.406799f, 76.4597626f, 633.009644f, 76.1924591f); |
| 2548 | pathB.cubicTo(633.611816f, 75.9262848f, 634.136536f, 75.5543213f, 634.567688f, 75.0875626f); |
| 2549 | pathB.cubicTo(634.998779f, 74.6223297f, 635.333191f, 74.0672302f, 635.561096f, 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.667664f, 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.190247f, 72.2127228f); |
| 2556 | pathB.cubicTo(630.002197f, 72.0587845f, 629.853149f, 71.8483429f, 629.735596f, 71.5704193f); |
| 2557 | pathB.cubicTo(629.594177f, 71.2348557f, 629.494507f, 70.8310394f, 629.439453f, 70.3714905f); |
| 2558 | pathB.cubicTo(629.379211f, 69.8607559f, 629.348511f, 69.3284073f, 629.348511f, 68.7892303f); |
| 2559 | pathB.cubicTo(629.348511f, 68.5765228f, 629.351929f, 68.3603973f, 629.357971f, 68.1416168f); |
| 2560 | pathB.lineTo(630.581177f, 68.1416168f); |
| 2561 | pathB.cubicTo(630.702515f, 68.2026672f, 630.831787f, 68.2841797f, 630.967163f, 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.656494f, 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.782104f, 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.047913f, 60.6257744f); |
| 2573 | pathB.lineTo(616.404114f, 58.3864136f); |
| 2574 | pathB.cubicTo(616.321411f, 58.1001472f, 616.378662f, 57.7922592f, 616.557678f, 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.730042f, 53.3692818f); |
| 2579 | pathB.lineTo(622.689575f, 53.3692818f); |
| 2580 | pathB.cubicTo(623.213196f, 53.3692818f, 623.637512f, 53.7935715f, 623.637512f, 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.009888f, 56.9493713f); |
| 2584 | pathB.cubicTo(632.057617f, 56.9205589f, 632.154724f, 56.8621674f, 632.154724f, 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.274536f, 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, 55.0956268f); |
| 2592 | pathB.cubicTo(635.925537f, 55.7656174f, 636.010498f, 56.4928589f, 636.010498f, 57.2565002f); |
| 2593 | pathB.cubicTo(636.010498f, 58.7109833f, 635.553589f, 59.7790947f, 634.653076f, 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.093994f, 44.7887421f); |
| 2601 | pathB.cubicTo(634.940796f, 44.5123291f, 634.770569f, 44.2582855f, 634.586304f, 44.029274f); |
| 2602 | pathB.lineTo(635.054565f, 43.8886032f); |
| 2603 | pathB.cubicTo(635.455322f, 43.7684059f, 635.729858f, 43.3990974f, 635.729858f, 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.521057f, 40.4173279f); |
| 2607 | pathB.cubicTo(634.059998f, 40.5492783f, 633.544678f, 40.6421738f, 632.988831f, 40.6926041f); |
| 2608 | pathB.cubicTo(631.578735f, 40.8207626f, 629.921387f, 40.7836075f, 628.141968f, 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.116089f, 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.557983f, 46.0035934f); |
| 2614 | pathB.cubicTo(619.557983f, 47.0921783f, 619.669128f, 48.1534653f, 619.887878f, 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.124939f, 52.311409f); |
| 2617 | pathB.lineTo(623.832336f, 51.6118431f); |
| 2618 | pathB.cubicTo(624.086365f, 51.5075722f, 624.282776f, 51.2982712f, 624.370728f, 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.947205f, 49.5025406f); |
| 2621 | pathB.cubicTo(623.836853f, 49.1969299f, 623.741333f, 48.8674355f, 623.663574f, 48.5235291f); |
| 2622 | pathB.cubicTo(623.584717f, 48.1765938f, 623.522217f, 47.8285179f, 623.477417f, 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.424438f, 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.567688f, 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.667664f, 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.190247f, 48.8393784f); |
| 2641 | pathB.cubicTo(630.002197f, 48.6854401f, 629.853149f, 48.4749985f, 629.735596f, 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.348511f, 45.4158859f); |
| 2644 | pathB.cubicTo(629.348511f, 45.2031708f, 629.351929f, 44.9870453f, 629.357971f, 44.7682648f); |
| 2645 | pathB.lineTo(630.581177f, 44.7682648f); |
| 2646 | pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163f, 45.0124512f); |
| 2647 | pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225f, 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* filename) { |
| 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, const 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* filename) { |
| 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* filename) { |
| 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* filename) { |
| 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 char* 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 | |
commit-bot@chromium.org | 91fc81c | 2014-04-30 13:37:48 +0000 | [diff] [blame] | 2965 | // checkSmall / addTPair / addT assert |
| 2966 | #if TRY_NEW_TESTS |
| 2967 | static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* filename) { |
| 2968 | SkPath path; |
| 2969 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 2970 | path.moveTo(960, 306); |
| 2971 | path.lineTo(960, 305); |
| 2972 | path.lineTo(1000, 305); |
| 2973 | path.lineTo(1000, 306.708527f); |
| 2974 | path.lineTo(960, 306); |
| 2975 | path.close(); |
| 2976 | SkPath pathB; |
| 2977 | pathB.setFillType(SkPath::kWinding_FillType); |
| 2978 | pathB.moveTo(960, 305); |
| 2979 | pathB.lineTo(958.997253f, 306.002747f); |
| 2980 | pathB.lineTo(1017, 307); |
| 2981 | pathB.lineTo(1019, 305); |
| 2982 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 2983 | } |
| 2984 | #endif |
| 2985 | |
| 2986 | // rightAngleWinding |
| 2987 | #if TRY_NEW_TESTS |
| 2988 | static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* reporter, const char* filename) { |
| 2989 | SkPath path; |
| 2990 | path.setFillType(SkPath::kEvenOdd_FillType); |
| 2991 | path.moveTo(47.1666679f, 19651.334f); |
| 2992 | path.lineTo(65.8333359f, 19651.332f); |
| 2993 | path.lineTo(65.8333359f, 19651.5f); |
| 2994 | path.lineTo(47.1666679f, 19651.5f); |
| 2995 | path.lineTo(47.1666679f, 19651.334f); |
| 2996 | path.close(); |
| 2997 | SkPath pathB; |
| 2998 | pathB.setFillType(SkPath::kWinding_FillType); |
| 2999 | pathB.moveTo(47.1666679f, 19651.5f); |
| 3000 | pathB.lineTo(47.1666679f, 19651.332f); |
| 3001 | pathB.lineTo(65.8333359f, 19651.334f); |
| 3002 | pathB.lineTo(65.8333359f, 19651.5f); |
| 3003 | testPathOp(reporter, path, pathB, kIntersect_PathOp, filename); |
| 3004 | } |
| 3005 | #endif |
| 3006 | |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 3007 | static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3008 | |
| 3009 | static struct TestDesc tests[] = { |
commit-bot@chromium.org | 91fc81c | 2014-04-30 13:37:48 +0000 | [diff] [blame] | 3010 | #if TRY_NEW_TESTS |
| 3011 | TEST(skpwww_kitcheninspirations_wordpress_com_32), // rightanglewinding |
| 3012 | #endif |
| 3013 | #if TRY_NEW_TESTS |
| 3014 | TEST(skpwww_uniquefx_net_442), // checkSmall / addTPair / addT assert |
| 3015 | #endif |
commit-bot@chromium.org | 8cb1daa | 2014-04-25 12:59:11 +0000 | [diff] [blame] | 3016 | TEST(skpwww_defense_studies_blogspot_com_64), |
| 3017 | TEST(skpwww_kenlevine_blogspot_com_28), |
| 3018 | TEST(skpwww_fashionscandal_com_94), |
| 3019 | #if TRY_NEW_TESTS |
| 3020 | TEST(skpwww_thaienews_blogspot_com_36), // completes but fails to produce correct output |
| 3021 | #endif |
| 3022 | TEST(skpwww_galaxystwo_com_4), |
| 3023 | TEST(skpwww_catingueiraonline_com_352), |
| 3024 | TEST(skpwww_evolvehq_com_210), |
| 3025 | TEST(skpwww_odia_com_br_26), // asserts expecting isClosed |
| 3026 | TEST(skpwww_wartepop_blogspot_com_br_6), // asserts expecting isClosed |
| 3027 | TEST(skpwww_lokado_de_173), |
| 3028 | TEST(skpwww_seopack_blogspot_com_2153), |
| 3029 | TEST(skpwww_partsdata_de_53), |
| 3030 | TEST(skpwww_simplysaru_com_40), |
| 3031 | TEST(skpwww_jessicaslens_wordpress_com_222), |
| 3032 | #if TRY_NEW_TESTS |
| 3033 | TEST(skpwww_artblart_com_8), // rightanglewinding |
| 3034 | #endif |
| 3035 | TEST(skpwww_kpopexplorer_net_22), |
| 3036 | #if TRY_NEW_TESTS |
| 3037 | TEST(skpwww_docgelo_com_66), // rightanglewinding |
| 3038 | #endif |
| 3039 | #if TRY_NEW_TESTS // nearly coincident curves -- maybe angle is written before coincidence detected? |
| 3040 | TEST(skpwww_tunero_de_24), // has both winding and oppWinding set to zero in markWinding |
| 3041 | #endif |
| 3042 | TEST(skpwww_karnivool_com_au_11), |
| 3043 | TEST(skpwww_pindosiya_com_99), |
| 3044 | TEST(skpwww_contextualnewsfeeds_com_346), // asserts expecting isClosed |
| 3045 | TEST(skpwww_cooksnaps_com_32), // asserts expecting isClosed |
| 3046 | #if TRY_NEW_TESTS_IS_CLOSED |
| 3047 | TEST(skpwww_helha_be_109), // asserts expecting isClosed |
| 3048 | TEST(skpwww_phototransferapp_com_24), // asserts expecting isClosed |
| 3049 | #endif |
| 3050 | #if TRY_NEW_TESTS |
| 3051 | TEST(skpwww_gruposejaumdivulgador_com_br_4), // span already marked done is futher marked coin |
| 3052 | #endif |
| 3053 | TEST(skpwww_hubbyscook_com_22), |
| 3054 | #if TRY_NEW_TESTS |
| 3055 | TEST(skpwww_argus_presse_fr_41), // rightanglewinding |
| 3056 | #endif |
| 3057 | TEST(skpwww_maturesupertube_com_21), |
| 3058 | TEST(skpwww_getgold_jp_731), |
| 3059 | TEST(skpwww_trashness_com_36), |
| 3060 | TEST(skpwww_exystence_net_61), |
| 3061 | TEST(skpwww_320kbps_net_2231), |
| 3062 | TEST(skpwww_heartiste_wordpress_com_86), |
| 3063 | TEST(skpwww_hairjobsearch_com_31), |
| 3064 | TEST(skpwww_alucinados_net_101), |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 3065 | TEST(skpnamecheap_com_405), |
| 3066 | TEST(skpelpais_com_18), |
| 3067 | TEST(skpwww_cityads_ru_249), |
| 3068 | TEST(skpwww_alrakoba_net_62), |
| 3069 | TEST(skpwww_dealnews_com_315), |
| 3070 | TEST(skpwww_inmotionhosting_com_9), |
caryclark@google.com | 1510726 | 2013-11-08 18:00:01 +0000 | [diff] [blame] | 3071 | TEST(skpskpicture14), |
caryclark@google.com | 1510726 | 2013-11-08 18:00:01 +0000 | [diff] [blame] | 3072 | TEST(skpskpicture15), |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 3073 | TEST(skpwww_meb_gov_tr_6), |
| 3074 | TEST(skpwww_sciality_com_101), |
| 3075 | TEST(skpwww_booking_com_68), // similar to lavoixdunord |
| 3076 | TEST(skpwww_despegar_com_mx_272), // similar to lavoixdunord |
| 3077 | TEST(skpwww_lavoixdunord_fr_11), // not quite coincident, sorting line/cubic fails |
| 3078 | TEST(skppptv_com_62), // cubic have nearly identical tangents, sort incorrectly |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3079 | TEST(skppchappy_com_au102), |
| 3080 | TEST(skpsciality_com161), |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3081 | TEST(skpi_gino_com16), |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 3082 | TEST(skpnaoxrane_ru23), // see test for failure evaluation |
| 3083 | TEST(skptcmevents_org23), // see test for (partial) failure evaluation |
| 3084 | TEST(skpredbullskatearcade_es16), // cubic have nearly identical tangents, sort incorrectly |
| 3085 | TEST(skpfinanzasdigital_com9), // cubic/quad tangents too close to sort |
caryclark@google.com | a2bbc6e | 2013-11-01 17:36:03 +0000 | [diff] [blame] | 3086 | TEST(skpgithub_io_26), |
| 3087 | TEST(skpgithub_io_25), |
| 3088 | TEST(skpwww_meb_gov_tr_5), |
| 3089 | TEST(skpwww_sciality_com_100), |
| 3090 | TEST(skpwww_joomla_org_23), |
| 3091 | TEST(skpwww_macrumors_com_131), |
| 3092 | TEST(skpwww_briian_com_34), |
| 3093 | TEST(skpwww_leadpages_net_84), |
| 3094 | TEST(skpwww_fj_p_com_22), |
| 3095 | TEST(skppartainasdemo250_org56), |
| 3096 | TEST(skpsd_graphic_net104), |
| 3097 | TEST(skpbreakmystyle_com10), |
| 3098 | TEST(skpnational_com_au81), |
| 3099 | TEST(skprentacheat_com30), |
| 3100 | TEST(skptracksflow_com9), |
| 3101 | TEST(skpautobutler_dk29), |
| 3102 | TEST(skponlinecollege_org144), |
| 3103 | TEST(skphostloco_com11), |
| 3104 | TEST(skpsergeychunkevich_com8), |
| 3105 | TEST(skpmlk_com326), |
| 3106 | TEST(skpcyclist_friends_gr52), |
| 3107 | TEST(skpfrauen_magazin_com83), |
| 3108 | TEST(skpthesuburbanite_com213), |
| 3109 | TEST(skpsudoestenegocios_com186), |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3110 | TEST(skpmtrk_uz27), |
| 3111 | TEST(skpilkoora_com37), |
| 3112 | TEST(skpmm4everfriends_com43), |
| 3113 | TEST(skpflite_com41), |
| 3114 | TEST(skpcheeseandburger_com225), |
| 3115 | TEST(skpeverytechpro_blogspot_com100), |
| 3116 | }; |
| 3117 | |
| 3118 | static const size_t testCount = SK_ARRAY_COUNT(tests); |
| 3119 | |
| 3120 | static bool runReverse = false; |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 3121 | static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3122 | |
tfarina@chromium.org | 78e7b4e | 2014-01-02 21:45:03 +0000 | [diff] [blame] | 3123 | DEF_TEST(PathOpsSkp, reporter) { |
caryclark@google.com | 7eaa53d | 2013-10-02 14:49:34 +0000 | [diff] [blame] | 3124 | #if DEBUG_SHOW_TEST_NAME |
| 3125 | strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
| 3126 | #endif |
| 3127 | RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); |
| 3128 | } |