1// Copyright 2020 Google LLC. 2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3#include "tools/fiddle/examples.h" 4REG_FIDDLE(bug767834, 350, 256, false, 0) { 5struct PieWedge { 6 double fMove[2]; 7 double fLine1[2]; 8 double fArc1Angles[2]; 9 double fLine2[2]; 10 double fArc2Angles[2]; 11 unsigned char fRGB[3]; 12} wedges[] = { 13 14 {{209, 62}, 15 {208.99999999999997, 15}, 16 {4.71238898038469, 4.864188625411087}, 17 {214.8974757323885, 62.4484788888183}, 18 {4.864188625411087, 4.71238898038469}, 19 {66, 165, 245}}, 20 21 { 22 {214.8974757323885, 62.4484788888183}, 23 {222.00469007654902, 15.988953447137789}, 24 {4.864188625411087, 5.939986109728601}, 25 {245.72563512075425, 87.87644388981317}, 26 {5.939986109728601, 4.864188625411087}, 27 {239, 83, 80}, 28 }, 29 30 { 31 {245.72563512075425, 87.87644388981317}, 32 {289.9847338560222, 72.06087626984443}, 33 {5.939986109728601, 0.6071985801055906}, 34 {241.02873602896423, 123.25219244000306}, 35 {0.6071985801055906, 5.939986109728601}, 36 {255, 202, 40}, 37 }, 38 39 { 40 {241.02873602896423, 123.25219244000306}, 41 {279.62746919207495, 150.06893717539134}, 42 {0.6071985801055906, 1.2143971602111803}, 43 {222.6071759801575, 137.54921013982414}, 44 {1.2143971602111803, 0.6071985801055906}, 45 {102, 187, 106}, 46 }, 47 48 { 49 {222.6071759801575, 137.54921013982414}, 50 {239.00556754598836, 181.59569415448402}, 51 {1.2143971602111803, 1.5905962804939922}, 52 {208.2278522599403, 139.99235550550287}, 53 {1.5905962804939922, 1.2143971602111803}, 54 {171, 71, 188}, 55 }, 56 57 { 58 {208.2278522599403, 139.99235550550287}, 59 {207.29731523986837, 186.98314290957046}, 60 {1.5905962804939922, 1.8479956785822313}, 61 {198.32714338718876, 138.51120008373994}, 62 {1.8479956785822313, 1.5905962804939922}, 63 {38, 198, 218}, 64 }, 65 66 { 67 {198.32714338718876, 138.51120008373994}, 68 {185.46498285380088, 183.71700531286245}, 69 {1.8479956785822313, 2.0657951692722794}, 70 {190.473805325209, 135.3188011281243}, 71 {2.0657951692722794, 1.8479956785822313}, 72 {255, 110, 64}, 73 }, 74 75 { 76 {190.47380532520896, 135.31880112812428}, 77 {168.1473655889223, 176.6773563338125}, 78 {2.065795169272281, 2.296794629095059}, 79 {183.10858870915067, 130.16564453887622}, 80 {2.296794629095059, 2.065795169272281}, 81 {212, 225, 87}, 82 }, 83 84 { 85 {183.10858870915067, 130.16564453887622}, 86 {151.90611869197326, 165.31398539341933}, 87 {2.296794629095059, 2.461794243254186}, 88 {178.66972101612106, 125.51681416416235}, 89 {2.461794243254186, 2.296794629095059}, 90 {189, 189, 189}, 91 }, 92 93 { 94 {178.66972101612106, 125.51681416416235}, 95 {142.1178463432413, 155.06271841328106}, 96 {2.461794243254186, 2.5937939345814893}, 97 {175.7067515538738, 121.31156340374902}, 98 {2.5937939345814893, 2.461794243254186}, 99 {92, 107, 192}, 100 }, 101 102 { 103 {175.70675155387386, 121.31156340374908}, 104 {135.58411881110644, 145.78960135185693}, 105 {2.5937939345814875, 2.719193641342425}, 106 {173.4277844354395, 116.98804177591612}, 107 {2.719193641342425, 2.5937939345814875}, 108 {79, 195, 247}, 109 }, 110 111 { 112 {173.4277844354395, 116.98804177591612}, 113 {130.55870413968708, 136.25568186484068}, 114 {2.719193641342425, 2.831393378970633}, 115 {171.86136233918353, 112.90468784549111}, 116 {2.831393378970633, 2.719193641342425}, 117 {255, 167, 38}, 118 }, 119 120 { 121 {171.86136233918353, 112.90468784549111}, 122 {127.104542594097, 127.25136294133937}, 123 {2.831393378970633, 2.9435931165988407}, 124 {170.76198015985182, 108.67162555814826}, 125 {2.9435931165988407, 2.831393378970633}, 126 {66, 165, 245}, 127 }, 128 129 { 130 {170.76198015985182, 108.67162555814826}, 131 {124.68026394223733, 117.91691789745515}, 132 {2.9435931165988407, 2.99639299312976}, 133 {170.41039556773984, 106.64290968930811}, 134 {2.99639299312976, 2.9435931165988407}, 135 {239, 83, 80}, 136 }, 137 138 { 139 {170.41039556773984, 106.64290968930811}, 140 {123.90497484168273, 113.44333931488454}, 141 {2.99639299312976, 3.095392761625238}, 142 {170.04161398270747, 102.80115488718383}, 143 {3.095392761625238, 2.99639299312976}, 144 {255, 202, 40}, 145 }, 146 147 { 148 {170.04161398270747, 102.80115488718383}, 149 {123.09176416699597, 104.97177744353357}, 150 {3.095392761625238, 3.194392530120716}, 151 {170.05434999746018, 98.9417614619119}, 152 {3.194392530120716, 3.095392761625238}, 153 {102, 187, 106}, 154 }, 155 156 { 157 {170.05434999746018, 98.94176146191197}, 158 {123.1198487123481, 96.46132014678024}, 159 {3.194392530120714, 3.2735923449170947}, 160 {170.33927335887392, 95.86694870665369}, 161 {3.2735923449170947, 3.194392530120714}, 162 {171, 71, 188}, 163 }, 164 165 { 166 {170.33927335887392, 95.86694870665369}, 167 {123.74814125290146, 89.68096381467222}, 168 {3.2735923449170947, 3.352792159713477}, 169 {170.86657367205342, 92.82431675692668}, 170 {3.352792159713477, 3.2735923449170947}, 171 {38, 198, 218}, 172 }, 173 174 { 175 {170.86657367205342, 92.82431675692668}, 176 {124.9109060460665, 82.97157028450496}, 177 {3.352792159713477, 3.412192020810762}, 178 {171.41917672588357, 90.57494738432324}, 179 {3.412192020810762, 3.352792159713477}, 180 {255, 110, 64}, 181 }, 182 183 { 184 {171.41917672588357, 90.57494738432324}, 185 {126.12946662630736, 78.0114224372256}, 186 {3.412192020810762, 3.471591881908047}, 187 {172.1043388501384, 88.36235036430459}, 188 {3.471591881908047, 3.412192020810762}, 189 {212, 225, 87}, 190 }, 191 192 { 193 {172.1043388501384, 88.36235036430453}, 194 {127.64033695158726, 73.13236234179972}, 195 {3.471591881908049, 3.5375917275716997}, 196 {173.01814557458636, 85.9565246000686}, 197 {3.5375917275716997, 3.471591881908049}, 198 {189, 189, 189}, 199 }, 200 201 { 202 {173.01814557458636, 85.9565246000686}, 203 {129.65539793370326, 67.82720809245897}, 204 {3.5375917275716997, 3.5441917121380655}, 205 {173.11821523751334, 85.71937428445484}, 206 {3.5441917121380655, 3.5375917275716997}, 207 {92, 107, 192}, 208 }, 209 210 { 211 {173.11821523751334, 85.71937428445484}, 212 {129.8760643699012, 67.30426124264403}, 213 {3.5441917121380655, 3.5969915886689847}, 214 {173.97466004891183, 83.84699556023183}, 215 {3.5969915886689847, 3.5441917121380655}, 216 {79, 195, 247}, 217 }, 218 219 { 220 {173.97466004891183, 83.84699556023183}, 221 {131.7646349796517, 63.17542610717788}, 222 {3.5969915886689847, 3.6497914651999075}, 223 {174.9287267647916, 82.02242533589258}, 224 {3.6497914651999075, 3.5969915886689847}, 225 {255, 167, 38}, 226 }, 227 228 { 229 {174.9287267647916, 82.02242533589258}, 230 {133.86847440441224, 59.15201484325031}, 231 {3.6497914651999075, 3.689391372598097}, 232 {175.7067515538738, 80.688436596251}, 233 {3.689391372598097, 3.6497914651999075}, 234 {66, 165, 245}, 235 }, 236 237 { 238 {175.70675155387386, 80.68843659625094}, 239 {135.5841188111064, 56.210398648143084}, 240 {3.6893913725980987, 3.728991279996288}, 241 {176.53697841699477, 79.38629532677618}, 242 {3.728991279996288, 3.6893913725980987}, 243 {239, 83, 80}, 244 }, 245 246 { 247 {176.53697841699477, 79.38629532677618}, 248 {137.41487548362952, 53.33901020776284}, 249 {3.728991279996288, 3.7619912028281135}, 250 {177.26777398454274, 78.32698008416307}, 251 {3.7619912028281135, 3.728991279996288}, 252 {255, 202, 40}, 253 }, 254 255 { 256 {177.26777398454274, 78.32698008416307}, 257 {139.0263734018122, 51.003084288154476}, 258 {3.7619912028281135, 3.788391141093573}, 259 {177.87732813607064, 77.49724918120904}, 260 {3.788391141093573, 3.7619912028281135}, 261 {102, 187, 106}, 262 }, 263 264 { 265 {177.87732813607064, 77.49724918120904}, 266 {140.37051845389936, 49.17342127138402}, 267 {3.788391141093573, 3.8147910793590345}, 268 {178.50857218374682, 76.68389772750939}, 269 {3.8147910793590345, 3.788391141093573}, 270 {171, 71, 188}, 271 }, 272 273 { 274 {178.50857218374682, 76.68389772750939}, 275 {141.7624925077494, 47.379877040148926}, 276 {3.8147910793590345, 3.83459103305813}, 277 {178.99597513166773, 76.0849745795735}, 278 {3.83459103305813, 3.8147910793590345}, 279 {38, 198, 218}, 280 }, 281 282 { 283 {178.99597513166773, 76.0849745795735}, 284 {142.83727849547242, 46.05917471393132}, 285 {3.83459103305813, 3.8543909867572257}, 286 {179.49514041820387, 75.49581875341823}, 287 {3.8543909867572257, 3.83459103305813}, 288 {255, 110, 64}, 289 }, 290 291 { 292 {179.49514041820387, 75.49581875341823}, 293 {143.93800194783418, 44.76001058446072}, 294 {3.8543909867572257, 3.8741909404563213}, 295 {180.0058723579047, 74.91666121306773}, 296 {3.8741909404563213, 3.8543909867572257}, 297 {212, 225, 87}, 298 }, 299 300 { 301 {180.00587235790465, 74.91666121306778}, 302 {145.0642313533282, 43.482893957021275}, 303 {3.8741909404563195, 3.893990894155415}, 304 {180.52797073089823, 74.34772900296463}, 305 {3.893990894155415, 3.8741909404563195}, 306 {189, 189, 189}, 307 }, 308 309 { 310 {180.52797073089823, 74.34772900296463}, 311 {146.21552520146793, 42.22832549371687}, 312 {3.893990894155415, 3.9137908478545107}, 313 {181.06123086138257, 73.78924515896263}, 314 {3.9137908478545107, 3.893990894155415}, 315 {92, 107, 192}, 316 }, 317 318 { 319 {181.06123086138257, 73.78924515896263}, 320 {147.39143215586927, 40.996797017199654}, 321 {3.9137908478545107, 3.9335908015536063}, 322 {181.60544369786365, 73.24142862089114}, 323 {3.9335908015536063, 3.9137908478545107}, 324 {79, 195, 247}, 325 }, 326 327 { 328 {181.60544369786365, 73.24142862089114}, 329 {148.59149123118652, 39.78879131786252}, 330 {3.9335908015536063, 3.953390755252702}, 331 {182.16039589510896, 72.70449414672505}, 332 {3.953390755252702, 3.9335908015536063}, 333 {255, 167, 38}, 334 }, 335 336 { 337 {182.16039589510896, 72.70449414672505}, 338 {149.81523197383004, 38.604781964573206}, 339 {3.953390755252702, 3.9731907089517975}, 340 {182.72586989778426, 72.1786522283943}, 341 {3.9731907089517975, 3.953390755252702}, 342 {66, 165, 245}, 343 }, 344 345 { 346 {182.72586989778426, 72.1786522283943}, 347 {151.0621746463961, 37.44523311902331}, 348 {3.9731907089517975, 3.9863906780845255}, 349 {183.1085887091506, 71.83435546112383}, 350 {3.9863906780845255, 3.9731907089517975}, 351 {239, 83, 80}, 352 }, 353 354 { 355 {183.10858870915067, 71.83435546112379}, 356 {151.90611869197326, 36.68601460658067}, 357 {3.9863906780845273, 3.999590647217257}, 358 {183.49581875341823, 71.49514041820387}, 359 {3.999590647217257, 3.9863906780845273}, 360 {255, 202, 40}, 361 }, 362 363 { 364 {183.49581875341823, 71.49514041820387}, 365 {152.7600105844607, 35.938001947834195}, 366 {3.999590647217257, 4.012790616349987}, 367 {183.88749256091927, 71.161066203329}, 368 {4.012790616349987, 3.999590647217257}, 369 {102, 187, 106}, 370 }, 371 372 { 373 {183.8874925609193, 71.16106620332897}, 374 {153.6237015445913, 35.20132547400746}, 375 {4.012790616349989, 4.025990585482717}, 376 {184.28354188771962, 70.83219102447296}, 377 {4.025990585482717, 4.012790616349989}, 378 {171, 71, 188}, 379 }, 380 381 { 382 {184.28354188771968, 70.83219102447292}, 383 {154.49704108574082, 34.47611354114541}, 384 {4.0259905854827185, 4.039190554615448}, 385 {184.6838977275094, 70.50857218374685}, 386 {4.039190554615448, 4.0259905854827185}, 387 {38, 198, 218}, 388 }, 389 390 { 391 {184.6838977275094, 70.50857218374685}, 392 {155.3798770401489, 33.76249250774944}, 393 {4.039190554615448, 4.052390523748178}, 394 {185.08849032362605, 70.19026606741508}, 395 {4.052390523748178, 4.039190554615448}, 396 {255, 110, 64}, 397 }, 398 399 { 400 {185.0884903236261, 70.19026606741504}, 401 {156.2720555854319, 33.06058671276138}, 402 {4.05239052374818, 4.065590492880908}, 403 {185.49724918120899, 69.87732813607067}, 404 {4.065590492880908, 4.05239052374818}, 405 {212, 225, 87}, 406 }, 407 408 { 409 {185.49724918120899, 69.87732813607067}, 410 {157.1734212713839, 32.37051845389945}, 411 {4.065590492880908, 4.0787904620136395}, 412 {185.91010307948213, 69.56981291497203}, 413 {4.0787904620136395, 4.065590492880908}, 414 {189, 189, 189}, 415 }, 416 417 { 418 {185.91010307948213, 69.56981291497203}, 419 {158.08381704706312, 31.692407966348583}, 420 {4.0787904620136395, 4.091990431146369}, 421 {186.32698008416307, 69.26777398454276}, 422 {4.091990431146369, 4.0787904620136395}, 423 {92, 107, 192}, 424 }, 425 426 { 427 {186.32698008416307, 69.26777398454276}, 428 {159.00308428815444, 31.026373401812222}, 429 {4.091990431146369, 4.105190400279099}, 430 {186.74780755999694, 68.97126397103578}, 431 {4.105190400279099, 4.091990431146369}, 432 {79, 195, 247}, 433 }, 434 435 { 436 {186.74780755999694, 68.97126397103578}, 437 {159.93106282460863, 30.37253080792506}, 438 {4.105190400279099, 4.118390369411829}, 439 {187.17251218341195, 68.68033453736409}, 440 {4.118390369411829, 4.105190400279099}, 441 {255, 167, 38}, 442 }, 443 444 { 445 {187.172512183412, 68.68033453736405}, 446 {160.86759096854956, 29.730994108033556}, 447 {4.118390369411831, 4.131590338544559}, 448 {187.60101995529507, 68.3950363740991}, 449 {4.131590338544559, 4.118390369411831}, 450 {66, 165, 245}, 451 }, 452 453 { 454 {187.60101995529507, 68.3950363740991}, 455 {161.81250554244556, 29.101875081346734}, 456 {4.131590338544559, 4.14479030767729}, 457 {188.0332562138855, 68.11541919063848}, 458 {4.14479030767729, 4.131590338544559}, 459 {239, 83, 80}, 460 }, 461 462 { 463 {188.0332562138855, 68.11541919063848}, 464 {162.76564190754235, 28.4852833434592}, 465 {4.14479030767729, 4.151390292243654}, 466 {188.25074901590185, 67.97775623009694}, 467 {4.151390292243654, 4.14479030767729}, 468 {255, 202, 40}, 469 }, 470 471 { 472 {188.25074901590185, 67.97775623009694}, 473 {163.24524141968098, 28.181718866367618}, 474 {4.151390292243654, 4.15799027681002}, 475 {188.4691456477831, 67.84153170654506}, 476 {4.15799027681002, 4.151390292243654}, 477 {102, 187, 106}, 478 }, 479 480 { 481 {188.4691456477831, 67.84153170654506}, 482 {163.72683399254737, 27.88132632725319}, 483 {4.15799027681002, 4.164590261376386}, 484 {188.688436596251, 67.70675155387381}, 485 {4.164590261376386, 4.15799027681002}, 486 {171, 71, 188}, 487 }, 488 489 { 490 {188.688436596251, 67.70675155387381}, 491 {164.21039864814318, 27.584118811106364}, 492 {4.164590261376386, 4.17119024594275}, 493 {188.90861230907103, 67.57342164305794}, 494 {4.17119024594275, 4.164590261376386}, 495 {38, 198, 218}, 496 }, 497 498 { 499 {188.90861230907103, 67.57342164305794}, 500 {164.6959143225669, 27.290109264179037}, 501 {4.17119024594275, 4.177790230509116}, 502 {189.129663195469, 67.44154778190001}, 503 {4.177790230509116, 4.17119024594275}, 504 {255, 110, 64}, 505 }, 506 507 { 508 {189.129663195469, 67.44154778190001}, 509 {165.1833598669316, 26.999310493420538}, 510 {4.177790230509116, 4.1843902150754815}, 511 {189.35157962654816, 67.31113571477775}, 512 {4.1843902150754815, 4.177790230509116}, 513 {212, 225, 87}, 514 }, 515 516 { 517 {189.35157962654816, 67.31113571477775}, 518 {165.6727140482857, 26.711735165920174}, 519 {4.1843902150754815, 4.1909901996418455}, 520 {189.57435193570907, 67.18219112239366}, 521 {4.1909901996418455, 4.1843902150754815}, 522 {189, 189, 189}, 523 }, 524 525 { 526 {189.57435193570907, 67.18219112239366}, 527 {166.16395555053796, 26.427395808355243}, 528 {4.1909901996418455, 4.1975901842082095}, 529 {189.7979704190706, 67.05471962152747}, 530 {4.1975901842082095, 4.1909901996418455}, 531 {92, 107, 192}, 532 }, 533 534 { 535 {189.7979704190706, 67.05471962152747}, 536 {166.65706297538645, 26.146304806445187}, 537 {4.1975901842082095, 4.204190168774575}, 538 {190.02242533589256, 66.9287267647916}, 539 {4.204190168774575, 4.1975901842082095}, 540 {79, 195, 247}, 541 }, 542 543 { 544 {190.02242533589262, 66.92872676479158}, 545 {167.1520148432504, 25.868474404412183}, 546 {4.204190168774577, 4.210790153340941}, 547 {190.247706909, 66.80421804038936}, 548 {4.210790153340941, 4.204190168774577}, 549 {255, 167, 38}, 550 }, 551 552 { 553 {190.247706909, 66.80421804038936}, 554 {167.64878959420508, 25.593916704448333}, 555 {4.210790153340941, 4.217390137907305}, 556 {190.47380532520896, 66.68119887187574}, 557 {4.217390137907305, 4.210790153340941}, 558 {66, 165, 245}, 559 }, 560 561 { 562 {190.47380532520896, 66.68119887187574}, 563 {168.1473655889223, 25.322643666187517}, 564 {4.217390137907305, 4.223990122473671}, 565 {190.7007107357544, 66.55967461792113}, 566 {4.223990122473671, 4.217390137907305}, 567 {239, 83, 80}, 568 }, 569 570 { 571 {190.70071073575446, 66.5596746179211}, 572 {168.6477211096124, 25.054667106185008}, 573 {4.223990122473673, 4.230590107040037}, 574 {190.9284132567187, 66.43965057207814}, 575 {4.230590107040037, 4.223990122473673}, 576 {255, 202, 40}, 577 }, 578 579 { 580 {190.9284132567187, 66.43965057207814}, 581 {169.14983436096944, 24.789998697403064}, 582 {4.230590107040037, 4.237190091606401}, 583 {191.15690296946235, 66.32113196255075}, 584 {4.237190091606401, 4.230590107040037}, 585 {102, 187, 106}, 586 }, 587 588 { 589 {191.15690296946235, 66.32113196255075}, 590 {169.65368347112212, 24.528649968701657}, 591 {4.237190091606401, 4.2437900761727665}, 592 {191.3861699210563, 66.2041239519667}, 593 {4.2437900761727665, 4.237190091606401}, 594 {171, 71, 188}, 595 }, 596 597 { 598 {191.38616992105636, 66.20412395196666}, 599 {170.15924649258585, 24.27063230433673}, 600 {4.243790076172768, 4.250390060739132}, 601 {191.616204124715, 66.08863163715256}, 602 {4.250390060739132, 4.243790076172768}, 603 {38, 198, 218}, 604 }, 605 606 { 607 {191.616204124715, 66.08863163715256}, 608 {170.66650140321772, 24.01595694346463}, 609 {4.250390060739132, 4.256990045305496}, 610 {191.84699556023176, 65.97466004891186}, 611 {4.256990045305496, 4.250390060739132}, 612 {255, 110, 64}, 613 }, 614 615 { 616 {191.84699556023176, 65.97466004891186}, 617 {171.1754261071777, 23.764634979651802}, 618 {4.256990045305496, 4.263590029871862}, 619 {192.07853417441524, 65.86221415180566}, 620 {4.263590029871862, 4.256990045305496}, 621 {212, 225, 87}, 622 }, 623 624 { 625 {192.07853417441524, 65.86221415180566}, 626 {171.68599843588999, 23.516677360391967}, 627 {4.263590029871862, 4.270190014438228}, 628 {192.31080988152712, 65.75129884393658}, 629 {4.270190014438228, 4.263590029871862}, 630 {189, 189, 189}, 631 }, 632 633 { 634 {192.31080988152712, 65.75129884393658}, 635 {172.1981961490085, 23.272094886629375}, 636 {4.270190014438228, 4.276789999004592}, 637 {192.54381256372162, 65.64191895673532}, 638 {4.276789999004592, 4.270190014438228}, 639 {92, 107, 192}, 640 }, 641 642 { 643 {192.54381256372162, 65.64191895673532}, 644 {172.7119969353861, 23.03089821228815}, 645 {4.276789999004592, 4.283389983570958}, 646 {192.7775320714863, 65.53407925475014}, 647 {4.283389983570958, 4.276789999004592}, 648 {79, 195, 247}, 649 }, 650 651 { 652 {192.7775320714863, 65.53407925475014}, 653 {173.2273784140467, 22.793097843808}, 654 {4.283389983570958, 4.2899899681373235}, 655 {193.01195822408394, 65.42778443543946}, 656 {4.2899899681373235, 4.283389983570958}, 657 {255, 167, 38}, 658 }, 659 660 { 661 {193.01195822408394, 65.42778443543946}, 662 {173.74431813515946, 22.558704139687023}, 663 {4.2899899681373235, 4.2965899527036875}, 664 {193.24708080999608, 65.3230391289672}, 665 {4.2965899527036875, 4.2899899681373235}, 666 {66, 165, 245}, 667 }, 668 669 { 670 {193.24708080999608, 65.3230391289672}, 671 {174.262793581017, 22.327727310030212}, 672 {4.2965899527036875, 4.3031899372700515}, 673 {193.48288958736805, 65.21984789800092}, 674 {4.3031899372700515, 4.2965899527036875}, 675 {239, 83, 80}, 676 }, 677 678 { 679 {193.48288958736805, 65.21984789800092}, 680 {174.7827821670167, 22.1001774161046}, 681 {4.3031899372700515, 4.309789921836417}, 682 {193.71937428445483, 65.11821523751334}, 683 {4.309789921836417, 4.3031899372700515}, 684 {255, 202, 40}, 685 }, 686 687 { 688 {193.7193742844549, 65.11821523751331}, 689 {175.30426124264415, 21.876064369901144}, 690 {4.309789921836419, 4.316389906402783}, 691 {193.95652460006858, 65.01814557458637}, 692 {4.316389906402783, 4.309789921836419}, 693 {102, 187, 106}, 694 }, 695 696 { 697 {193.95652460006858, 65.01814557458637}, 698 {175.82720809245893, 21.65539793370327}, 699 {4.316389906402783, 4.322989890969147}, 700 {194.1943302040273, 64.91964326821835}, 701 {4.322989890969147, 4.316389906402783}, 702 {171, 71, 188}, 703 }, 704 705 { 706 {194.1943302040273, 64.91964326821835}, 707 {176.35159993708584, 21.438187719660974}, 708 {4.322989890969147, 4.329589875535513}, 709 {194.43278073760504, 64.82271260913404}, 710 {4.329589875535513, 4.322989890969147}, 711 {38, 198, 218}, 712 }, 713 714 { 715 {194.43278073760504, 64.82271260913404}, 716 {176.87741393420595, 21.224443189372508}, 717 {4.329589875535513, 4.336189860101879}, 718 {194.67186581398275, 64.72735781959793}, 719 {4.336189860101879, 4.329589875535513}, 720 {255, 110, 64}, 721 }, 722 723 { 724 {194.67186581398275, 64.72735781959793}, 725 {177.4046271795517, 21.01417365347234}, 726 {4.336189860101879, 4.342789844668243}, 727 {194.911575018701, 64.63358305323013}, 728 {4.342789844668243, 4.336189860101879}, 729 {212, 225, 87}, 730 }, 731 732 { 733 {194.911575018701, 64.63358305323013}, 734 {177.93321670790476, 20.807388271225435}, 735 {4.342789844668243, 4.3493898292346085}, 736 {195.15189791011366, 64.54139239482552}, 737 {4.3493898292346085, 4.342789844668243}, 738 {189, 189, 189}, 739 }, 740 741 { 742 {195.15189791011366, 64.54139239482552}, 743 {178.46315949409683, 20.604096050128078}, 744 {4.3493898292346085, 4.355989813800974}, 745 {195.39282401984252, 64.45078986017583}, 746 {4.355989813800974, 4.3493898292346085}, 747 {92, 107, 192}, 748 }, 749 750 { 751 {195.39282401984252, 64.45078986017583}, 752 {178.9944324540117, 20.40430584551595}, 753 {4.355989813800974, 4.362589798367338}, 754 {195.6343428532333, 64.36177939589473}, 755 {4.362589798367338, 4.355989813800974}, 756 {79, 195, 247}, 757 }, 758 759 { 760 {195.6343428532333, 64.36177939589473}, 761 {179.52701244559137, 20.20802636017811}, 762 {4.362589798367338, 4.369189782933702}, 763 {195.87644388981312, 64.27436487924578}, 764 {4.369189782933702, 4.362589798367338}, 765 {255, 167, 38}, 766 }, 767 768 { 769 {195.87644388981317, 64.27436487924575}, 770 {180.0608762698444, 20.01526614397781}, 771 {4.369189782933704, 4.37578976750007}, 772 {196.1191165837485, 64.18855011797365}, 773 {4.37578976750007, 4.369189782933704}, 774 {66, 165, 245}, 775 }, 776 777 { 778 {196.1191165837485, 64.18855011797365}, 779 {180.59600067185568, 19.826033593480375}, 780 {4.37578976750007, 4.382389752066434}, 781 {196.36235036430452, 64.10433885013842}, 782 {4.382389752066434, 4.37578976750007}, 783 {239, 83, 80}, 784 }, 785 786 { 787 {196.36235036430452, 64.10433885013842}, 788 {181.1323623417997, 19.640336951587273}, 789 {4.382389752066434, 4.388989736632798}, 790 {196.60613463630577, 64.02173474395235}, 791 {4.388989736632798, 4.382389752066434}, 792 {255, 202, 40}, 793 }, 794 795 { 796 {196.60613463630577, 64.02173474395235}, 797 {181.66993791595633, 19.458184307176978}, 798 {4.388989736632798, 4.395589721199164}, 799 {196.8504587805977, 63.94074139762042}, 800 {4.395589721199164, 4.388989736632798}, 801 {102, 187, 106}, 802 }, 803 804 { 805 {196.8504587805977, 63.94074139762042}, 806 {182.20870397772828, 19.279583594752737}, 807 {4.395589721199164, 4.4021897057655295}, 808 {197.0953121545089, 63.86136233918352}, 809 {4.4021897057655295, 4.395589721199164}, 810 {171, 71, 188}, 811 }, 812 813 { 814 {197.0953121545089, 63.86136233918352}, 815 {182.74863705866062, 19.104542594096998}, 816 {4.4021897057655295, 4.4087896903318935}, 817 {197.34068409231492, 63.783601026364714}, 818 {4.4087896903318935, 4.4021897057655295}, 819 {38, 198, 218}, 820 }, 821 822 { 823 {197.34068409231492, 63.783601026364714}, 824 {183.28971363946366, 18.933068929932446}, 825 {4.4087896903318935, 4.415389674898259}, 826 {197.5865639057031, 63.70746084641862}, 827 {4.415389674898259, 4.4087896903318935}, 828 {255, 110, 64}, 829 }, 830 831 { 832 {197.5865639057031, 63.70746084641862}, 833 {183.83191015103756, 18.76517007158978}, 834 {4.415389674898259, 4.421989659464625}, 835 {197.83294088423762, 63.632945115983944}, 836 {4.421989659464625, 4.415389674898259}, 837 {212, 225, 87}, 838 }, 839 840 { 841 {197.83294088423762, 63.632945115983944}, 842 {184.37520297549833, 18.600853332682547}, 843 {4.421989659464625, 4.428589644030989}, 844 {198.07980429582642, 63.56005708093896}, 845 {4.428589644030989, 4.421989659464625}, 846 {189, 189, 189}, 847 }, 848 849 { 850 {198.07980429582642, 63.56005708093896}, 851 {184.91956844720698, 18.440125870788478}, 852 {4.428589644030989, 4.435189628597355}, 853 {198.32714338718876, 63.48879991626006}, 854 {4.435189628597355, 4.428589644030989}, 855 {92, 107, 192}, 856 }, 857 858 { 859 {198.32714338718876, 63.48879991626006}, 860 {185.46498285380085, 18.28299468713756}, 861 {4.435189628597355, 4.441789613163721}, 862 {198.57494738432322, 63.419176725883574}, 863 {4.441789613163721, 4.435189628597355}, 864 {79, 195, 247}, 865 }, 866 867 { 868 {198.57494738432322, 63.419176725883574}, 869 {186.01142243722558, 18.129466626307362}, 870 {4.441789613163721, 4.448389597730085}, 871 {198.8232054929773, 63.3511905425705}, 872 {4.448389597730085, 4.441789613163721}, 873 {255, 167, 38}, 874 }, 875 876 { 877 {198.8232054929773, 63.3511905425705}, 878 {186.5588633947705, 17.97954837592468}, 879 {4.448389597730085, 4.461589566862816}, 880 {199.3210407694013, 63.220140971512244}, 881 {4.461589566862816, 4.448389597730085}, 882 {66, 165, 245}, 883 }, 884 885 { 886 {199.3210407694013, 63.220140971512244}, 887 {187.6566540043208, 17.690567270514165}, 888 {4.461589566862816, 4.46818955142918}, 889 {199.57059625164655, 63.15708329223899}, 890 {4.46818955142918, 4.461589566862816}, 891 {239, 83, 80}, 892 }, 893 894 { 895 {199.57059625164655, 63.15708329223899}, 896 {188.20695583696417, 17.551517003398786}, 897 {4.46818955142918, 4.474789535995544}, 898 {199.8205624753071, 63.095674036724255}, 899 {4.474789535995544, 4.46818955142918}, 900 {255, 202, 40}, 901 }, 902 903 { 904 {199.82056247530716, 63.09567403672424}, 905 {188.75816340708758, 17.416101722007298}, 906 {4.474789535995546, 4.481389520561912}, 907 {200.0709285519448, 63.03591587993297}, 908 {4.481389520561912, 4.474789535995546}, 909 {102, 187, 106}, 910 }, 911 912 { 913 {200.0709285519448, 63.03591587993297}, 914 {189.31025270428856, 17.284327324980396}, 915 {4.481389520561912, 4.487989505128276}, 916 {200.32168357570373, 62.97781142490888}, 917 {4.487989505128276, 4.481389520561912}, 918 {171, 71, 188}, 919 }, 920 921 { 922 {200.32168357570373, 62.97781142490888}, 923 {189.86319967975695, 17.156199552363162}, 924 {4.487989505128276, 4.49458948969464}, 925 {200.57281662378588, 62.921363202660984}, 926 {4.49458948969464, 4.487989505128276}, 927 {38, 198, 218}, 928 }, 929 930 { 931 {200.57281662378588, 62.921363202660984}, 932 {190.41698024732275, 17.031723985355}, 933 {4.49458948969464, 4.501189474261006}, 934 {200.82431675692666, 62.86657367205342}, 935 {4.501189474261006, 4.49458948969464}, 936 {255, 110, 64}, 937 }, 938 939 { 940 {200.82431675692672, 62.8665736720534}, 941 {190.9715702845051, 16.910906046066472}, 942 {4.5011894742610075, 4.5077894588273715}, 943 {201.07617301987116, 62.8134452196983}, 944 {4.5077894588273715, 4.5011894742610075}, 945 {212, 225, 87}, 946 }, 947 948 { 949 {201.07617301987116, 62.8134452196983}, 950 {191.52694563356206, 16.79375099728344}, 951 {4.5077894588273715, 4.5143894433937355}, 952 {201.32837444185168, 62.76198015985183}, 953 {4.5143894433937355, 4.5077894588273715}, 954 {189, 189, 189}, 955 }, 956 957 { 958 {201.32837444185168, 62.76198015985183}, 959 {192.0830821025447, 16.68026394223736}, 960 {4.5143894433937355, 4.520989427960101}, 961 {201.5809100370656, 62.71218073431335}, 962 {4.520989427960101, 4.5143894433937355}, 963 {92, 107, 192}, 964 }, 965 966 { 967 {201.5809100370656, 62.71218073431335}, 968 {192.6399554663498, 16.570449824383275}, 969 {4.520989427960101, 4.527589412526467}, 970 {201.83376880515377, 62.664049112327824}, 971 {4.527589412526467, 4.520989427960101}, 972 {79, 195, 247}, 973 }, 974 975 { 976 {201.83376880515377, 62.664049112327824}, 977 {193.19754146777498, 16.464313427184436}, 978 {4.527589412526467, 4.534189397092831}, 979 {202.08693973167965, 62.61758739049132}, 980 {4.534189397092831, 4.527589412526467}, 981 {255, 167, 38}, 982 }, 983 984 { 985 {202.08693973167965, 62.61758739049132}, 986 {193.75581581857563, 16.36185937390394}, 987 {4.534189397092831, 4.540789381659197}, 988 {202.34041178860943, 62.5727975926596}, 989 {4.540789381659197, 4.534189397092831}, 990 {66, 165, 245}, 991 }, 992 993 { 994 {202.34041178860943, 62.5727975926596}, 995 {194.31475420052337, 16.263092127403226}, 996 {4.540789381659197, 4.547389366225563}, 997 {202.59417393479197, 62.529681669860054}, 998 {4.547389366225563, 4.540789381659197}, 999 {239, 83, 80}, 1000 }, 1001 1002 { 1003 {202.59417393479197, 62.529681669860054}, 1004 {194.87433226646434, 16.16801598994782}, 1005 {4.547389366225563, 4.553989350791927}, 1006 {202.84821511643992, 62.4882415002067}, 1007 {4.553989350791927, 4.547389366225563}, 1008 {255, 202, 40}, 1009 }, 1010 1011 { 1012 {202.84821511643992, 62.4882415002067}, 1013 {195.43452564138033, 16.076635103019896}, 1014 {4.553989350791927, 4.560589335358291}, 1015 {203.10252426761141, 62.44847888881831}, 1016 {4.560589335358291, 4.553989350791927}, 1017 {102, 187, 106}, 1018 }, 1019 1020 { 1021 {203.10252426761141, 62.44847888881831}, 1022 {195.99530992345078, 15.988953447137803}, 1023 {4.560589335358291, 4.5671893199246565}, 1024 {203.3570903106919, 62.41039556773984}, 1025 {4.5671893199246565, 4.560589335358291}, 1026 {171, 71, 188}, 1027 }, 1028 1029 { 1030 {203.35709031069194, 62.41039556773983}, 1031 {196.5566606851156, 15.904974841682716}, 1032 {4.567189319924658, 4.573789304491022}, 1033 {203.6119021568766, 62.373993195867}, 1034 {4.573789304491022, 4.567189319924658}, 1035 {38, 198, 218}, 1036 }, 1037 1038 { 1039 {203.6119021568766, 62.373993195867}, 1040 {197.1185534741381, 15.824702944732365}, 1041 {4.573789304491022, 4.580389289057386}, 1042 {203.8669487066536, 62.33927335887393}, 1043 {4.580389289057386, 4.573789304491022}, 1044 {255, 110, 64}, 1045 }, 1046 1047 { 1048 {203.8669487066536, 62.33927335887393}, 1049 {197.68096381467205, 15.74814125290149}, 1050 {4.580389289057386, 4.586989273623752}, 1051 {204.12221885028765, 62.30623756914416}, 1052 {4.586989273623752, 4.580389289057386}, 1053 {212, 225, 87}, 1054 }, 1055 1056 { 1057 {204.12221885028765, 62.30623756914416}, 1058 {198.24386720832663, 15.67529310118968}, 1059 {4.586989273623752, 4.593589258190118}, 1060 {204.3777014683036, 62.274887265704734}, 1061 {4.593589258190118, 4.586989273623752}, 1062 {189, 189, 189}, 1063 }, 1064 1065 { 1066 {204.3777014683036, 62.274887265704734}, 1067 {198.80723913523357, 15.606161662836087}, 1068 {4.593589258190118, 4.600189242756482}, 1069 {204.63338543197096, 62.245223814163545}, 1070 {4.600189242756482, 4.593589258190118}, 1071 {92, 107, 192}, 1072 }, 1073 1074 { 1075 {204.63338543197096, 62.245223814163545}, 1076 {199.37105505511542, 15.540749949181148}, 1077 {4.600189242756482, 4.606789227322848}, 1078 {204.88925960378893, 62.21724850664979}, 1079 {4.606789227322848, 4.600189242756482}, 1080 {79, 195, 247}, 1081 }, 1082 1083 { 1084 {204.88925960378893, 62.21724850664979}, 1085 {199.93529040835506, 15.479060809535426}, 1086 {4.606789227322848, 4.6133892118892135}, 1087 {205.1453128379711, 62.190962561757736}, 1088 {4.6133892118892135, 4.606789227322848}, 1089 {255, 167, 38}, 1090 }, 1091 1092 { 1093 {205.1453128379711, 62.190962561757736}, 1094 {200.49992061706448, 15.42109693105553}, 1095 {4.6133892118892135, 4.6199891964555775}, 1096 {205.4015339809312, 62.166367124493654}, 1097 {4.6199891964555775, 4.6133892118892135}, 1098 {66, 165, 245}, 1099 }, 1100 1101 { 1102 {205.4015339809312, 62.166367124493654}, 1103 {201.06492108615595, 15.366860838627034}, 1104 {4.6199891964555775, 4.626589181021943}, 1105 {205.65791187176904, 62.14346326622588}, 1106 {4.626589181021943, 4.6199891964555775}, 1107 {239, 83, 80}, 1108 }, 1109 1110 { 1111 {205.65791187176904, 62.14346326622588}, 1112 {201.6302672044138, 15.316354894754497}, 1113 {4.626589181021943, 4.633189165588309}, 1114 {205.91443534275646, 62.12225198463818}, 1115 {4.633189165588309, 4.626589181021943}, 1116 {255, 202, 40}, 1117 }, 1118 1119 { 1120 {205.91443534275646, 62.12225198463818}, 1121 {202.19593434556555, 15.269581299458551}, 1122 {4.633189165588309, 4.639789150154673}, 1123 {206.17109321982377, 62.10273420368633}, 1124 {4.639789150154673, 4.633189165588309}, 1125 {102, 187, 106}, 1126 }, 1127 1128 { 1129 {206.17109321982377, 62.10273420368633}, 1130 {202.761897869355, 15.226542090180118}, 1131 {4.639789150154673, 4.646389134721039}, 1132 {206.4278743230469, 62.084910773557795}, 1133 {4.646389134721039, 4.639789150154673}, 1134 {171, 71, 188}, 1135 }, 1136 1137 { 1138 {206.4278743230469, 62.084910773557795}, 1139 {203.3281331226162, 15.187239141691535}, 1140 {4.646389134721039, 4.652989119287405}, 1141 {206.68476746713378, 62.06878247063473}, 1142 {4.652989119287405, 4.646389134721039}, 1143 {38, 198, 218}, 1144 }, 1145 1146 { 1147 {206.68476746713378, 62.06878247063473}, 1148 {203.89461544034626, 15.151674166015042}, 1149 {4.652989119287405, 4.659589103853769}, 1150 {206.94176146191197, 62.054349997460186}, 1151 {4.659589103853769, 4.652989119287405}, 1152 {255, 110, 64}, 1153 }, 1154 1155 { 1156 {206.94176146191197, 62.054349997460186}, 1157 {204.46132014678022, 15.119848712348102}, 1158 {4.659589103853769, 4.666189088420133}, 1159 {207.19884511281612, 62.041613982707474}, 1160 {4.666189088420133, 4.659589103853769}, 1161 {212, 225, 87}, 1162 }, 1163 1164 { 1165 {207.19884511281617, 62.041613982707474}, 1166 {205.02822255646643, 15.091764166995972}, 1167 {4.6661890884201345, 4.6727890729865}, 1168 {207.45600722137553, 62.03057498115278}, 1169 {4.6727890729865, 4.6661890884201345}, 1170 {189, 189, 189}, 1171 }, 1172 1173 { 1174 {207.45600722137553, 62.03057498115278}, 1175 {205.5952979753409, 15.067421753311265}, 1176 {4.6727890729865, 4.679389057552864}, 1177 {207.71323658570157, 62.02123347365103}, 1178 {4.679389057552864, 4.6727890729865}, 1179 {92, 107, 192}, 1180 }, 1181 1182 { 1183 {207.71323658570157, 62.02123347365103}, 1184 {206.16252170180348, 15.046822531640728}, 1185 {4.679389057552864, 4.685989042119228}, 1186 {207.97052200097633, 62.0135898671149}, 1187 {4.685989042119228, 4.679389057552864}, 1188 {79, 195, 247}, 1189 }, 1190 1191 { 1192 {207.97052200097633, 62.0135898671149}, 1193 {206.72986902779397, 15.029967399279002}, 1194 {4.685989042119228, 4.692589026685594}, 1195 {208.2278522599403, 62.00764449449712}, 1196 {4.692589026685594, 4.685989042119228}, 1197 {255, 167, 38}, 1198 }, 1199 1200 { 1201 {208.2278522599403, 62.00764449449712}, 1202 {207.29731523986834, 15.016857090429554}, 1203 {4.692589026685594, 4.69918901125196}, 1204 {208.4852161533804, 62.003397614775984}, 1205 {4.69918901125196, 4.692589026685594}, 1206 {66, 165, 245}, 1207 }, 1208 1209 { 1210 {208.4852161533804, 62.003397614775984}, 1211 {207.86483562027476, 15.00749217617269}, 1212 {4.69918901125196, 4.705788995818324}, 1213 {208.74260247061855, 62.00084941294403}, 1214 {4.705788995818324, 4.69918901125196}, 1215 {239, 83, 80}, 1216 }, 1217 1218 { 1219 {208.74260247061855, 62.00084941294403}, 1220 {208.43240544803064, 15.001873064440673}, 1221 {4.705788995818324, 4.71238898038469}, 1222 {209, 62}, 1223 {4.71238898038469, 4.705788995818324}, 1224 {255, 202, 40}, 1225 }, 1226}; 1227 1228void draw(SkCanvas* canvas) { 1229 SkRect oval1 = {209 - 86, 101 - 86, 209 + 86, 101 + 86}; 1230 SkRect oval2 = {209 - 39, 101 - 39, 209 + 39, 101 + 39}; 1231 for (const auto& wedge : wedges) { 1232 SkPath path; 1233 path.moveTo(SkDoubleToScalar(wedge.fMove[0]), SkDoubleToScalar(wedge.fMove[1])); 1234 path.lineTo(SkDoubleToScalar(wedge.fLine1[0]), SkDoubleToScalar(wedge.fLine1[1])); 1235 SkASSERT(wedge.fArc1Angles[0] == wedge.fArc2Angles[1]); 1236 SkASSERT(wedge.fArc1Angles[1] == wedge.fArc2Angles[0]); 1237 SkScalar start = SkDoubleToScalar(wedge.fArc1Angles[0] * 180.f / SK_ScalarPI); 1238 SkScalar end = SkDoubleToScalar(wedge.fArc1Angles[1] * 180.f / SK_ScalarPI); 1239 if (end < start) { 1240 end += 360; 1241 } 1242 path.arcTo(oval1, start, end - start, false); 1243 path.lineTo(SkDoubleToScalar(wedge.fLine2[0]), SkDoubleToScalar(wedge.fLine2[1])); 1244 path.arcTo(oval2, end, start - end, false); 1245 path.close(); 1246 SkPaint paint; 1247 paint.setAntiAlias(true); 1248 paint.setARGB(255, wedge.fRGB[0], wedge.fRGB[1], wedge.fRGB[2]); 1249 canvas->drawPath(path, paint); 1250 } 1251} 1252 1253} // END FIDDLE 1254