1 #include "lion-render.h"
2
3 #include <stdlib.h>
4 #include <stdio.h>
5
6 #define ELEMENTS(x) (sizeof(x)/sizeof((x)[0]))
7
init(struct lion * l,int i,VGint hexColor,const VGfloat * coords,int elems)8 static void init(struct lion *l, int i, VGint hexColor, const VGfloat *coords, int elems)
9 {
10 static VGubyte cmds[128];
11 VGfloat color[4];
12 VGint j;
13
14 color[0] = ((hexColor >> 16) & 0xff) / 255.f;
15 color[1] = ((hexColor >> 8) & 0xff) / 255.f;
16 color[2] = ((hexColor >> 0) & 0xff) / 255.f;
17 color[3] = 1.0;
18
19 l->paths[i] = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f,
20 0, 0, (unsigned int)VG_PATH_CAPABILITY_ALL);
21 l->fills[i] = vgCreatePaint();
22 vgSetParameterfv(l->fills[i], VG_PAINT_COLOR, 4, color);
23
24 cmds[0] = VG_MOVE_TO_ABS;
25 for (j = 1; j < elems; ++j) {
26 cmds[j] = VG_LINE_TO_ABS;
27 }
28
29 vgAppendPathData(l->paths[i], elems, cmds, coords);
30 }
31
poly0(struct lion * l)32 static void poly0(struct lion *l)
33 {
34 VGfloat color = 0xf2cc99;
35 static const VGfloat coords[] = {69,18, 82,8, 99,3, 118,5, 135,12, 149,21, 156,13, 165,9, 177,13, 183,28,
36 180,50, 164,91, 155,107, 154,114, 151,121, 141,127, 139,136, 155,206, 157,251, 126,342,
37 133,357, 128,376, 83,376, 75,368, 67,350, 61,350, 53,369, 4,369, 2,361, 5,354,
38 12,342, 16,321, 4,257, 4,244, 7,218, 9,179, 26,127, 43,93, 32,77, 30,70,
39 24,67, 16,49, 17,35, 18,23, 30,12, 40,7, 53,7, 62,12
40 };
41
42 init(l, 0, color, coords, ELEMENTS(coords)/2);
43 }
44
poly1(struct lion * l)45 static void poly1(struct lion *l)
46 {
47 VGfloat color = 0xe5b27f;
48 static const VGfloat coords[] = {142,79, 136,74, 138,82, 133,78, 133,84, 127,78, 128,85,
49 124,80, 125,87, 119,82, 119,90, 125,99, 125,96, 128,100, 128,94,
50 131,98, 132,93, 135,97, 136,93, 138,97, 139,94, 141,98, 143,94,
51 144,85
52 };
53
54 init(l, 1, color, coords, ELEMENTS(coords)/2);
55 }
56
poly2(struct lion * l)57 static void poly2(struct lion *l)
58 {
59 VGfloat color = 0xeb8080;
60 static const VGfloat coords[] = {127,101, 132,100, 137,99, 144,101, 143,105, 135,110
61 };
62
63 init(l, 2, color, coords, ELEMENTS(coords)/2);
64 }
65
poly3(struct lion * l)66 static void poly3(struct lion *l)
67 {
68 VGfloat color = 0xf2cc99;
69 static const VGfloat coords[] = {178,229, 157,248, 139,296, 126,349, 137,356,
70 158,357, 183,342, 212,332, 235,288, 235,261,
71 228,252, 212,250, 188,251
72 };
73
74 init(l, 3, color, coords, ELEMENTS(coords)/2);
75 }
76
poly4(struct lion * l)77 static void poly4(struct lion *l)
78 {
79 VGfloat color = 0x9c826b;
80 static const VGfloat coords[] = {56,229, 48,241, 48,250, 57,281, 63,325, 71,338,
81 81,315, 76,321, 79,311, 83,301, 75,308, 80,298,
82 73,303, 76,296, 71,298, 74,292, 69,293, 74,284,
83 78,278, 71,278, 74,274, 68,273, 70,268, 66,267,
84 68,261, 60,266, 62,259, 65,253, 57,258, 59,251,
85 55,254, 55,248, 60,237, 54,240, 58,234, 54,236
86 };
87
88 init(l, 4, color, coords, ELEMENTS(coords)/2);
89 }
90
poly5(struct lion * l)91 static void poly5(struct lion *l)
92 {
93 VGfloat color = 0x9c826b;
94 static const VGfloat coords[] = {74,363, 79,368, 81,368, 85,362, 89,363, 92,370, 96,373,
95 101,372, 108,361, 110,371, 113,373, 116,371, 120,358, 122,363,
96 123,371, 126,371, 129,367, 132,357, 135,361, 130,376, 127,377,
97 94,378, 84,376, 76,371
98 };
99
100 init(l, 5, color, coords, ELEMENTS(coords)/2);
101 }
102
poly6(struct lion * l)103 static void poly6(struct lion *l)
104 {
105 VGfloat color = 0x9c826b;
106 static const VGfloat coords[] = {212,250, 219,251, 228,258, 236,270, 235,287, 225,304,
107 205,332, 177,343, 171,352, 158,357, 166,352, 168,346,
108 168,339, 165,333, 155,327, 155,323, 161,320, 165,316,
109 169,316, 167,312, 171,313, 168,308, 173,309, 170,306,
110 177,306, 175,308, 177,311, 174,311, 176,316, 171,315,
111 174,319, 168,320, 168,323, 175,327, 179,332, 183,326,
112 184,332, 189,323, 190,328, 194,320, 194,325, 199,316,
113 201,320, 204,313, 206,316, 208,310, 211,305, 219,298,
114 226,288, 229,279, 228,266, 224,259, 217,253
115 };
116
117 init(l, 6, color, coords, ELEMENTS(coords)/2);
118 }
119
poly7(struct lion * l)120 static void poly7(struct lion *l)
121 {
122 VGfloat color = 0x9c826b;
123 static const VGfloat coords[] = {151,205, 151,238, 149,252, 141,268, 128,282, 121,301,
124 130,300, 126,313, 118,324, 116,337, 120,346, 133,352,
125 133,340, 137,333, 145,329, 156,327, 153,319, 153,291,
126 157,271, 170,259, 178,277, 193,250, 174,216
127 };
128
129 init(l, 7, color, coords, ELEMENTS(coords)/2);
130 }
131
poly8(struct lion * l)132 static void poly8(struct lion *l)
133 {
134 VGfloat color = 0x9c826b;
135 static const VGfloat coords[] = {78,127, 90,142, 95,155, 108,164, 125,167, 139,175,
136 150,206, 152,191, 141,140, 121,148, 100,136
137 };
138
139 init(l, 8, color, coords, ELEMENTS(coords)/2);
140 }
141
poly9(struct lion * l)142 static void poly9(struct lion *l)
143 {
144 VGfloat color = 0x9c826b;
145 static const VGfloat coords[] = {21,58, 35,63, 38,68, 32,69, 42,74, 40,79, 47,80, 54,83,
146 45,94, 34,81, 32,73, 24,66
147 };
148
149 init(l, 9, color, coords, ELEMENTS(coords)/2);
150 }
151
poly10(struct lion * l)152 static void poly10(struct lion *l)
153 {
154 VGfloat color = 0x9c826b;
155 static const VGfloat coords[] = {71,34, 67,34, 66,27, 59,24, 54,17, 48,17, 39,22,
156 30,26, 28,31, 31,39, 38,46, 29,45, 36,54, 41,61,
157 41,70, 50,69, 54,71, 55,58, 67,52, 76,43, 76,39,
158 68,44
159 };
160
161 init(l, 10, color, coords, ELEMENTS(coords)/2);
162 }
163
poly11(struct lion * l)164 static void poly11(struct lion *l)
165 {
166 VGfloat color = 0x9c826b;
167 static const VGfloat coords[] = {139,74, 141,83, 143,89, 144,104, 148,104, 155,106,
168 154,86, 157,77, 155,72, 150,77, 144,77
169 };
170
171 init(l, 11, color, coords, ELEMENTS(coords)/2);
172 }
173
poly12(struct lion * l)174 static void poly12(struct lion *l)
175 {
176 VGfloat color = 0x9c826b;
177 static const VGfloat coords[] = {105,44, 102,53, 108,58, 111,62, 112,55
178 };
179
180 init(l, 12, color, coords, ELEMENTS(coords)/2);
181 }
182
poly13(struct lion * l)183 static void poly13(struct lion *l)
184 {
185 VGfloat color = 0x9c826b;
186 static const VGfloat coords[] = {141,48, 141,54, 144,58, 139,62, 137,66, 136,59, 137,52
187 };
188
189 init(l, 13, color, coords, ELEMENTS(coords)/2);
190 }
191
poly14(struct lion * l)192 static void poly14(struct lion *l)
193 {
194 VGfloat color = 0x9c826b;
195 static const VGfloat coords[] = {98,135, 104,130, 105,134, 108,132, 108,135, 112,134,
196 113,137, 116,136, 116,139, 119,139, 124,141, 128,140,
197 133,138, 140,133, 139,140, 126,146, 104,144
198 };
199
200 init(l, 14, color, coords, ELEMENTS(coords)/2);
201 }
202
poly15(struct lion * l)203 static void poly15(struct lion *l)
204 {
205 VGfloat color = 0x9c826b;
206 static const VGfloat coords[] = {97,116, 103,119, 103,116, 111,118, 116,117, 122,114,
207 127,107, 135,111, 142,107, 141,114, 145,118, 149,121,
208 145,125, 140,124, 127,121, 113,125, 100,124
209 };
210
211 init(l, 15, color, coords, ELEMENTS(coords)/2);
212 }
213
poly16(struct lion * l)214 static void poly16(struct lion *l)
215 {
216 VGfloat color = 0x9c826b;
217 static const VGfloat coords[] = {147,33, 152,35, 157,34, 153,31, 160,31, 156,28, 161,28,
218 159,24, 163,25, 163,21, 165,22, 170,23, 167,17, 172,21,
219 174,18, 175,23, 176,22, 177,28, 177,33, 174,37, 176,39,
220 174,44, 171,49, 168,53, 164,57, 159,68, 156,70, 154,60,
221 150,51, 146,43, 144,35
222 };
223
224 init(l, 16, color, coords, ELEMENTS(coords)/2);
225 }
226
poly17(struct lion * l)227 static void poly17(struct lion *l)
228 {
229 VGfloat color = 0x9c826b;
230 static const VGfloat coords[] = {85,72, 89,74, 93,75, 100,76, 105,75, 102,79, 94,79, 88,76
231 };
232
233 init(l, 17, color, coords, ELEMENTS(coords)/2);
234 }
235
poly18(struct lion * l)236 static void poly18(struct lion *l)
237 {
238 VGfloat color = 0x9c826b;
239 static const VGfloat coords[] = {86,214, 79,221, 76,232, 82,225, 78,239, 82,234, 78,245,
240 81,243, 79,255, 84,250, 84,267, 87,254, 90,271, 90,257,
241 95,271, 93,256, 95,249, 92,252, 93,243, 89,253, 89,241,
242 86,250, 87,236, 83,245, 87,231, 82,231, 90,219, 84,221
243 };
244
245 init(l, 18, color, coords, ELEMENTS(coords)/2);
246 }
247
poly19(struct lion * l)248 static void poly19(struct lion *l)
249 {
250 VGfloat color = 0xffcc7f;
251 static const VGfloat coords[] = {93,68, 96,72, 100,73, 106,72, 108,66, 105,63, 100,62
252 };
253
254 init(l, 19, color, coords, ELEMENTS(coords)/2);
255 }
256
poly20(struct lion * l)257 static void poly20(struct lion *l)
258 {
259 VGfloat color = 0xffcc7f;
260 static const VGfloat coords[] = {144,64, 142,68, 142,73, 146,74, 150,73, 154,64, 149,62
261 };
262
263 init(l, 20, color, coords, ELEMENTS(coords)/2);
264 }
265
poly21(struct lion * l)266 static void poly21(struct lion *l)
267 {
268 VGfloat color = 0x9c826b;
269 static const VGfloat coords[] = {57,91, 42,111, 52,105, 41,117, 53,112, 46,120, 53,116,
270 50,124, 57,119, 55,127, 61,122, 60,130, 67,126, 66,134,
271 71,129, 72,136, 77,130, 76,137, 80,133, 82,138, 86,135,
272 96,135, 94,129, 86,124, 83,117, 77,123, 79,117, 73,120,
273 75,112, 68,116, 71,111, 65,114, 69,107, 63,110, 68,102,
274 61,107, 66,98, 61,103, 63,97, 57,99
275 };
276
277 init(l, 21, color, coords, ELEMENTS(coords)/2);
278 }
279
poly22(struct lion * l)280 static void poly22(struct lion *l)
281 {
282 VGfloat color = 0x9c826b;
283 static const VGfloat coords[] = {83,79, 76,79, 67,82, 75,83, 65,88, 76,87, 65,92, 76,91,
284 68,96, 77,95, 70,99, 80,98, 72,104, 80,102, 76,108, 85,103,
285 92,101, 87,98, 93,96, 86,94, 91,93, 85,91, 93,89, 99,89, 105,93,
286 107,85, 102,82, 92,80
287 };
288
289 init(l, 22, color, coords, ELEMENTS(coords)/2);
290 }
291
poly23(struct lion * l)292 static void poly23(struct lion *l)
293 {
294 VGfloat color = 0x9c826b;
295 static const VGfloat coords[] = {109,77, 111,83, 109,89, 113,94, 117,90, 117,81, 114,78
296 };
297
298 init(l, 23, color, coords, ELEMENTS(coords)/2);
299 }
300
poly24(struct lion * l)301 static void poly24(struct lion *l)
302 {
303 VGfloat color = 0x9c826b;
304 static const VGfloat coords[] = {122,128, 127,126, 134,127, 136,129, 134,130, 130,128, 124,129
305 };
306
307 init(l, 24, color, coords, ELEMENTS(coords)/2);
308 }
309
poly25(struct lion * l)310 static void poly25(struct lion *l)
311 {
312 VGfloat color = 0x9c826b;
313 static const VGfloat coords[] = {78,27, 82,32, 80,33, 82,36, 78,37, 82,40, 78,42, 81,46, 76,47,
314 78,49, 74,50, 82,52, 87,50, 83,48, 91,46, 86,45, 91,42, 88,40,
315 92,37, 86,34, 90,31, 86,29, 89,26
316 };
317
318 init(l, 25, color, coords, ELEMENTS(coords)/2);
319 }
320
poly26(struct lion * l)321 static void poly26(struct lion *l)
322 {
323 VGfloat color = 0x9c826b;
324 static const VGfloat coords[] = {82,17, 92,20, 79,21, 90,25, 81,25, 94,28, 93,26, 101,30,
325 101,26, 107,33, 108,28, 111,40, 113,34, 115,45, 117,39,
326 119,54, 121,46, 124,58, 126,47, 129,59, 130,49, 134,58,
327 133,44, 137,48, 133,37, 137,40, 133,32, 126,20, 135,26,
328 132,19, 138,23, 135,17, 142,18, 132,11, 116,6, 94,6, 78,11,
329 92,12, 80,14, 90,16
330 };
331
332 init(l, 26, color, coords, ELEMENTS(coords)/2);
333 }
334
poly27(struct lion * l)335 static void poly27(struct lion *l)
336 {
337 VGfloat color = 0x9c826b;
338 static const VGfloat coords[] = {142,234, 132,227, 124,223, 115,220, 110,225, 118,224, 127,229,
339 135,236, 122,234, 115,237, 113,242, 121,238, 139,243, 121,245,
340 111,254, 95,254, 102,244, 104,235, 110,229, 100,231, 104,224,
341 113,216, 122,215, 132,217, 141,224, 145,230, 149,240
342 };
343
344 init(l, 27, color, coords, ELEMENTS(coords)/2);
345 }
346
poly28(struct lion * l)347 static void poly28(struct lion *l)
348 {
349 VGfloat color = 0x9c826b;
350 static const VGfloat coords[] = {115,252, 125,248, 137,249, 143,258, 134,255, 125,254
351 };
352
353 init(l, 28, color, coords, ELEMENTS(coords)/2);
354 }
355
poly29(struct lion * l)356 static void poly29(struct lion *l)
357 {
358 VGfloat color = 0x9c826b;
359 static const VGfloat coords[] = {114,212, 130,213, 140,219, 147,225, 144,214, 137,209, 128,207
360 };
361
362 init(l, 29, color, coords, ELEMENTS(coords)/2);
363 }
364
poly30(struct lion * l)365 static void poly30(struct lion *l)
366 {
367 VGfloat color = 0x9c826b;
368 static const VGfloat coords[] = {102,263, 108,258, 117,257, 131,258, 116,260, 109,265
369 };
370
371 init(l, 30, color, coords, ELEMENTS(coords)/2);
372 }
373
poly31(struct lion * l)374 static void poly31(struct lion *l)
375 {
376 VGfloat color = 0x9c826b;
377 static const VGfloat coords[] = {51,241, 35,224, 40,238, 23,224, 31,242, 19,239, 28,247, 17,246,
378 25,250, 37,254, 39,263, 44,271, 47,294, 48,317, 51,328, 60,351,
379 60,323, 53,262, 47,246
380 };
381
382 init(l, 31, color, coords, ELEMENTS(coords)/2);
383 }
384
poly32(struct lion * l)385 static void poly32(struct lion *l)
386 {
387 VGfloat color = 0x9c826b;
388 static const VGfloat coords[] = {2,364, 9,367, 14,366, 18,355, 20,364, 26,366, 31,357, 35,364,
389 39,364, 42,357, 47,363, 53,360, 59,357, 54,369, 7,373
390 };
391
392 init(l, 32, color, coords, ELEMENTS(coords)/2);
393 }
394
poly33(struct lion * l)395 static void poly33(struct lion *l)
396 {
397 VGfloat color = 0x9c826b;
398 static const VGfloat coords[] = {7,349, 19,345, 25,339, 18,341, 23,333, 28,326, 23,326, 27,320,
399 23,316, 25,311, 20,298, 15,277, 12,264, 9,249, 10,223, 3,248,
400 5,261, 15,307, 17,326, 11,343
401 };
402
403 init(l, 33, color, coords, ELEMENTS(coords)/2);
404 }
405
poly34(struct lion * l)406 static void poly34(struct lion *l)
407 {
408 VGfloat color = 0x9c826b;
409 static const VGfloat coords[] = {11,226, 15,231, 25,236, 18,227
410 };
411
412 init(l, 34, color, coords, ELEMENTS(coords)/2);
413 }
414
poly35(struct lion * l)415 static void poly35(struct lion *l)
416 {
417 VGfloat color = 0x9c826b;
418 static const VGfloat coords[] = {13,214, 19,217, 32,227, 23,214, 16,208, 15,190, 24,148,
419 31,121, 24,137, 14,170, 8,189
420 };
421
422 init(l, 35, color, coords, ELEMENTS(coords)/2);
423 }
424
poly36(struct lion * l)425 static void poly36(struct lion *l)
426 {
427 VGfloat color = 0x9c826b;
428 static const VGfloat coords[] = {202,254, 195,258, 199,260, 193,263, 197,263, 190,268,
429 196,268, 191,273, 188,282, 200,272, 194,272, 201,266,
430 197,265, 204,262, 200,258, 204,256
431 };
432
433 init(l, 36, color, coords, ELEMENTS(coords)/2);
434 }
435
poly37(struct lion * l)436 static void poly37(struct lion *l)
437 {
438 VGfloat color = 0x845433;
439 static const VGfloat coords[] = {151,213, 165,212, 179,225, 189,246, 187,262, 179,275,
440 176,263, 177,247, 171,233, 163,230, 165,251, 157,264,
441 146,298, 145,321, 133,326, 143,285, 154,260, 153,240
442 };
443
444 init(l, 37, color, coords, ELEMENTS(coords)/2);
445 }
446
poly38(struct lion * l)447 static void poly38(struct lion *l)
448 {
449 VGfloat color = 0x845433;
450 static const VGfloat coords[] = {91,132, 95,145, 97,154, 104,148, 107,155, 109,150, 111,158,
451 115,152, 118,159, 120,153, 125,161, 126,155, 133,164, 132,154,
452 137,163, 137,152, 142,163, 147,186, 152,192, 148,167, 141,143,
453 124,145, 105,143
454 };
455
456 init(l, 38, color, coords, ELEMENTS(coords)/2);
457 }
458
poly39(struct lion * l)459 static void poly39(struct lion *l)
460 {
461 VGfloat color = 0x9c826b;
462 static const VGfloat coords[] = {31,57, 23,52, 26,51, 20,44, 23,42, 21,36, 22,29, 25,23,
463 24,32, 30,43, 26,41, 30,50, 26,48
464 };
465
466 init(l, 39, color, coords, ELEMENTS(coords)/2);
467 }
468
poly40(struct lion * l)469 static void poly40(struct lion *l)
470 {
471 VGfloat color = 0x9c826b;
472 static const VGfloat coords[] = {147,21, 149,28, 155,21, 161,16, 167,14, 175,15, 173,11, 161,9
473 };
474
475 init(l, 40, color, coords, ELEMENTS(coords)/2);
476 }
477
poly41(struct lion * l)478 static void poly41(struct lion *l)
479 {
480 VGfloat color = 0x9c826b;
481 static const VGfloat coords[] = {181,39, 175,51, 169,57, 171,65, 165,68, 165,75, 160,76,
482 162,91, 171,71, 180,51
483 };
484
485 init(l, 41, color, coords, ELEMENTS(coords)/2);
486 }
487
poly42(struct lion * l)488 static void poly42(struct lion *l)
489 {
490 VGfloat color = 0x9c826b;
491 static const VGfloat coords[] = {132,346, 139,348, 141,346, 142,341, 147,342, 143,355, 133,350
492 };
493
494 init(l, 42, color, coords, ELEMENTS(coords)/2);
495 }
496
poly43(struct lion * l)497 static void poly43(struct lion *l)
498 {
499 VGfloat color = 0x9c826b;
500 static const VGfloat coords[] = {146,355, 151,352, 155,348, 157,343, 160,349, 151,356, 147,357
501 };
502
503 init(l, 43, color, coords, ELEMENTS(coords)/2);
504 }
505
poly44(struct lion * l)506 static void poly44(struct lion *l)
507 {
508 VGfloat color = 0x9c826b;
509 static const VGfloat coords[] = {99,266, 100,281, 94,305, 86,322, 78,332, 72,346, 73,331, 91,291
510 };
511
512 init(l, 44, color, coords, ELEMENTS(coords)/2);
513 }
514
poly45(struct lion * l)515 static void poly45(struct lion *l)
516 {
517 VGfloat color = 0x9c826b;
518 static const VGfloat coords[] = {20,347, 32,342, 45,340, 54,345, 45,350, 42,353, 38,350,
519 31,353, 29,356, 23,350, 19,353, 15,349
520 };
521
522 init(l, 45, color, coords, ELEMENTS(coords)/2);
523 }
524
poly46(struct lion * l)525 static void poly46(struct lion *l)
526 {
527 VGfloat color = 0x9c826b;
528 static const VGfloat coords[] = {78,344, 86,344, 92,349, 88,358, 84,352
529 };
530
531 init(l, 46, color, coords, ELEMENTS(coords)/2);
532 }
533
poly47(struct lion * l)534 static void poly47(struct lion *l)
535 {
536 VGfloat color = 0x9c826b;
537 static const VGfloat coords[] = {93,347, 104,344, 117,345, 124,354, 121,357, 116,351,
538 112,351, 108,355, 102,351
539 };
540
541 init(l, 47, color, coords, ELEMENTS(coords)/2);
542 }
543
poly48(struct lion * l)544 static void poly48(struct lion *l)
545 {
546 VGfloat color = 0x000000;
547 static const VGfloat coords[] = {105,12, 111,18, 113,24, 113,29, 119,34, 116,23, 112,16
548 };
549
550 init(l, 48, color, coords, ELEMENTS(coords)/2);
551 }
552
poly49(struct lion * l)553 static void poly49(struct lion *l)
554 {
555 VGfloat color = 0x000000;
556 static const VGfloat coords[] = {122,27, 125,34, 127,43, 128,34, 125,29
557 };
558
559 init(l, 49, color, coords, ELEMENTS(coords)/2);
560 }
561
poly50(struct lion * l)562 static void poly50(struct lion *l)
563 {
564 VGfloat color = 0x000000;
565 static const VGfloat coords[] = {115,13, 122,19, 122,15, 113,10
566 };
567
568 init(l, 50, color, coords, ELEMENTS(coords)/2);
569 }
570
poly51(struct lion * l)571 static void poly51(struct lion *l)
572 {
573 VGfloat color = 0xffe5b2;
574 static const VGfloat coords[] = {116,172, 107,182, 98,193, 98,183, 90,199, 89,189, 84,207,
575 88,206, 87,215, 95,206, 93,219, 91,230, 98,216, 97,226,
576 104,214, 112,209, 104,208, 113,202, 126,200, 139,207, 132,198,
577 142,203, 134,192, 142,195, 134,187, 140,185, 130,181, 136,177,
578 126,177, 125,171, 116,180
579 };
580
581 init(l, 51, color, coords, ELEMENTS(coords)/2);
582 }
583
poly52(struct lion * l)584 static void poly52(struct lion *l)
585 {
586 VGfloat color = 0xffe5b2;
587 static const VGfloat coords[] = {74,220, 67,230, 67,221, 59,235, 63,233, 60,248, 70,232, 65,249,
588 71,243, 67,256, 73,250, 69,262, 73,259, 71,267, 76,262, 72,271,
589 78,270, 76,275, 82,274, 78,290, 86,279, 86,289, 92,274, 88,275,
590 87,264, 82,270, 82,258, 77,257, 78,247, 73,246, 77,233, 72,236
591 };
592
593 init(l, 52, color, coords, ELEMENTS(coords)/2);
594 }
595
poly53(struct lion * l)596 static void poly53(struct lion *l)
597 {
598 VGfloat color = 0xffe5b2;
599 static const VGfloat coords[] = {133,230, 147,242, 148,250, 145,254, 138,247, 129,246, 142,245,
600 138,241, 128,237, 137,238
601 };
602
603 init(l, 53, color, coords, ELEMENTS(coords)/2);
604 }
605
poly54(struct lion * l)606 static void poly54(struct lion *l)
607 {
608 VGfloat color = 0xffe5b2;
609 static const VGfloat coords[] = {133,261, 125,261, 116,263, 111,267, 125,265
610 };
611
612 init(l, 54, color, coords, ELEMENTS(coords)/2);
613 }
614
poly55(struct lion * l)615 static void poly55(struct lion *l)
616 {
617 VGfloat color = 0xffe5b2;
618 static const VGfloat coords[] = {121,271, 109,273, 103,279, 99,305, 92,316, 85,327, 83,335,
619 89,340, 97,341, 94,336, 101,336, 96,331, 103,330, 97,327, 108,325,
620 99,322, 109,321, 100,318, 110,317, 105,314, 110,312, 107,310, 113,308,
621 105,306, 114,303, 105,301, 115,298, 107,295, 115,294, 108,293, 117,291,
622 109,289, 117,286, 109,286, 118,283, 112,281, 118,279, 114,278,
623 119,276, 115,274
624 };
625
626 init(l, 55, color, coords, ELEMENTS(coords)/2);
627 }
628
poly56(struct lion * l)629 static void poly56(struct lion *l)
630 {
631 VGfloat color = 0xffe5b2;
632 static const VGfloat coords[] = {79,364, 74,359, 74,353, 76,347, 80,351, 83,356, 82,360
633 };
634
635 init(l, 56, color, coords, ELEMENTS(coords)/2);
636 }
637
poly57(struct lion * l)638 static void poly57(struct lion *l)
639 {
640 VGfloat color = 0xffe5b2;
641 static const VGfloat coords[] = {91,363, 93,356, 97,353, 103,355, 105,360, 103,366, 99,371, 94,368
642 };
643
644 init(l, 57, color, coords, ELEMENTS(coords)/2);
645 }
646
poly58(struct lion * l)647 static void poly58(struct lion *l)
648 {
649 VGfloat color = 0xffe5b2;
650 static const VGfloat coords[] = {110,355, 114,353, 118,357, 117,363, 113,369, 111,362
651 };
652
653 init(l, 58, color, coords, ELEMENTS(coords)/2);
654 }
655
poly59(struct lion * l)656 static void poly59(struct lion *l)
657 {
658 VGfloat color = 0xffe5b2;
659 static const VGfloat coords[] = {126,354, 123,358, 124,367, 126,369, 129,361, 129,357
660 };
661
662 init(l, 59, color, coords, ELEMENTS(coords)/2);
663 }
664
poly60(struct lion * l)665 static void poly60(struct lion *l)
666 {
667 VGfloat color = 0xffe5b2;
668 static const VGfloat coords[] = {30,154, 24,166, 20,182, 23,194, 29,208, 37,218, 41,210, 41,223,
669 46,214, 46,227, 52,216, 52,227, 61,216, 59,225, 68,213, 73,219,
670 70,207, 77,212, 69,200, 77,202, 70,194, 78,197, 68,187, 76,182,
671 64,182, 58,175, 58,185, 53,177, 50,186, 46,171, 44,182, 39,167,
672 36,172, 36,162, 30,166
673 };
674
675 init(l, 60, color, coords, ELEMENTS(coords)/2);
676 }
677
poly61(struct lion * l)678 static void poly61(struct lion *l)
679 {
680 VGfloat color = 0xffe5b2;
681 static const VGfloat coords[] = {44,130, 41,137, 45,136, 43,150, 48,142, 48,157, 53,150,
682 52,164, 60,156, 61,169, 64,165, 66,175, 70,167, 74,176,
683 77,168, 80,183, 85,172, 90,182, 93,174, 98,181, 99,173,
684 104,175, 105,169, 114,168, 102,163, 95,157, 94,166, 90,154,
685 87,162, 82,149, 75,159, 72,148, 68,155, 67,143, 62,148, 62,138,
686 58,145, 56,133, 52,142, 52,128, 49,134, 47,125
687 };
688
689 init(l, 61, color, coords, ELEMENTS(coords)/2);
690 }
691
poly62(struct lion * l)692 static void poly62(struct lion *l)
693 {
694 VGfloat color = 0xffe5b2;
695 static const VGfloat coords[] = {13,216, 19,219, 36,231, 22,223, 16,222, 22,227, 12,224, 13,220, 16,220
696 };
697
698 init(l, 62, color, coords, ELEMENTS(coords)/2);
699 }
700
poly63(struct lion * l)701 static void poly63(struct lion *l)
702 {
703 VGfloat color = 0xffe5b2;
704 static const VGfloat coords[] = {10,231, 14,236, 25,239, 27,237, 19,234
705 };
706
707 init(l, 63, color, coords, ELEMENTS(coords)/2);
708 }
709
poly64(struct lion * l)710 static void poly64(struct lion *l)
711 {
712 VGfloat color = 0xffe5b2;
713 static const VGfloat coords[] = {9,245, 14,242, 25,245, 13,245
714 };
715
716 init(l, 64, color, coords, ELEMENTS(coords)/2);
717 }
718
poly65(struct lion * l)719 static void poly65(struct lion *l)
720 {
721 VGfloat color = 0xffe5b2;
722 static const VGfloat coords[] = {33,255, 26,253, 18,254, 25,256, 18,258, 27,260, 18,263,
723 27,265, 19,267, 29,270, 21,272, 29,276, 21,278, 30,281,
724 22,283, 31,287, 24,288, 32,292, 23,293, 34,298, 26,299,
725 37,303, 32,305, 39,309, 33,309, 39,314, 34,314, 40,318,
726 34,317, 40,321, 34,321, 41,326, 33,326, 40,330, 33,332,
727 39,333, 33,337, 42,337, 54,341, 49,337, 52,335, 47,330,
728 50,330, 45,325, 49,325, 45,321, 48,321, 45,316, 46,306,
729 45,286, 43,274, 36,261
730 };
731
732 init(l, 65, color, coords, ELEMENTS(coords)/2);
733 }
734
poly66(struct lion * l)735 static void poly66(struct lion *l)
736 {
737 VGfloat color = 0xffe5b2;
738 static const VGfloat coords[] = {7,358, 9,351, 14,351, 17,359, 11,364
739 };
740
741 init(l, 66, color, coords, ELEMENTS(coords)/2);
742 }
743
poly67(struct lion * l)744 static void poly67(struct lion *l)
745 {
746 VGfloat color = 0xffe5b2;
747 static const VGfloat coords[] = {44,354, 49,351, 52,355, 49,361
748 };
749
750 init(l, 67, color, coords, ELEMENTS(coords)/2);
751 }
752
poly68(struct lion * l)753 static void poly68(struct lion *l)
754 {
755 VGfloat color = 0xffe5b2;
756 static const VGfloat coords[] = {32,357, 37,353, 40,358, 36,361
757 };
758
759 init(l, 68, color, coords, ELEMENTS(coords)/2);
760 }
761
poly69(struct lion * l)762 static void poly69(struct lion *l)
763 {
764 VGfloat color = 0xffe5b2;
765 static const VGfloat coords[] = {139,334, 145,330, 154,330, 158,334, 154,341, 152,348,
766 145,350, 149,340, 147,336, 141,339, 139,345, 136,342,
767 136,339
768 };
769
770 init(l, 69, color, coords, ELEMENTS(coords)/2);
771 }
772
poly70(struct lion * l)773 static void poly70(struct lion *l)
774 {
775 VGfloat color = 0xffe5b2;
776 static const VGfloat coords[] = {208,259, 215,259, 212,255, 220,259, 224,263, 225,274, 224,283,
777 220,292, 208,300, 206,308, 203,304, 199,315, 197,309, 195,318,
778 193,313, 190,322, 190,316, 185,325, 182,318, 180,325, 172,321,
779 178,320, 176,313, 186,312, 180,307, 188,307, 184,303, 191,302,
780 186,299, 195,294, 187,290, 197,288, 192,286, 201,283, 194,280,
781 203,277, 198,275, 207,271, 200,269, 209,265, 204,265, 212,262
782 };
783
784 init(l, 70, color, coords, ELEMENTS(coords)/2);
785 }
786
poly71(struct lion * l)787 static void poly71(struct lion *l)
788 {
789 VGfloat color = 0xffe5b2;
790 static const VGfloat coords[] = {106,126, 106,131, 109,132, 111,134, 115,132, 115,135, 119,133, 118,137,
791 123,137, 128,137, 133,134, 136,130, 136,127, 132,124, 118,128, 112,128,
792 106,126, 106,126, 106,126
793 };
794
795 init(l, 71, color, coords, ELEMENTS(coords)/2);
796 }
797
poly72(struct lion * l)798 static void poly72(struct lion *l)
799 {
800 VGfloat color = 0xffe5b2;
801 static const VGfloat coords[] = {107,114, 101,110, 98,102, 105,97, 111,98, 119,102, 121,108, 118,112, 113,115
802 };
803
804 init(l, 72, color, coords, ELEMENTS(coords)/2);
805 }
806
poly73(struct lion * l)807 static void poly73(struct lion *l)
808 {
809 VGfloat color = 0xffe5b2;
810 static const VGfloat coords[] = {148,106, 145,110, 146,116, 150,118, 152,111, 151,107
811 };
812
813 init(l, 73, color, coords, ELEMENTS(coords)/2);
814 }
815
poly74(struct lion * l)816 static void poly74(struct lion *l)
817 {
818 VGfloat color = 0xffe5b2;
819 static const VGfloat coords[] = {80,55, 70,52, 75,58, 63,57, 72,61, 57,61, 67,66, 57,67, 62,69, 54,71,
820 61,73, 54,77, 63,78, 53,85, 60,84, 56,90, 69,84, 63,82, 75,76, 70,75,
821 77,72, 72,71, 78,69, 72,66, 81,67, 78,64, 82,63, 80,60, 86,62
822 };
823
824 init(l, 74, color, coords, ELEMENTS(coords)/2);
825 }
826
poly75(struct lion * l)827 static void poly75(struct lion *l)
828 {
829 VGfloat color = 0xffe5b2;
830 static const VGfloat coords[] = {87,56, 91,52, 96,50, 102,56, 98,56, 92,60
831 };
832
833 init(l, 75, color, coords, ELEMENTS(coords)/2);
834 }
835
poly76(struct lion * l)836 static void poly76(struct lion *l)
837 {
838 VGfloat color = 0xffe5b2;
839 static const VGfloat coords[] = {85,68, 89,73, 98,76, 106,74, 96,73, 91,70
840 };
841
842 init(l, 76, color, coords, ELEMENTS(coords)/2);
843 }
844
poly77(struct lion * l)845 static void poly77(struct lion *l)
846 {
847 VGfloat color = 0xffe5b2;
848 static const VGfloat coords[] = {115,57, 114,64, 111,64, 115,75, 122,81, 122,74, 126,79,
849 126,74, 131,78, 130,72, 133,77, 131,68, 126,61, 119,57
850 };
851
852 init(l, 77, color, coords, ELEMENTS(coords)/2);
853 }
854
poly78(struct lion * l)855 static void poly78(struct lion *l)
856 {
857 VGfloat color = 0xffe5b2;
858 static const VGfloat coords[] = {145,48, 143,53, 147,59, 151,59, 150,55
859 };
860
861 init(l, 78, color, coords, ELEMENTS(coords)/2);
862 }
863
poly79(struct lion * l)864 static void poly79(struct lion *l)
865 {
866 VGfloat color = 0xffe5b2;
867 static const VGfloat coords[] = {26,22, 34,15, 43,10, 52,10, 59,16, 47,15, 32,22
868 };
869
870 init(l, 79, color, coords, ELEMENTS(coords)/2);
871 }
872
poly80(struct lion * l)873 static void poly80(struct lion *l)
874 {
875 VGfloat color = 0xffe5b2;
876 static const VGfloat coords[] = {160,19, 152,26, 149,34, 154,33, 152,30, 157,30, 155,26, 158,27,
877 157,23, 161,23
878 };
879
880 init(l, 80, color, coords, ELEMENTS(coords)/2);
881 }
882
poly81(struct lion * l)883 static void poly81(struct lion *l)
884 {
885 VGfloat color = 0x000000;
886 static const VGfloat coords[] = {98,117, 105,122, 109,122, 105,117, 113,120, 121,120, 130,112, 128,108,
887 123,103, 123,99, 128,101, 132,106, 135,109, 142,105, 142,101, 145,101,
888 145,91, 148,101, 145,105, 136,112, 135,116, 143,124, 148,120, 150,122,
889 142,128, 133,122, 121,125, 112,126, 103,125, 100,129, 96,124
890 };
891
892 init(l, 81, color, coords, ELEMENTS(coords)/2);
893 }
894
poly82(struct lion * l)895 static void poly82(struct lion *l)
896 {
897 VGfloat color = 0x000000;
898 static const VGfloat coords[] = {146,118, 152,118, 152,115, 149,115
899 };
900
901 init(l, 82, color, coords, ELEMENTS(coords)/2);
902 }
903
poly83(struct lion * l)904 static void poly83(struct lion *l)
905 {
906 VGfloat color = 0x000000;
907 static const VGfloat coords[] = {148,112, 154,111, 154,109, 149,109
908 };
909
910 init(l, 83, color, coords, ELEMENTS(coords)/2);
911 }
912
poly84(struct lion * l)913 static void poly84(struct lion *l)
914 {
915 VGfloat color = 0x000000;
916 static const VGfloat coords[] = {106,112, 108,115, 114,116, 118,114
917 };
918
919 init(l, 84, color, coords, ELEMENTS(coords)/2);
920 }
921
poly85(struct lion * l)922 static void poly85(struct lion *l)
923 {
924 VGfloat color = 0x000000;
925 static const VGfloat coords[] = {108,108, 111,110, 116,110, 119,108
926 };
927
928 init(l, 85, color, coords, ELEMENTS(coords)/2);
929 }
930
poly86(struct lion * l)931 static void poly86(struct lion *l)
932 {
933 VGfloat color = 0x000000;
934 static const VGfloat coords[] = {106,104, 109,105, 117,106, 115,104
935 };
936
937 init(l, 86, color, coords, ELEMENTS(coords)/2);
938 }
939
poly87(struct lion * l)940 static void poly87(struct lion *l)
941 {
942 VGfloat color = 0x000000;
943 static const VGfloat coords[] = {50,25, 41,26, 34,33, 39,43, 49,58, 36,51, 47,68, 55,69, 54,59,
944 61,57, 74,46, 60,52, 67,42, 57,48, 61,40, 54,45, 60,36, 59,29,
945 48,38, 52,30, 47,32
946 };
947
948 init(l, 87, color, coords, ELEMENTS(coords)/2);
949 }
950
poly88(struct lion * l)951 static void poly88(struct lion *l)
952 {
953 VGfloat color = 0x000000;
954 static const VGfloat coords[] = {147,34, 152,41, 155,49, 161,53, 157,47, 164,47, 158,43, 168,44,
955 159,40, 164,37, 169,37, 164,33, 169,34, 165,28, 170,30, 170,25,
956 173,29, 175,27, 176,32, 173,36, 175,39, 172,42, 172,46, 168,49,
957 170,55, 162,57, 158,63, 155,58, 153,50, 149,46
958 };
959
960 init(l, 88, color, coords, ELEMENTS(coords)/2);
961 }
962
poly89(struct lion * l)963 static void poly89(struct lion *l)
964 {
965 VGfloat color = 0x000000;
966 static const VGfloat coords[] = {155,71, 159,80, 157,93, 157,102, 155,108, 150,101, 149,93,
967 154,101, 152,91, 151,83, 155,79
968 };
969
970 init(l, 89, color, coords, ELEMENTS(coords)/2);
971 }
972
poly90(struct lion * l)973 static void poly90(struct lion *l)
974 {
975 VGfloat color = 0x000000;
976 static const VGfloat coords[] = {112,78, 115,81, 114,91, 112,87, 113,82
977 };
978
979 init(l, 90, color, coords, ELEMENTS(coords)/2);
980 }
981
poly91(struct lion * l)982 static void poly91(struct lion *l)
983 {
984 VGfloat color = 0x000000;
985 static const VGfloat coords[] = {78,28, 64,17, 58,11, 47,9, 36,10, 28,16, 21,26, 18,41,
986 20,51, 23,61, 33,65, 28,68, 37,74, 36,81, 43,87, 48,90,
987 43,100, 40,98, 39,90, 31,80, 30,72, 22,71, 17,61, 14,46,
988 16,28, 23,17, 33,9, 45,6, 54,6, 65,12
989 };
990
991 init(l, 91, color, coords, ELEMENTS(coords)/2);
992 }
993
poly92(struct lion * l)994 static void poly92(struct lion *l)
995 {
996 VGfloat color = 0x000000;
997 static const VGfloat coords[] = {67,18, 76,9, 87,5, 101,2, 118,3, 135,8, 149,20, 149,26,
998 144,19, 132,12, 121,9, 105,7, 89,8, 76,14, 70,20
999 };
1000
1001 init(l, 92, color, coords, ELEMENTS(coords)/2);
1002 }
1003
poly93(struct lion * l)1004 static void poly93(struct lion *l)
1005 {
1006 VGfloat color = 0x000000;
1007 static const VGfloat coords[] = {56,98, 48,106, 56,103, 47,112, 56,110, 52,115, 57,113, 52,121, 62,115,
1008 58,123, 65,119, 63,125, 69,121, 68,127, 74,125, 74,129, 79,128, 83,132,
1009 94,135, 93,129, 85,127, 81,122, 76,126, 75,121, 71,124, 71,117, 66,121,
1010 66,117, 62,117, 64,112, 60,113, 60,110, 57,111, 61,105, 57,107, 60,101,
1011 55,102
1012 };
1013
1014 init(l, 93, color, coords, ELEMENTS(coords)/2);
1015 }
1016
poly94(struct lion * l)1017 static void poly94(struct lion *l)
1018 {
1019 VGfloat color = 0x000000;
1020 static const VGfloat coords[] = {101,132, 103,138, 106,134, 106,139, 112,136, 111,142, 115,139,
1021 114,143, 119,142, 125,145, 131,142, 135,138, 140,134, 140,129,
1022 143,135, 145,149, 150,171, 149,184, 145,165, 141,150, 136,147,
1023 132,151, 131,149, 126,152, 125,150, 121,152, 117,148, 111,152,
1024 110,148, 105,149, 104,145, 98,150, 96,138, 94,132, 94,130, 98,132
1025 };
1026
1027 init(l, 94, color, coords, ELEMENTS(coords)/2);
1028 }
1029
poly95(struct lion * l)1030 static void poly95(struct lion *l)
1031 {
1032 VGfloat color = 0x000000;
1033 static const VGfloat coords[] = {41,94, 32,110, 23,132, 12,163, 6,190, 7,217, 5,236,
1034 3,247, 9,230, 12,211, 12,185, 18,160, 26,134, 35,110,
1035 43,99
1036 };
1037
1038 init(l, 95, color, coords, ELEMENTS(coords)/2);
1039 }
1040
poly96(struct lion * l)1041 static void poly96(struct lion *l)
1042 {
1043 VGfloat color = 0x000000;
1044 static const VGfloat coords[] = {32,246, 41,250, 50,257, 52,267, 53,295, 53,323, 59,350,
1045 54,363, 51,365, 44,366, 42,360, 40,372, 54,372, 59,366,
1046 62,353, 71,352, 75,335, 73,330, 66,318, 68,302, 64,294,
1047 67,288, 63,286, 63,279, 59,275, 58,267, 56,262, 50,247,
1048 42,235, 44,246, 32,236, 35,244
1049 };
1050
1051 init(l, 96, color, coords, ELEMENTS(coords)/2);
1052 }
1053
poly97(struct lion * l)1054 static void poly97(struct lion *l)
1055 {
1056 VGfloat color = 0x000000;
1057 static const VGfloat coords[] = {134,324, 146,320, 159,322, 173,327, 179,337, 179,349,
1058 172,355, 158,357, 170,350, 174,343, 170,333, 163,328, 152,326,
1059 134,329
1060 };
1061
1062 init(l, 97, color, coords, ELEMENTS(coords)/2);
1063 }
1064
poly98(struct lion * l)1065 static void poly98(struct lion *l)
1066 {
1067 VGfloat color = 0x000000;
1068 static const VGfloat coords[] = {173,339, 183,334, 184,338, 191,329, 194,332, 199,323, 202,325,
1069 206,318, 209,320, 213,309, 221,303, 228,296, 232,289, 234,279,
1070 233,269, 230,262, 225,256, 219,253, 208,252, 198,252, 210,249,
1071 223,250, 232,257, 237,265, 238,277, 238,291, 232,305, 221,323,
1072 218,335, 212,342, 200,349, 178,348
1073 };
1074
1075 init(l, 98, color, coords, ELEMENTS(coords)/2);
1076 }
1077
poly99(struct lion * l)1078 static void poly99(struct lion *l)
1079 {
1080 VGfloat color = 0x000000;
1081 static const VGfloat coords[] = {165,296, 158,301, 156,310, 156,323, 162,324, 159,318,
1082 162,308, 162,304
1083 };
1084
1085 init(l, 99, color, coords, ELEMENTS(coords)/2);
1086 }
1087
poly100(struct lion * l)1088 static void poly100(struct lion *l)
1089 {
1090 VGfloat color = 0x000000;
1091 static const VGfloat coords[] = {99,252, 105,244, 107,234, 115,228, 121,228, 131,235,
1092 122,233, 113,235, 109,246, 121,239, 133,243, 121,243,
1093 110,251
1094 };
1095
1096 init(l, 100, color, coords, ELEMENTS(coords)/2);
1097 }
1098
poly101(struct lion * l)1099 static void poly101(struct lion *l)
1100 {
1101 VGfloat color = 0x000000;
1102 static const VGfloat coords[] = {117,252, 124,247, 134,249, 136,253, 126,252
1103 };
1104
1105 init(l, 101, color, coords, ELEMENTS(coords)/2);
1106 }
1107
poly102(struct lion * l)1108 static void poly102(struct lion *l)
1109 {
1110 VGfloat color = 0x000000;
1111 static const VGfloat coords[] = {117,218, 132,224, 144,233, 140,225, 132,219, 117,218,
1112 117,218, 117,218
1113 };
1114
1115 init(l, 102, color, coords, ELEMENTS(coords)/2);
1116 }
1117
poly103(struct lion * l)1118 static void poly103(struct lion *l)
1119 {
1120 VGfloat color = 0x000000;
1121 static const VGfloat coords[] = {122,212, 134,214, 143,221, 141,213, 132,210
1122 };
1123
1124 init(l, 103, color, coords, ELEMENTS(coords)/2);
1125 }
1126
poly104(struct lion * l)1127 static void poly104(struct lion *l)
1128 {
1129 VGfloat color = 0x000000;
1130 static const VGfloat coords[] = {69,352, 70,363, 76,373, 86,378, 97,379, 108,379, 120,377,
1131 128,378, 132,373, 135,361, 133,358, 132,366, 127,375, 121,374,
1132 121,362, 119,367, 117,374, 110,376, 110,362, 107,357, 106,371,
1133 104,375, 97,376, 90,375, 90,368, 86,362, 83,364, 86,369, 85,373,
1134 78,370, 73,362, 71,351
1135 };
1136
1137 init(l, 104, color, coords, ELEMENTS(coords)/2);
1138 }
1139
poly105(struct lion * l)1140 static void poly105(struct lion *l)
1141 {
1142 VGfloat color = 0x000000;
1143 static const VGfloat coords[] = {100,360, 96,363, 99,369, 102,364
1144 };
1145
1146 init(l, 105, color, coords, ELEMENTS(coords)/2);
1147 }
1148
poly106(struct lion * l)1149 static void poly106(struct lion *l)
1150 {
1151 VGfloat color = 0x000000;
1152 static const VGfloat coords[] = {115,360, 112,363, 114,369, 117,364
1153 };
1154
1155 init(l, 106, color, coords, ELEMENTS(coords)/2);
1156 }
1157
poly107(struct lion * l)1158 static void poly107(struct lion *l)
1159 {
1160 VGfloat color = 0x000000;
1161 static const VGfloat coords[] = {127,362, 125,364, 126,369, 128,365
1162 };
1163
1164 init(l, 107, color, coords, ELEMENTS(coords)/2);
1165 }
1166
poly108(struct lion * l)1167 static void poly108(struct lion *l)
1168 {
1169 VGfloat color = 0x000000;
1170 static const VGfloat coords[] = {5,255, 7,276, 11,304, 15,320, 13,334, 6,348, 2,353, 0,363,
1171 5,372, 12,374, 25,372, 38,372, 44,369, 42,367, 36,368, 31,369,
1172 30,360, 27,368, 20,370, 16,361, 15,368, 10,369, 3,366, 3,359, 6,352,
1173 11,348, 17,331, 19,316, 12,291, 9,274
1174 };
1175
1176 init(l, 108, color, coords, ELEMENTS(coords)/2);
1177 }
1178
poly109(struct lion * l)1179 static void poly109(struct lion *l)
1180 {
1181 VGfloat color = 0x000000;
1182 static const VGfloat coords[] = {10,358, 7,362, 10,366, 11,362
1183 };
1184
1185 init(l, 109, color, coords, ELEMENTS(coords)/2);
1186 }
1187
poly110(struct lion * l)1188 static void poly110(struct lion *l)
1189 {
1190 VGfloat color = 0x000000;
1191 static const VGfloat coords[] = {25,357, 22,360, 24,366, 27,360
1192 };
1193
1194 init(l, 110, color, coords, ELEMENTS(coords)/2);
1195 }
1196
poly111(struct lion * l)1197 static void poly111(struct lion *l)
1198 {
1199 VGfloat color = 0x000000;
1200 static const VGfloat coords[] = {37,357, 34,361, 36,365, 38,361
1201 };
1202
1203 init(l, 111, color, coords, ELEMENTS(coords)/2);
1204 }
1205
poly112(struct lion * l)1206 static void poly112(struct lion *l)
1207 {
1208 VGfloat color = 0x000000;
1209 static const VGfloat coords[] = {49,356, 46,359, 47,364, 50,360
1210 };
1211
1212 init(l, 112, color, coords, ELEMENTS(coords)/2);
1213 }
1214
poly113(struct lion * l)1215 static void poly113(struct lion *l)
1216 {
1217 VGfloat color = 0x000000;
1218 static const VGfloat coords[] = {130,101, 132,102, 135,101, 139,102, 143,103,
1219 142,101, 137,100, 133,100
1220 };
1221
1222 init(l, 113, color, coords, ELEMENTS(coords)/2);
1223 }
1224
poly114(struct lion * l)1225 static void poly114(struct lion *l)
1226 {
1227 VGfloat color = 0x000000;
1228 static const VGfloat coords[] = {106,48, 105,52, 108,56, 109,52
1229 };
1230
1231 init(l, 114, color, coords, ELEMENTS(coords)/2);
1232 }
1233
poly115(struct lion * l)1234 static void poly115(struct lion *l)
1235 {
1236 VGfloat color = 0x000000;
1237 static const VGfloat coords[] = {139,52, 139,56, 140,60, 142,58, 141,56
1238 };
1239
1240 init(l, 115, color, coords, ELEMENTS(coords)/2);
1241 }
1242
poly116(struct lion * l)1243 static void poly116(struct lion *l)
1244 {
1245 VGfloat color = 0x000000;
1246 static const VGfloat coords[] = {25,349, 29,351, 30,355, 33,350, 37,348, 42,351, 45,347,
1247 49,345, 44,343, 36,345
1248 };
1249
1250 init(l, 116, color, coords, ELEMENTS(coords)/2);
1251 }
1252
poly117(struct lion * l)1253 static void poly117(struct lion *l)
1254 {
1255 VGfloat color = 0x000000;
1256 static const VGfloat coords[] = {98,347, 105,351, 107,354, 109,349, 115,349, 120,353, 118,349,
1257 113,346, 104,346
1258 };
1259
1260 init(l, 117, color, coords, ELEMENTS(coords)/2);
1261 }
1262
poly118(struct lion * l)1263 static void poly118(struct lion *l)
1264 {
1265 VGfloat color = 0x000000;
1266 static const VGfloat coords[] = {83,348, 87,352, 87,357, 89,351, 87,348
1267 };
1268
1269 init(l, 118, color, coords, ELEMENTS(coords)/2);
1270 }
1271
poly119(struct lion * l)1272 static void poly119(struct lion *l)
1273 {
1274 VGfloat color = 0x000000;
1275 static const VGfloat coords[] = {155,107, 163,107, 170,107, 186,108, 175,109, 155,109
1276 };
1277
1278 init(l, 119, color, coords, ELEMENTS(coords)/2);
1279 }
1280
poly120(struct lion * l)1281 static void poly120(struct lion *l)
1282 {
1283 VGfloat color = 0x000000;
1284 static const VGfloat coords[] = {153,114, 162,113, 175,112, 192,114, 173,114, 154,115
1285 };
1286
1287 init(l, 120, color, coords, ELEMENTS(coords)/2);
1288 }
1289
poly121(struct lion * l)1290 static void poly121(struct lion *l)
1291 {
1292 VGfloat color = 0x000000;
1293 static const VGfloat coords[] = {152,118, 164,120, 180,123, 197,129, 169,123, 151,120
1294 };
1295
1296 init(l, 121, color, coords, ELEMENTS(coords)/2);
1297 }
1298
poly122(struct lion * l)1299 static void poly122(struct lion *l)
1300 {
1301 VGfloat color = 0x000000;
1302 static const VGfloat coords[] = {68,109, 87,106, 107,106, 106,108, 88,108
1303 };
1304
1305 init(l, 122, color, coords, ELEMENTS(coords)/2);
1306 }
1307
poly123(struct lion * l)1308 static void poly123(struct lion *l)
1309 {
1310 VGfloat color = 0x000000;
1311 static const VGfloat coords[] = {105,111, 95,112, 79,114, 71,116, 85,115, 102,113
1312 };
1313
1314 init(l, 123, color, coords, ELEMENTS(coords)/2);
1315 }
1316
poly124(struct lion * l)1317 static void poly124(struct lion *l)
1318 {
1319 VGfloat color = 0x000000;
1320 static const VGfloat coords[] = {108,101, 98,99, 87,99, 78,99, 93,100, 105,102
1321 };
1322
1323 init(l, 124, color, coords, ELEMENTS(coords)/2);
1324 }
1325
poly125(struct lion * l)1326 static void poly125(struct lion *l)
1327 {
1328 VGfloat color = 0x000000;
1329 static const VGfloat coords[] = {85,63, 91,63, 97,60, 104,60, 108,62, 111,69, 112,75,
1330 110,74, 108,71, 103,73, 106,69, 105,65, 103,64, 103,67,
1331 102,70, 99,70, 97,66, 94,67, 97,72, 88,67, 84,66
1332 };
1333
1334 init(l, 125, color, coords, ELEMENTS(coords)/2);
1335 }
1336
poly126(struct lion * l)1337 static void poly126(struct lion *l)
1338 {
1339 VGfloat color = 0x000000;
1340 static const VGfloat coords[] = {140,74, 141,66, 144,61, 150,61, 156,62, 153,70, 150,73,
1341 152,65, 150,65, 151,68, 149,71, 146,71, 144,66, 143,70,
1342 143,74
1343 };
1344
1345 init(l, 126, color, coords, ELEMENTS(coords)/2);
1346 }
1347
poly127(struct lion * l)1348 static void poly127(struct lion *l)
1349 {
1350 VGfloat color = 0x000000;
1351 static const VGfloat coords[] = {146,20, 156,11, 163,9, 172,9, 178,14, 182,18, 184,32, 182,42,
1352 182,52, 177,58, 176,67, 171,76, 165,90, 157,105, 160,92, 164,85,
1353 168,78, 167,73, 173,66, 172,62, 175,59, 174,55, 177,53, 180,46,
1354 181,29, 179,21, 173,13, 166,11, 159,13, 153,18, 148,23
1355 };
1356
1357 init(l, 127, color, coords, ELEMENTS(coords)/2);
1358 }
1359
poly128(struct lion * l)1360 static void poly128(struct lion *l)
1361 {
1362 VGfloat color = 0x000000;
1363 static const VGfloat coords[] = {150,187, 148,211, 150,233, 153,247, 148,267, 135,283, 125,299,
1364 136,292, 131,313, 122,328, 122,345, 129,352, 133,359, 133,367,
1365 137,359, 148,356, 140,350, 131,347, 129,340, 132,332, 140,328,
1366 137,322, 140,304, 154,265, 157,244, 155,223, 161,220, 175,229,
1367 186,247, 185,260, 176,275, 178,287, 185,277, 188,261, 196,253,
1368 189,236, 174,213
1369 };
1370
1371 init(l, 128, color, coords, ELEMENTS(coords)/2);
1372 }
1373
poly129(struct lion * l)1374 static void poly129(struct lion *l)
1375 {
1376 VGfloat color = 0x000000;
1377 static const VGfloat coords[] = {147,338, 142,341, 143,345, 141,354, 147,343
1378 };
1379
1380 init(l, 129, color, coords, ELEMENTS(coords)/2);
1381 }
1382
poly130(struct lion * l)1383 static void poly130(struct lion *l)
1384 {
1385 VGfloat color = 0x000000;
1386 static const VGfloat coords[] = {157,342, 156,349, 150,356, 157,353, 163,346, 162,342
1387 };
1388
1389 init(l, 130, color, coords, ELEMENTS(coords)/2);
1390 }
1391
poly131(struct lion * l)1392 static void poly131(struct lion *l)
1393 {
1394 VGfloat color = 0x000000;
1395 static const VGfloat coords[] = {99,265, 96,284, 92,299, 73,339, 73,333, 87,300
1396 };
1397
1398 init(l, 131, color, coords, ELEMENTS(coords)/2);
1399 }
1400
1401
lion_create(void)1402 struct lion * lion_create(void)
1403 {
1404 struct lion *l = calloc(1, sizeof(struct lion));
1405
1406 poly0(l);
1407 poly1(l);
1408 poly2(l);
1409 poly3(l);
1410 poly4(l);
1411 poly5(l);
1412 poly6(l);
1413 poly7(l);
1414 poly8(l);
1415 poly9(l);
1416
1417 poly10(l);
1418 poly11(l);
1419 poly12(l);
1420 poly13(l);
1421 poly14(l);
1422 poly15(l);
1423 poly16(l);
1424 poly17(l);
1425 poly18(l);
1426 poly19(l);
1427
1428 poly20(l);
1429 poly21(l);
1430 poly22(l);
1431 poly23(l);
1432 poly24(l);
1433 poly25(l);
1434 poly26(l);
1435 poly27(l);
1436 poly28(l);
1437 poly29(l);
1438
1439 poly30(l);
1440 poly31(l);
1441 poly32(l);
1442 poly33(l);
1443 poly34(l);
1444 poly35(l);
1445 poly36(l);
1446 poly37(l);
1447 poly38(l);
1448 poly39(l);
1449
1450 poly40(l);
1451 poly41(l);
1452 poly42(l);
1453 poly43(l);
1454 poly44(l);
1455 poly45(l);
1456 poly46(l);
1457 poly47(l);
1458 poly48(l);
1459 poly49(l);
1460
1461 poly50(l);
1462 poly51(l);
1463 poly52(l);
1464 poly53(l);
1465 poly54(l);
1466 poly55(l);
1467 poly56(l);
1468 poly57(l);
1469 poly58(l);
1470 poly59(l);
1471
1472 poly60(l);
1473 poly61(l);
1474 poly62(l);
1475 poly63(l);
1476 poly64(l);
1477 poly65(l);
1478 poly66(l);
1479 poly67(l);
1480 poly68(l);
1481 poly69(l);
1482
1483 poly70(l);
1484 poly71(l);
1485 poly72(l);
1486 poly73(l);
1487 poly74(l);
1488 poly75(l);
1489 poly76(l);
1490 poly77(l);
1491 poly78(l);
1492 poly79(l);
1493
1494 poly80(l);
1495 poly81(l);
1496 poly82(l);
1497 poly83(l);
1498 poly84(l);
1499 poly85(l);
1500 poly86(l);
1501 poly87(l);
1502 poly88(l);
1503 poly89(l);
1504
1505 poly90(l);
1506 poly91(l);
1507 poly92(l);
1508 poly93(l);
1509 poly94(l);
1510 poly95(l);
1511 poly96(l);
1512 poly97(l);
1513 poly98(l);
1514 poly99(l);
1515
1516 poly100(l);
1517 poly101(l);
1518 poly102(l);
1519 poly103(l);
1520 poly104(l);
1521 poly105(l);
1522 poly106(l);
1523 poly107(l);
1524 poly108(l);
1525 poly109(l);
1526
1527 poly110(l);
1528 poly111(l);
1529 poly112(l);
1530 poly113(l);
1531 poly114(l);
1532 poly115(l);
1533 poly116(l);
1534 poly117(l);
1535 poly118(l);
1536 poly119(l);
1537
1538 poly120(l);
1539 poly121(l);
1540 poly122(l);
1541 poly123(l);
1542 poly124(l);
1543 poly125(l);
1544 poly126(l);
1545 poly127(l);
1546 poly128(l);
1547 poly129(l);
1548
1549 poly130(l);
1550 poly131(l);
1551
1552 return l;
1553 }
1554
lion_render(struct lion * l)1555 void lion_render(struct lion *l)
1556 {
1557 VGint i;
1558
1559 for (i = 0; i < LION_SIZE; ++i) {
1560 vgSetPaint(l->fills[i], VG_FILL_PATH);
1561 vgDrawPath(l->paths[i], VG_FILL_PATH);
1562 }
1563 }
1564
lion_destroy(struct lion * l)1565 void lion_destroy(struct lion *l)
1566 {
1567 VGint i;
1568 for (i = 0; i < LION_SIZE; ++i) {
1569 vgDestroyPaint(l->fills[i]);
1570 vgDestroyPath(l->paths[i]);
1571 }
1572 free(l);
1573 }
1574