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"
4 REG_FIDDLE(bug767834, 350, 256, false, 0) {
5 struct 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 
draw(SkCanvas * canvas)1228 void 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