skia2/docs/examples/bug583299.cpp

849 lines
34 KiB
C++
Raw Normal View History

// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#include "tools/fiddle/examples.h"
REG_FIDDLE(bug583299, 350, 256, false, 0) {
struct PieWedge {
double fMove[2];
double fLine1[2];
double fArc1Angles[2];
double fLine2[2];
double fArc2Angles[2];
unsigned char fRGB[3];
} wedges[] = {
{{209, 62},
{208.99999999999997, 15},
{4.71238898038469, 4.864188625411087},
{214.8974757323885, 62.4484788888183},
{4.864188625411087, 4.71238898038469},
{66, 165, 245}},
{{214.8974757323885, 62.4484788888183},
{222.00469007654902, 15.988953447137789},
{4.864188625411087, 5.939986109728601},
{245.72563512075425, 87.87644388981317},
{5.939986109728601, 4.864188625411087},
{239, 83, 80}},
{{245.72563512075425, 87.87644388981317},
{289.9847338560222, 72.06087626984443},
{5.939986109728601, 0.6071985801055906},
{241.02873602896423, 123.25219244000306},
{0.6071985801055906, 5.939986109728601},
{255, 202, 40}},
{{241.02873602896423, 123.25219244000306},
{279.62746919207495, 150.06893717539134},
{0.6071985801055906, 1.2143971602111803},
{222.6071759801575, 137.54921013982414},
{1.2143971602111803, 0.6071985801055906},
{102, 187, 106}},
{{222.6071759801575, 137.54921013982414},
{239.00556754598836, 181.59569415448402},
{1.2143971602111803, 1.5905962804939922},
{208.2278522599403, 139.99235550550287},
{1.5905962804939922, 1.2143971602111803},
{171, 71, 188}},
{{208.2278522599403, 139.99235550550287},
{207.29731523986837, 186.98314290957046},
{1.5905962804939922, 1.8479956785822313},
{198.32714338718876, 138.51120008373994},
{1.8479956785822313, 1.5905962804939922},
{38, 198, 218}},
{{198.32714338718876, 138.51120008373994},
{185.46498285380088, 183.71700531286245},
{1.8479956785822313, 2.0657951692722794},
{190.473805325209, 135.3188011281243},
{2.0657951692722794, 1.8479956785822313},
{255, 110, 64}},
{{190.47380532520896, 135.31880112812428},
{168.1473655889223, 176.6773563338125},
{2.065795169272281, 2.296794629095059},
{183.10858870915067, 130.16564453887622},
{2.296794629095059, 2.065795169272281},
{212, 225, 87}},
{{183.10858870915067, 130.16564453887622},
{151.90611869197326, 165.31398539341933},
{2.296794629095059, 2.461794243254186},
{178.66972101612106, 125.51681416416235},
{2.461794243254186, 2.296794629095059},
{189, 189, 189}},
{{178.66972101612106, 125.51681416416235},
{142.1178463432413, 155.06271841328106},
{2.461794243254186, 2.5937939345814893},
{175.7067515538738, 121.31156340374902},
{2.5937939345814893, 2.461794243254186},
{92, 107, 192}},
{{175.70675155387386, 121.31156340374908},
{135.58411881110644, 145.78960135185693},
{2.5937939345814875, 2.719193641342425},
{173.4277844354395, 116.98804177591612},
{2.719193641342425, 2.5937939345814875},
{79, 195, 247}},
{{173.4277844354395, 116.98804177591612},
{130.55870413968708, 136.25568186484068},
{2.719193641342425, 2.831393378970633},
{171.86136233918353, 112.90468784549111},
{2.831393378970633, 2.719193641342425},
{255, 167, 38}},
{{171.86136233918353, 112.90468784549111},
{127.104542594097, 127.25136294133937},
{2.831393378970633, 2.9435931165988407},
{170.76198015985182, 108.67162555814826},
{2.9435931165988407, 2.831393378970633},
{66, 165, 245}},
{{170.76198015985182, 108.67162555814826},
{124.68026394223733, 117.91691789745515},
{2.9435931165988407, 2.99639299312976},
{170.41039556773984, 106.64290968930811},
{2.99639299312976, 2.9435931165988407},
{239, 83, 80}},
{{170.41039556773984, 106.64290968930811},
{123.90497484168273, 113.44333931488454},
{2.99639299312976, 3.095392761625238},
{170.04161398270747, 102.80115488718383},
{3.095392761625238, 2.99639299312976},
{255, 202, 40}},
{{170.04161398270747, 102.80115488718383},
{123.09176416699597, 104.97177744353357},
{3.095392761625238, 3.194392530120716},
{170.05434999746018, 98.9417614619119},
{3.194392530120716, 3.095392761625238},
{102, 187, 106}},
{{170.05434999746018, 98.94176146191197},
{123.1198487123481, 96.46132014678024},
{3.194392530120714, 3.2735923449170947},
{170.33927335887392, 95.86694870665369},
{3.2735923449170947, 3.194392530120714},
{171, 71, 188}},
{{170.33927335887392, 95.86694870665369},
{123.74814125290146, 89.68096381467222},
{3.2735923449170947, 3.352792159713477},
{170.86657367205342, 92.82431675692668},
{3.352792159713477, 3.2735923449170947},
{38, 198, 218}},
{{170.86657367205342, 92.82431675692668},
{124.9109060460665, 82.97157028450496},
{3.352792159713477, 3.412192020810762},
{171.41917672588357, 90.57494738432324},
{3.412192020810762, 3.352792159713477},
{255, 110, 64}},
{{171.41917672588357, 90.57494738432324},
{126.12946662630736, 78.0114224372256},
{3.412192020810762, 3.471591881908047},
{172.1043388501384, 88.36235036430459},
{3.471591881908047, 3.412192020810762},
{212, 225, 87}},
{{172.1043388501384, 88.36235036430453},
{127.64033695158726, 73.13236234179972},
{3.471591881908049, 3.5375917275716997},
{173.01814557458636, 85.9565246000686},
{3.5375917275716997, 3.471591881908049},
{189, 189, 189}},
{{173.01814557458636, 85.9565246000686},
{129.65539793370326, 67.82720809245897},
{3.5375917275716997, 3.5441917121380655},
{173.11821523751334, 85.71937428445484},
{3.5441917121380655, 3.5375917275716997},
{92, 107, 192}},
{{173.11821523751334, 85.71937428445484},
{129.8760643699012, 67.30426124264403},
{3.5441917121380655, 3.5969915886689847},
{173.97466004891183, 83.84699556023183},
{3.5969915886689847, 3.5441917121380655},
{79, 195, 247}},
{{173.97466004891183, 83.84699556023183},
{131.7646349796517, 63.17542610717788},
{3.5969915886689847, 3.6497914651999075},
{174.9287267647916, 82.02242533589258},
{3.6497914651999075, 3.5969915886689847},
{255, 167, 38}},
{{174.9287267647916, 82.02242533589258},
{133.86847440441224, 59.15201484325031},
{3.6497914651999075, 3.689391372598097},
{175.7067515538738, 80.688436596251},
{3.689391372598097, 3.6497914651999075},
{66, 165, 245}},
{{175.70675155387386, 80.68843659625094},
{135.5841188111064, 56.210398648143084},
{3.6893913725980987, 3.728991279996288},
{176.53697841699477, 79.38629532677618},
{3.728991279996288, 3.6893913725980987},
{239, 83, 80}},
{{176.53697841699477, 79.38629532677618},
{137.41487548362952, 53.33901020776284},
{3.728991279996288, 3.7619912028281135},
{177.26777398454274, 78.32698008416307},
{3.7619912028281135, 3.728991279996288},
{255, 202, 40}},
{{177.26777398454274, 78.32698008416307},
{139.0263734018122, 51.003084288154476},
{3.7619912028281135, 3.788391141093573},
{177.87732813607064, 77.49724918120904},
{3.788391141093573, 3.7619912028281135},
{102, 187, 106}},
{{177.87732813607064, 77.49724918120904},
{140.37051845389936, 49.17342127138402},
{3.788391141093573, 3.8147910793590345},
{178.50857218374682, 76.68389772750939},
{3.8147910793590345, 3.788391141093573},
{171, 71, 188}},
{{178.50857218374682, 76.68389772750939},
{141.7624925077494, 47.379877040148926},
{3.8147910793590345, 3.83459103305813},
{178.99597513166773, 76.0849745795735},
{3.83459103305813, 3.8147910793590345},
{38, 198, 218}},
{{178.99597513166773, 76.0849745795735},
{142.83727849547242, 46.05917471393132},
{3.83459103305813, 3.8543909867572257},
{179.49514041820387, 75.49581875341823},
{3.8543909867572257, 3.83459103305813},
{255, 110, 64}},
{{179.49514041820387, 75.49581875341823},
{143.93800194783418, 44.76001058446072},
{3.8543909867572257, 3.8741909404563213},
{180.0058723579047, 74.91666121306773},
{3.8741909404563213, 3.8543909867572257},
{212, 225, 87}},
{{180.00587235790465, 74.91666121306778},
{145.0642313533282, 43.482893957021275},
{3.8741909404563195, 3.893990894155415},
{180.52797073089823, 74.34772900296463},
{3.893990894155415, 3.8741909404563195},
{189, 189, 189}},
{{180.52797073089823, 74.34772900296463},
{146.21552520146793, 42.22832549371687},
{3.893990894155415, 3.9137908478545107},
{181.06123086138257, 73.78924515896263},
{3.9137908478545107, 3.893990894155415},
{92, 107, 192}},
{{181.06123086138257, 73.78924515896263},
{147.39143215586927, 40.996797017199654},
{3.9137908478545107, 3.9335908015536063},
{181.60544369786365, 73.24142862089114},
{3.9335908015536063, 3.9137908478545107},
{79, 195, 247}},
{{181.60544369786365, 73.24142862089114},
{148.59149123118652, 39.78879131786252},
{3.9335908015536063, 3.953390755252702},
{182.16039589510896, 72.70449414672505},
{3.953390755252702, 3.9335908015536063},
{255, 167, 38}},
{{182.16039589510896, 72.70449414672505},
{149.81523197383004, 38.604781964573206},
{3.953390755252702, 3.9731907089517975},
{182.72586989778426, 72.1786522283943},
{3.9731907089517975, 3.953390755252702},
{66, 165, 245}},
{{182.72586989778426, 72.1786522283943},
{151.0621746463961, 37.44523311902331},
{3.9731907089517975, 3.9863906780845255},
{183.1085887091506, 71.83435546112383},
{3.9863906780845255, 3.9731907089517975},
{239, 83, 80}},
{{183.10858870915067, 71.83435546112379},
{151.90611869197326, 36.68601460658067},
{3.9863906780845273, 3.999590647217257},
{183.49581875341823, 71.49514041820387},
{3.999590647217257, 3.9863906780845273},
{255, 202, 40}},
{{183.49581875341823, 71.49514041820387},
{152.7600105844607, 35.938001947834195},
{3.999590647217257, 4.012790616349987},
{183.88749256091927, 71.161066203329},
{4.012790616349987, 3.999590647217257},
{102, 187, 106}},
{{183.8874925609193, 71.16106620332897},
{153.6237015445913, 35.20132547400746},
{4.012790616349989, 4.025990585482717},
{184.28354188771962, 70.83219102447296},
{4.025990585482717, 4.012790616349989},
{171, 71, 188}},
{{184.28354188771968, 70.83219102447292},
{154.49704108574082, 34.47611354114541},
{4.0259905854827185, 4.039190554615448},
{184.6838977275094, 70.50857218374685},
{4.039190554615448, 4.0259905854827185},
{38, 198, 218}},
{{184.6838977275094, 70.50857218374685},
{155.3798770401489, 33.76249250774944},
{4.039190554615448, 4.052390523748178},
{185.08849032362605, 70.19026606741508},
{4.052390523748178, 4.039190554615448},
{255, 110, 64}},
{{185.0884903236261, 70.19026606741504},
{156.2720555854319, 33.06058671276138},
{4.05239052374818, 4.065590492880908},
{185.49724918120899, 69.87732813607067},
{4.065590492880908, 4.05239052374818},
{212, 225, 87}},
{{185.49724918120899, 69.87732813607067},
{157.1734212713839, 32.37051845389945},
{4.065590492880908, 4.0787904620136395},
{185.91010307948213, 69.56981291497203},
{4.0787904620136395, 4.065590492880908},
{189, 189, 189}},
{{185.91010307948213, 69.56981291497203},
{158.08381704706312, 31.692407966348583},
{4.0787904620136395, 4.091990431146369},
{186.32698008416307, 69.26777398454276},
{4.091990431146369, 4.0787904620136395},
{92, 107, 192}},
{{186.32698008416307, 69.26777398454276},
{159.00308428815444, 31.026373401812222},
{4.091990431146369, 4.105190400279099},
{186.74780755999694, 68.97126397103578},
{4.105190400279099, 4.091990431146369},
{79, 195, 247}},
{{186.74780755999694, 68.97126397103578},
{159.93106282460863, 30.37253080792506},
{4.105190400279099, 4.118390369411829},
{187.17251218341195, 68.68033453736409},
{4.118390369411829, 4.105190400279099},
{255, 167, 38}},
{{187.172512183412, 68.68033453736405},
{160.86759096854956, 29.730994108033556},
{4.118390369411831, 4.131590338544559},
{187.60101995529507, 68.3950363740991},
{4.131590338544559, 4.118390369411831},
{66, 165, 245}},
{{187.60101995529507, 68.3950363740991},
{161.81250554244556, 29.101875081346734},
{4.131590338544559, 4.14479030767729},
{188.0332562138855, 68.11541919063848},
{4.14479030767729, 4.131590338544559},
{239, 83, 80}},
{{188.0332562138855, 68.11541919063848},
{162.76564190754235, 28.4852833434592},
{4.14479030767729, 4.151390292243654},
{188.25074901590185, 67.97775623009694},
{4.151390292243654, 4.14479030767729},
{255, 202, 40}},
{{188.25074901590185, 67.97775623009694},
{163.24524141968098, 28.181718866367618},
{4.151390292243654, 4.15799027681002},
{188.4691456477831, 67.84153170654506},
{4.15799027681002, 4.151390292243654},
{102, 187, 106}},
{{188.4691456477831, 67.84153170654506},
{163.72683399254737, 27.88132632725319},
{4.15799027681002, 4.164590261376386},
{188.688436596251, 67.70675155387381},
{4.164590261376386, 4.15799027681002},
{171, 71, 188}},
{{188.688436596251, 67.70675155387381},
{164.21039864814318, 27.584118811106364},
{4.164590261376386, 4.17119024594275},
{188.90861230907103, 67.57342164305794},
{4.17119024594275, 4.164590261376386},
{38, 198, 218}},
{{188.90861230907103, 67.57342164305794},
{164.6959143225669, 27.290109264179037},
{4.17119024594275, 4.177790230509116},
{189.129663195469, 67.44154778190001},
{4.177790230509116, 4.17119024594275},
{255, 110, 64}},
{{189.129663195469, 67.44154778190001},
{165.1833598669316, 26.999310493420538},
{4.177790230509116, 4.1843902150754815},
{189.35157962654816, 67.31113571477775},
{4.1843902150754815, 4.177790230509116},
{212, 225, 87}},
{{189.35157962654816, 67.31113571477775},
{165.6727140482857, 26.711735165920174},
{4.1843902150754815, 4.1909901996418455},
{189.57435193570907, 67.18219112239366},
{4.1909901996418455, 4.1843902150754815},
{189, 189, 189}},
{{189.57435193570907, 67.18219112239366},
{166.16395555053796, 26.427395808355243},
{4.1909901996418455, 4.1975901842082095},
{189.7979704190706, 67.05471962152747},
{4.1975901842082095, 4.1909901996418455},
{92, 107, 192}},
{{189.7979704190706, 67.05471962152747},
{166.65706297538645, 26.146304806445187},
{4.1975901842082095, 4.204190168774575},
{190.02242533589256, 66.9287267647916},
{4.204190168774575, 4.1975901842082095},
{79, 195, 247}},
{{190.02242533589262, 66.92872676479158},
{167.1520148432504, 25.868474404412183},
{4.204190168774577, 4.210790153340941},
{190.247706909, 66.80421804038936},
{4.210790153340941, 4.204190168774577},
{255, 167, 38}},
{{190.247706909, 66.80421804038936},
{167.64878959420508, 25.593916704448333},
{4.210790153340941, 4.217390137907305},
{190.47380532520896, 66.68119887187574},
{4.217390137907305, 4.210790153340941},
{66, 165, 245}},
{{190.47380532520896, 66.68119887187574},
{168.1473655889223, 25.322643666187517},
{4.217390137907305, 4.223990122473671},
{190.7007107357544, 66.55967461792113},
{4.223990122473671, 4.217390137907305},
{239, 83, 80}},
{{190.70071073575446, 66.5596746179211},
{168.6477211096124, 25.054667106185008},
{4.223990122473673, 4.230590107040037},
{190.9284132567187, 66.43965057207814},
{4.230590107040037, 4.223990122473673},
{255, 202, 40}},
{{190.9284132567187, 66.43965057207814},
{169.14983436096944, 24.789998697403064},
{4.230590107040037, 4.237190091606401},
{191.15690296946235, 66.32113196255075},
{4.237190091606401, 4.230590107040037},
{102, 187, 106}},
{{191.15690296946235, 66.32113196255075},
{169.65368347112212, 24.528649968701657},
{4.237190091606401, 4.2437900761727665},
{191.3861699210563, 66.2041239519667},
{4.2437900761727665, 4.237190091606401},
{171, 71, 188}},
{{191.38616992105636, 66.20412395196666},
{170.15924649258585, 24.27063230433673},
{4.243790076172768, 4.250390060739132},
{191.616204124715, 66.08863163715256},
{4.250390060739132, 4.243790076172768},
{38, 198, 218}},
{{191.616204124715, 66.08863163715256},
{170.66650140321772, 24.01595694346463},
{4.250390060739132, 4.256990045305496},
{191.84699556023176, 65.97466004891186},
{4.256990045305496, 4.250390060739132},
{255, 110, 64}},
{{191.84699556023176, 65.97466004891186},
{171.1754261071777, 23.764634979651802},
{4.256990045305496, 4.263590029871862},
{192.07853417441524, 65.86221415180566},
{4.263590029871862, 4.256990045305496},
{212, 225, 87}},
{{192.07853417441524, 65.86221415180566},
{171.68599843588999, 23.516677360391967},
{4.263590029871862, 4.270190014438228},
{192.31080988152712, 65.75129884393658},
{4.270190014438228, 4.263590029871862},
{189, 189, 189}},
{{192.31080988152712, 65.75129884393658},
{172.1981961490085, 23.272094886629375},
{4.270190014438228, 4.276789999004592},
{192.54381256372162, 65.64191895673532},
{4.276789999004592, 4.270190014438228},
{92, 107, 192}},
{{192.54381256372162, 65.64191895673532},
{172.7119969353861, 23.03089821228815},
{4.276789999004592, 4.283389983570958},
{192.7775320714863, 65.53407925475014},
{4.283389983570958, 4.276789999004592},
{79, 195, 247}},
{{192.7775320714863, 65.53407925475014},
{173.2273784140467, 22.793097843808},
{4.283389983570958, 4.2899899681373235},
{193.01195822408394, 65.42778443543946},
{4.2899899681373235, 4.283389983570958},
{255, 167, 38}},
{{193.01195822408394, 65.42778443543946},
{173.74431813515946, 22.558704139687023},
{4.2899899681373235, 4.2965899527036875},
{193.24708080999608, 65.3230391289672},
{4.2965899527036875, 4.2899899681373235},
{66, 165, 245}},
{{193.24708080999608, 65.3230391289672},
{174.262793581017, 22.327727310030212},
{4.2965899527036875, 4.3031899372700515},
{193.48288958736805, 65.21984789800092},
{4.3031899372700515, 4.2965899527036875},
{239, 83, 80}},
{{193.48288958736805, 65.21984789800092},
{174.7827821670167, 22.1001774161046},
{4.3031899372700515, 4.309789921836417},
{193.71937428445483, 65.11821523751334},
{4.309789921836417, 4.3031899372700515},
{255, 202, 40}},
{{193.7193742844549, 65.11821523751331},
{175.30426124264415, 21.876064369901144},
{4.309789921836419, 4.316389906402783},
{193.95652460006858, 65.01814557458637},
{4.316389906402783, 4.309789921836419},
{102, 187, 106}},
{{193.95652460006858, 65.01814557458637},
{175.82720809245893, 21.65539793370327},
{4.316389906402783, 4.322989890969147},
{194.1943302040273, 64.91964326821835},
{4.322989890969147, 4.316389906402783},
{171, 71, 188}},
{{194.1943302040273, 64.91964326821835},
{176.35159993708584, 21.438187719660974},
{4.322989890969147, 4.329589875535513},
{194.43278073760504, 64.82271260913404},
{4.329589875535513, 4.322989890969147},
{38, 198, 218}},
{{194.43278073760504, 64.82271260913404},
{176.87741393420595, 21.224443189372508},
{4.329589875535513, 4.336189860101879},
{194.67186581398275, 64.72735781959793},
{4.336189860101879, 4.329589875535513},
{255, 110, 64}},
{{194.67186581398275, 64.72735781959793},
{177.4046271795517, 21.01417365347234},
{4.336189860101879, 4.342789844668243},
{194.911575018701, 64.63358305323013},
{4.342789844668243, 4.336189860101879},
{212, 225, 87}},
{{194.911575018701, 64.63358305323013},
{177.93321670790476, 20.807388271225435},
{4.342789844668243, 4.3493898292346085},
{195.15189791011366, 64.54139239482552},
{4.3493898292346085, 4.342789844668243},
{189, 189, 189}},
{{195.15189791011366, 64.54139239482552},
{178.46315949409683, 20.604096050128078},
{4.3493898292346085, 4.355989813800974},
{195.39282401984252, 64.45078986017583},
{4.355989813800974, 4.3493898292346085},
{92, 107, 192}},
{{195.39282401984252, 64.45078986017583},
{178.9944324540117, 20.40430584551595},
{4.355989813800974, 4.362589798367338},
{195.6343428532333, 64.36177939589473},
{4.362589798367338, 4.355989813800974},
{79, 195, 247}},
{{195.6343428532333, 64.36177939589473},
{179.52701244559137, 20.20802636017811},
{4.362589798367338, 4.369189782933702},
{195.87644388981312, 64.27436487924578},
{4.369189782933702, 4.362589798367338},
{255, 167, 38}},
{{195.87644388981317, 64.27436487924575},
{180.0608762698444, 20.01526614397781},
{4.369189782933704, 4.37578976750007},
{196.1191165837485, 64.18855011797365},
{4.37578976750007, 4.369189782933704},
{66, 165, 245}},
{{196.1191165837485, 64.18855011797365},
{180.59600067185568, 19.826033593480375},
{4.37578976750007, 4.382389752066434},
{196.36235036430452, 64.10433885013842},
{4.382389752066434, 4.37578976750007},
{239, 83, 80}},
{{196.36235036430452, 64.10433885013842},
{181.1323623417997, 19.640336951587273},
{4.382389752066434, 4.388989736632798},
{196.60613463630577, 64.02173474395235},
{4.388989736632798, 4.382389752066434},
{255, 202, 40}},
{{196.60613463630577, 64.02173474395235},
{181.66993791595633, 19.458184307176978},
{4.388989736632798, 4.395589721199164},
{196.8504587805977, 63.94074139762042},
{4.395589721199164, 4.388989736632798},
{102, 187, 106}},
{{196.8504587805977, 63.94074139762042},
{182.20870397772828, 19.279583594752737},
{4.395589721199164, 4.4021897057655295},
{197.0953121545089, 63.86136233918352},
{4.4021897057655295, 4.395589721199164},
{171, 71, 188}},
{{197.0953121545089, 63.86136233918352},
{182.74863705866062, 19.104542594096998},
{4.4021897057655295, 4.4087896903318935},
{197.34068409231492, 63.783601026364714},
{4.4087896903318935, 4.4021897057655295},
{38, 198, 218}},
{{197.34068409231492, 63.783601026364714},
{183.28971363946366, 18.933068929932446},
{4.4087896903318935, 4.415389674898259},
{197.5865639057031, 63.70746084641862},
{4.415389674898259, 4.4087896903318935},
{255, 110, 64}},
{{197.5865639057031, 63.70746084641862},
{183.83191015103756, 18.76517007158978},
{4.415389674898259, 4.421989659464625},
{197.83294088423762, 63.632945115983944},
{4.421989659464625, 4.415389674898259},
{212, 225, 87}},
{{197.83294088423762, 63.632945115983944},
{184.37520297549833, 18.600853332682547},
{4.421989659464625, 4.428589644030989},
{198.07980429582642, 63.56005708093896},
{4.428589644030989, 4.421989659464625},
{189, 189, 189}},
{{198.07980429582642, 63.56005708093896},
{184.91956844720698, 18.440125870788478},
{4.428589644030989, 4.435189628597355},
{198.32714338718876, 63.48879991626006},
{4.435189628597355, 4.428589644030989},
{92, 107, 192}},
{{198.32714338718876, 63.48879991626006},
{185.46498285380085, 18.28299468713756},
{4.435189628597355, 4.441789613163721},
{198.57494738432322, 63.419176725883574},
{4.441789613163721, 4.435189628597355},
{79, 195, 247}},
{{198.57494738432322, 63.419176725883574},
{186.01142243722558, 18.129466626307362},
{4.441789613163721, 4.448389597730085},
{198.8232054929773, 63.3511905425705},
{4.448389597730085, 4.441789613163721},
{255, 167, 38}},
{{198.8232054929773, 63.3511905425705},
{186.5588633947705, 17.97954837592468},
{4.448389597730085, 4.461589566862816},
{199.3210407694013, 63.220140971512244},
{4.461589566862816, 4.448389597730085},
{66, 165, 245}},
{{199.3210407694013, 63.220140971512244},
{187.6566540043208, 17.690567270514165},
{4.461589566862816, 4.46818955142918},
{199.57059625164655, 63.15708329223899},
{4.46818955142918, 4.461589566862816},
{239, 83, 80}},
{{199.57059625164655, 63.15708329223899},
{188.20695583696417, 17.551517003398786},
{4.46818955142918, 4.474789535995544},
{199.8205624753071, 63.095674036724255},
{4.474789535995544, 4.46818955142918},
{255, 202, 40}},
{{199.82056247530716, 63.09567403672424},
{188.75816340708758, 17.416101722007298},
{4.474789535995546, 4.481389520561912},
{200.0709285519448, 63.03591587993297},
{4.481389520561912, 4.474789535995546},
{102, 187, 106}},
{{200.0709285519448, 63.03591587993297},
{189.31025270428856, 17.284327324980396},
{4.481389520561912, 4.487989505128276},
{200.32168357570373, 62.97781142490888},
{4.487989505128276, 4.481389520561912},
{171, 71, 188}},
{{200.32168357570373, 62.97781142490888},
{189.86319967975695, 17.156199552363162},
{4.487989505128276, 4.49458948969464},
{200.57281662378588, 62.921363202660984},
{4.49458948969464, 4.487989505128276},
{38, 198, 218}},
{{200.57281662378588, 62.921363202660984},
{190.41698024732275, 17.031723985355},
{4.49458948969464, 4.501189474261006},
{200.82431675692666, 62.86657367205342},
{4.501189474261006, 4.49458948969464},
{255, 110, 64}},
{{200.82431675692672, 62.8665736720534},
{190.9715702845051, 16.910906046066472},
{4.5011894742610075, 4.5077894588273715},
{201.07617301987116, 62.8134452196983},
{4.5077894588273715, 4.5011894742610075},
{212, 225, 87}},
{{201.07617301987116, 62.8134452196983},
{191.52694563356206, 16.79375099728344},
{4.5077894588273715, 4.5143894433937355},
{201.32837444185168, 62.76198015985183},
{4.5143894433937355, 4.5077894588273715},
{189, 189, 189}},
{{201.32837444185168, 62.76198015985183},
{192.0830821025447, 16.68026394223736},
{4.5143894433937355, 4.520989427960101},
{201.5809100370656, 62.71218073431335},
{4.520989427960101, 4.5143894433937355},
{92, 107, 192}},
{{201.5809100370656, 62.71218073431335},
{192.6399554663498, 16.570449824383275},
{4.520989427960101, 4.527589412526467},
{201.83376880515377, 62.664049112327824},
{4.527589412526467, 4.520989427960101},
{79, 195, 247}},
{{201.83376880515377, 62.664049112327824},
{193.19754146777498, 16.464313427184436},
{4.527589412526467, 4.534189397092831},
{202.08693973167965, 62.61758739049132},
{4.534189397092831, 4.527589412526467},
{255, 167, 38}},
{{202.08693973167965, 62.61758739049132},
{193.75581581857563, 16.36185937390394},
{4.534189397092831, 4.540789381659197},
{202.34041178860943, 62.5727975926596},
{4.540789381659197, 4.534189397092831},
{66, 165, 245}},
{{202.34041178860943, 62.5727975926596},
{194.31475420052337, 16.263092127403226},
{4.540789381659197, 4.547389366225563},
{202.59417393479197, 62.529681669860054},
{4.547389366225563, 4.540789381659197},
{239, 83, 80}},
{{202.59417393479197, 62.529681669860054},
{194.87433226646434, 16.16801598994782},
{4.547389366225563, 4.553989350791927},
{202.84821511643992, 62.4882415002067},
{4.553989350791927, 4.547389366225563},
{255, 202, 40}},
{{202.84821511643992, 62.4882415002067},
{195.43452564138033, 16.076635103019896},
{4.553989350791927, 4.560589335358291},
{203.10252426761141, 62.44847888881831},
{4.560589335358291, 4.553989350791927},
{102, 187, 106}},
{{203.10252426761141, 62.44847888881831},
{195.99530992345078, 15.988953447137803},
{4.560589335358291, 4.5671893199246565},
{203.3570903106919, 62.41039556773984},
{4.5671893199246565, 4.560589335358291},
{171, 71, 188}},
{{203.35709031069194, 62.41039556773983},
{196.5566606851156, 15.904974841682716},
{4.567189319924658, 4.573789304491022},
{203.6119021568766, 62.373993195867},
{4.573789304491022, 4.567189319924658},
{38, 198, 218}},
{{203.6119021568766, 62.373993195867},
{197.1185534741381, 15.824702944732365},
{4.573789304491022, 4.580389289057386},
{203.8669487066536, 62.33927335887393},
{4.580389289057386, 4.573789304491022},
{255, 110, 64}},
{{203.8669487066536, 62.33927335887393},
{197.68096381467205, 15.74814125290149},
{4.580389289057386, 4.586989273623752},
{204.12221885028765, 62.30623756914416},
{4.586989273623752, 4.580389289057386},
{212, 225, 87}},
{{204.12221885028765, 62.30623756914416},
{198.24386720832663, 15.67529310118968},
{4.586989273623752, 4.593589258190118},
{204.3777014683036, 62.274887265704734},
{4.593589258190118, 4.586989273623752},
{189, 189, 189}},
{{204.3777014683036, 62.274887265704734},
{198.80723913523357, 15.606161662836087},
{4.593589258190118, 4.600189242756482},
{204.63338543197096, 62.245223814163545},
{4.600189242756482, 4.593589258190118},
{92, 107, 192}},
{{204.63338543197096, 62.245223814163545},
{199.37105505511542, 15.540749949181148},
{4.600189242756482, 4.606789227322848},
{204.88925960378893, 62.21724850664979},
{4.606789227322848, 4.600189242756482},
{79, 195, 247}},
{{204.88925960378893, 62.21724850664979},
{199.93529040835506, 15.479060809535426},
{4.606789227322848, 4.6133892118892135},
{205.1453128379711, 62.190962561757736},
{4.6133892118892135, 4.606789227322848},
{255, 167, 38}},
{{205.1453128379711, 62.190962561757736},
{200.49992061706448, 15.42109693105553},
{4.6133892118892135, 4.6199891964555775},
{205.4015339809312, 62.166367124493654},
{4.6199891964555775, 4.6133892118892135},
{66, 165, 245}},
{{205.4015339809312, 62.166367124493654},
{201.06492108615595, 15.366860838627034},
{4.6199891964555775, 4.626589181021943},
{205.65791187176904, 62.14346326622588},
{4.626589181021943, 4.6199891964555775},
{239, 83, 80}},
{{205.65791187176904, 62.14346326622588},
{201.6302672044138, 15.316354894754497},
{4.626589181021943, 4.633189165588309},
{205.91443534275646, 62.12225198463818},
{4.633189165588309, 4.626589181021943},
{255, 202, 40}},
{{205.91443534275646, 62.12225198463818},
{202.19593434556555, 15.269581299458551},
{4.633189165588309, 4.639789150154673},
{206.17109321982377, 62.10273420368633},
{4.639789150154673, 4.633189165588309},
{102, 187, 106}},
{{206.17109321982377, 62.10273420368633},
{202.761897869355, 15.226542090180118},
{4.639789150154673, 4.646389134721039},
{206.4278743230469, 62.084910773557795},
{4.646389134721039, 4.639789150154673},
{171, 71, 188}},
{{206.4278743230469, 62.084910773557795},
{203.3281331226162, 15.187239141691535},
{4.646389134721039, 4.652989119287405},
{206.68476746713378, 62.06878247063473},
{4.652989119287405, 4.646389134721039},
{38, 198, 218}},
{{206.68476746713378, 62.06878247063473},
{203.89461544034626, 15.151674166015042},
{4.652989119287405, 4.659589103853769},
{206.94176146191197, 62.054349997460186},
{4.659589103853769, 4.652989119287405},
{255, 110, 64}},
{{206.94176146191197, 62.054349997460186},
{204.46132014678022, 15.119848712348102},
{4.659589103853769, 4.666189088420133},
{207.19884511281612, 62.041613982707474},
{4.666189088420133, 4.659589103853769},
{212, 225, 87}},
{{207.19884511281617, 62.041613982707474},
{205.02822255646643, 15.091764166995972},
{4.6661890884201345, 4.6727890729865},
{207.45600722137553, 62.03057498115278},
{4.6727890729865, 4.6661890884201345},
{189, 189, 189}},
{{207.45600722137553, 62.03057498115278},
{205.5952979753409, 15.067421753311265},
{4.6727890729865, 4.679389057552864},
{207.71323658570157, 62.02123347365103},
{4.679389057552864, 4.6727890729865},
{92, 107, 192}},
{{207.71323658570157, 62.02123347365103},
{206.16252170180348, 15.046822531640728},
{4.679389057552864, 4.685989042119228},
{207.97052200097633, 62.0135898671149},
{4.685989042119228, 4.679389057552864},
{79, 195, 247}},
{{207.97052200097633, 62.0135898671149},
{206.72986902779397, 15.029967399279002},
{4.685989042119228, 4.692589026685594},
{208.2278522599403, 62.00764449449712},
{4.692589026685594, 4.685989042119228},
{255, 167, 38}},
{{208.2278522599403, 62.00764449449712},
{207.29731523986834, 15.016857090429554},
{4.692589026685594, 4.69918901125196},
{208.4852161533804, 62.003397614775984},
{4.69918901125196, 4.692589026685594},
{66, 165, 245}},
{{208.4852161533804, 62.003397614775984},
{207.86483562027476, 15.00749217617269},
{4.69918901125196, 4.705788995818324},
{208.74260247061855, 62.00084941294403},
{4.705788995818324, 4.69918901125196},
{239, 83, 80}},
{{208.74260247061855, 62.00084941294403},
{208.43240544803064, 15.001873064440673},
{4.705788995818324, 4.71238898038469},
{209, 62},
{4.71238898038469, 4.705788995818324},
{255, 202, 40}},
};
void draw(SkCanvas* canvas) {
SkRect oval1 = {209 - 86, 101 - 86, 209 + 86, 101 + 86};
SkRect oval2 = {209 - 39, 101 - 39, 209 + 39, 101 + 39};
for (const auto& wedge : wedges) {
SkPath path;
path.moveTo(SkDoubleToScalar(wedge.fMove[0]), SkDoubleToScalar(wedge.fMove[1]));
path.lineTo(SkDoubleToScalar(wedge.fLine1[0]), SkDoubleToScalar(wedge.fLine1[1]));
SkASSERT(wedge.fArc1Angles[0] == wedge.fArc2Angles[1]);
SkASSERT(wedge.fArc1Angles[1] == wedge.fArc2Angles[0]);
SkScalar start = SkDoubleToScalar(wedge.fArc1Angles[0] * 180.f / SK_ScalarPI);
SkScalar end = SkDoubleToScalar(wedge.fArc1Angles[1] * 180.f / SK_ScalarPI);
if (end < start) {
end += 360;
}
path.arcTo(oval1, start, end - start, false);
path.lineTo(SkDoubleToScalar(wedge.fLine2[0]), SkDoubleToScalar(wedge.fLine2[1]));
path.arcTo(oval2, end, start - end, false);
path.close();
SkPaint paint;
paint.setAntiAlias(true);
paint.setARGB(255, wedge.fRGB[0], wedge.fRGB[1], wedge.fRGB[2]);
canvas->drawPath(path, paint);
}
}
} // END FIDDLE