Line data Source code
1 : /*
2 : * GPAC - Multimedia Framework C SDK
3 : *
4 : * Authors: Cyril Concolato - Jean Le Feuvre
5 : * Copyright (c)2004-200X Telecom ParisTech - All rights reserved
6 : *
7 : * This file is part of GPAC / SVG Scene Graph sub-project
8 : *
9 : * GPAC is free software; you can redistribute it and/or modify
10 : * it under the terms of the GNU Lesser General Public License as published by
11 : * the Free Software Foundation; either version 2, or (at your option)
12 : * any later version.
13 : *
14 : * GPAC is distributed in the hope that it will be useful,
15 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 : * GNU Lesser General Public License for more details.
18 : *
19 : * You should have received a copy of the GNU Lesser General Public
20 : * License along with this library; see the file COPYING. If not, write to
21 : * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 : *
23 : */
24 :
25 :
26 : /*
27 : DO NOT MOFIFY - File generated on GMT Tue May 15 11:18:46 2007
28 :
29 : BY SVGGen for GPAC Version 0.5.0
30 : */
31 :
32 :
33 : #include <gpac/internal/laser_dev.h>
34 :
35 : #ifndef GPAC_DISABLE_LASER
36 :
37 136 : s32 gf_lsr_anim_type_from_attribute(u32 tag) {
38 : switch(tag) {
39 : case TAG_SVG_ATT_target:
40 : return 0;
41 : case TAG_SVG_ATT_accumulate:
42 : return 1;
43 : case TAG_SVG_ATT_additive:
44 : return 2;
45 : case TAG_SVG_ATT_audio_level:
46 : return 3;
47 : case TAG_SVG_ATT_bandwidth:
48 : return 4;
49 : case TAG_SVG_ATT_begin:
50 : return 5;
51 : case TAG_SVG_ATT_calcMode:
52 : return 6;
53 : case TAG_LSR_ATT_children:
54 : return 7;
55 : case TAG_SVG_ATT_choice:
56 : return 8;
57 : case TAG_SVG_ATT_clipBegin:
58 : return 9;
59 : case TAG_SVG_ATT_clipEnd:
60 : return 10;
61 : case TAG_SVG_ATT_color:
62 : return 11;
63 : case TAG_SVG_ATT_color_rendering:
64 : return 12;
65 : case TAG_SVG_ATT_cx:
66 : return 13;
67 : case TAG_SVG_ATT_cy:
68 : return 14;
69 : case TAG_SVG_ATT_d:
70 : return 15;
71 : case TAG_SVG_ATT_delta:
72 : return 16;
73 : case TAG_SVG_ATT_display:
74 : return 17;
75 : case TAG_SVG_ATT_display_align:
76 : return 18;
77 : case TAG_SVG_ATT_dur:
78 : return 19;
79 : case TAG_SVG_ATT_editable:
80 : return 20;
81 : case TAG_LSR_ATT_enabled:
82 : return 21;
83 : case TAG_SVG_ATT_end:
84 : return 22;
85 : case TAG_XMLEV_ATT_event:
86 : return 23;
87 : case TAG_SVG_ATT_externalResourcesRequired:
88 : return 24;
89 : case TAG_SVG_ATT_fill:
90 : return 25;
91 : case TAG_SVG_ATT_fill_opacity:
92 : return 26;
93 : case TAG_SVG_ATT_fill_rule:
94 : return 27;
95 : case TAG_SVG_ATT_focusable:
96 : return 28;
97 : case TAG_SVG_ATT_font_family:
98 : return 29;
99 : case TAG_SVG_ATT_font_size:
100 : return 30;
101 : case TAG_SVG_ATT_font_style:
102 : return 31;
103 : case TAG_SVG_ATT_font_variant:
104 : return 32;
105 : case TAG_SVG_ATT_font_weight:
106 : return 33;
107 : case TAG_SVG_ATT_fullscreen:
108 : return 34;
109 : case TAG_SVG_ATT_gradientUnits:
110 : return 35;
111 : case TAG_XMLEV_ATT_handler:
112 : return 36;
113 : case TAG_SVG_ATT_height:
114 : return 37;
115 : case TAG_SVG_ATT_image_rendering:
116 : return 38;
117 : case TAG_SVG_ATT_keyPoints:
118 : return 39;
119 : case TAG_SVG_ATT_keySplines:
120 : return 40;
121 : case TAG_SVG_ATT_keyTimes:
122 : return 41;
123 : case TAG_SVG_ATT_line_increment:
124 : return 42;
125 : case TAG_XMLEV_ATT_target:
126 : return 43;
127 : case TAG_SVG_ATT_mediaCharacterEncoding:
128 : return 44;
129 : case TAG_SVG_ATT_mediaContentEncodings:
130 : return 45;
131 : case TAG_SVG_ATT_mediaSize:
132 : return 46;
133 : case TAG_SVG_ATT_mediaTime:
134 : return 47;
135 : case TAG_SVG_ATT_nav_down:
136 : return 48;
137 : case TAG_SVG_ATT_nav_down_left:
138 : return 49;
139 : case TAG_SVG_ATT_nav_down_right:
140 : return 50;
141 : case TAG_SVG_ATT_nav_left:
142 : return 51;
143 : case TAG_SVG_ATT_nav_next:
144 : return 52;
145 : case TAG_SVG_ATT_nav_prev:
146 : return 53;
147 : case TAG_SVG_ATT_nav_right:
148 : return 54;
149 : case TAG_SVG_ATT_nav_up:
150 : return 55;
151 : case TAG_SVG_ATT_nav_up_left:
152 : return 56;
153 : case TAG_SVG_ATT_nav_up_right:
154 : return 57;
155 : case TAG_XMLEV_ATT_observer:
156 : return 58;
157 : case TAG_SVG_ATT_offset:
158 : return 59;
159 : case TAG_SVG_ATT_opacity:
160 : return 60;
161 : case TAG_SVG_ATT_overflow:
162 : return 61;
163 : case TAG_SVG_ATT_overlay:
164 : return 62;
165 : case TAG_SVG_ATT_path:
166 : return 63;
167 : case TAG_SVG_ATT_pathLength:
168 : return 64;
169 : case TAG_SVG_ATT_pointer_events:
170 : return 65;
171 : case TAG_SVG_ATT_points:
172 : return 66;
173 : case TAG_SVG_ATT_preserveAspectRatio:
174 : return 67;
175 : case TAG_SVG_ATT_r:
176 : return 68;
177 : case TAG_SVG_ATT_repeatCount:
178 : return 69;
179 : case TAG_SVG_ATT_repeatDur:
180 : return 70;
181 : case TAG_SVG_ATT_requiredExtensions:
182 : return 71;
183 : case TAG_SVG_ATT_requiredFeatures:
184 : return 72;
185 : case TAG_SVG_ATT_requiredFormats:
186 : return 73;
187 : case TAG_SVG_ATT_restart:
188 : return 74;
189 : case TAG_SVG_ATT_rotate:
190 : return 75;
191 : case TAG_LSR_ATT_rotation:
192 : return 76;
193 : case TAG_SVG_ATT_rx:
194 : return 77;
195 : case TAG_SVG_ATT_ry:
196 : return 78;
197 : case TAG_LSR_ATT_scale:
198 : return 79;
199 : case TAG_SVG_ATT_shape_rendering:
200 : return 80;
201 : case TAG_SVG_ATT_size:
202 : return 81;
203 : case TAG_SVG_ATT_solid_color:
204 : return 82;
205 : case TAG_SVG_ATT_solid_opacity:
206 : return 83;
207 : case TAG_SVG_ATT_stop_color:
208 : return 84;
209 : case TAG_SVG_ATT_stop_opacity:
210 : return 85;
211 : case TAG_SVG_ATT_stroke:
212 : return 86;
213 : case TAG_SVG_ATT_stroke_dasharray:
214 : return 87;
215 : case TAG_SVG_ATT_stroke_dashoffset:
216 : return 88;
217 : case TAG_SVG_ATT_stroke_linecap:
218 : return 89;
219 : case TAG_SVG_ATT_stroke_linejoin:
220 : return 90;
221 : case TAG_SVG_ATT_stroke_miterlimit:
222 : return 91;
223 : case TAG_SVG_ATT_stroke_opacity:
224 : return 92;
225 : case TAG_SVG_ATT_stroke_width:
226 : return 93;
227 : case TAG_LSR_ATT_svg_height:
228 : return 94;
229 : case TAG_LSR_ATT_svg_width:
230 : return 95;
231 : case TAG_SVG_ATT_syncBehavior:
232 : return 96;
233 : case TAG_SVG_ATT_syncBehaviorDefault:
234 : return 97;
235 : case TAG_SVG_ATT_syncReference:
236 : return 98;
237 : case TAG_SVG_ATT_syncTolerance:
238 : return 99;
239 : case TAG_SVG_ATT_syncToleranceDefault:
240 : return 100;
241 : case TAG_SVG_ATT_systemLanguage:
242 : return 101;
243 : case TAG_SVG_ATT_text_align:
244 : return 102;
245 : case TAG_SVG_ATT_text_anchor:
246 : return 103;
247 : case TAG_SVG_ATT_text_decoration:
248 : return 104;
249 : case TAG_LSR_ATT_text_display:
250 : return 105;
251 : case TAG_SVG_ATT_text_rendering:
252 : return 106;
253 : case TAG_LSR_ATT_textContent:
254 : return 107;
255 : case TAG_SVG_ATT_transform:
256 : return 108;
257 : case TAG_SVG_ATT_transformBehavior:
258 : return 109;
259 : case TAG_LSR_ATT_translation:
260 : return 110;
261 : case TAG_SVG_ATT_vector_effect:
262 : return 111;
263 : case TAG_SVG_ATT_viewBox:
264 : return 112;
265 : case TAG_SVG_ATT_viewport_fill:
266 : return 113;
267 : case TAG_SVG_ATT_viewport_fill_opacity:
268 : return 114;
269 : case TAG_SVG_ATT_visibility:
270 : return 115;
271 : case TAG_SVG_ATT_width:
272 : return 116;
273 : case TAG_SVG_ATT_x:
274 : return 117;
275 : case TAG_SVG_ATT_x1:
276 : return 118;
277 : case TAG_SVG_ATT_x2:
278 : return 119;
279 : case TAG_XLINK_ATT_actuate:
280 : return 120;
281 : case TAG_XLINK_ATT_arcrole:
282 : return 121;
283 : case TAG_XLINK_ATT_href:
284 : return 122;
285 : case TAG_XLINK_ATT_role:
286 : return 123;
287 : case TAG_XLINK_ATT_show:
288 : return 124;
289 : case TAG_XLINK_ATT_title:
290 : return 125;
291 : case TAG_XLINK_ATT_type:
292 : return 126;
293 : case TAG_XML_ATT_base:
294 : return 127;
295 : case TAG_XML_ATT_lang:
296 : return 128;
297 : case TAG_SVG_ATT_y:
298 : return 129;
299 : case TAG_SVG_ATT_y1:
300 : return 130;
301 : case TAG_SVG_ATT_y2:
302 : return 131;
303 : case TAG_SVG_ATT_zoomAndPan:
304 : return 132;
305 : default:
306 : return -1;
307 : }
308 : }
309 :
310 :
311 :
312 2336 : s32 gf_lsr_rare_type_from_attribute(u32 tag) {
313 : switch(tag) {
314 : case TAG_SVG_ATT__class:
315 : return 0;
316 : case TAG_SVG_ATT_audio_level:
317 : return 1;
318 : case TAG_SVG_ATT_color:
319 : return 2;
320 : case TAG_SVG_ATT_color_rendering:
321 : return 3;
322 : case TAG_SVG_ATT_display:
323 : return 4;
324 : case TAG_SVG_ATT_display_align:
325 : return 5;
326 : case TAG_SVG_ATT_fill_opacity:
327 : return 6;
328 : case TAG_SVG_ATT_fill_rule:
329 : return 7;
330 : case TAG_SVG_ATT_image_rendering:
331 : return 8;
332 : case TAG_SVG_ATT_line_increment:
333 : return 9;
334 : case TAG_SVG_ATT_pointer_events:
335 : return 10;
336 : case TAG_SVG_ATT_shape_rendering:
337 : return 11;
338 : case TAG_SVG_ATT_solid_color:
339 : return 12;
340 : case TAG_SVG_ATT_solid_opacity:
341 : return 13;
342 : case TAG_SVG_ATT_stop_color:
343 : return 14;
344 : case TAG_SVG_ATT_stop_opacity:
345 : return 15;
346 : case TAG_SVG_ATT_stroke_dasharray:
347 : return 16;
348 : case TAG_SVG_ATT_stroke_dashoffset:
349 : return 17;
350 : case TAG_SVG_ATT_stroke_linecap:
351 : return 18;
352 : case TAG_SVG_ATT_stroke_linejoin:
353 : return 19;
354 : case TAG_SVG_ATT_stroke_miterlimit:
355 : return 20;
356 : case TAG_SVG_ATT_stroke_opacity:
357 : return 21;
358 : case TAG_SVG_ATT_stroke_width:
359 : return 22;
360 : case TAG_SVG_ATT_text_anchor:
361 : return 23;
362 : case TAG_SVG_ATT_text_rendering:
363 : return 24;
364 : case TAG_SVG_ATT_viewport_fill:
365 : return 25;
366 : case TAG_SVG_ATT_viewport_fill_opacity:
367 : return 26;
368 : case TAG_SVG_ATT_vector_effect:
369 : return 27;
370 : case TAG_SVG_ATT_visibility:
371 : return 28;
372 : case TAG_SVG_ATT_requiredExtensions:
373 : return 29;
374 : case TAG_SVG_ATT_requiredFeatures:
375 : return 30;
376 : case TAG_SVG_ATT_requiredFormats:
377 : return 31;
378 : case TAG_SVG_ATT_systemLanguage:
379 : return 32;
380 : case TAG_XML_ATT_base:
381 : return 33;
382 : case TAG_XML_ATT_lang:
383 : return 34;
384 : case TAG_XML_ATT_space:
385 : return 35;
386 : case TAG_SVG_ATT_nav_next:
387 : return 36;
388 : case TAG_SVG_ATT_nav_up:
389 : return 37;
390 : case TAG_SVG_ATT_nav_up_left:
391 : return 38;
392 : case TAG_SVG_ATT_nav_up_right:
393 : return 39;
394 : case TAG_SVG_ATT_nav_prev:
395 : return 40;
396 : case TAG_SVG_ATT_nav_down:
397 : return 41;
398 : case TAG_SVG_ATT_nav_down_left:
399 : return 42;
400 : case TAG_SVG_ATT_nav_down_right:
401 : return 43;
402 : case TAG_SVG_ATT_nav_left:
403 : return 44;
404 : case TAG_SVG_ATT_focusable:
405 : return 45;
406 : case TAG_SVG_ATT_nav_right:
407 : return 46;
408 : case TAG_SVG_ATT_transform:
409 : return 47;
410 : case TAG_SVG_ATT_text_decoration:
411 : return 48;
412 : case TAG_SVG_ATT_syncMaster:
413 : return 49;
414 : case TAG_SVG_ATT_focusHighlight:
415 : return 49;
416 : case TAG_SVG_ATT_initialVisibility:
417 : return 49;
418 : case TAG_SVG_ATT_fullscreen:
419 : return 49;
420 : case TAG_SVG_ATT_requiredFonts:
421 : return 49;
422 : case TAG_SVG_ATT_font_variant:
423 : return 50;
424 : case TAG_SVG_ATT_font_family:
425 : return 51;
426 : case TAG_SVG_ATT_font_size:
427 : return 52;
428 : case TAG_SVG_ATT_font_style:
429 : return 53;
430 : case TAG_SVG_ATT_font_weight:
431 : return 54;
432 : case TAG_XLINK_ATT_title:
433 : return 55;
434 : case TAG_XLINK_ATT_type:
435 : return 56;
436 : case TAG_XLINK_ATT_role:
437 : return 57;
438 : case TAG_XLINK_ATT_arcrole:
439 : return 58;
440 : case TAG_XLINK_ATT_actuate:
441 : return 59;
442 : case TAG_XLINK_ATT_show:
443 : return 60;
444 : case TAG_SVG_ATT_end:
445 : return 61;
446 : case TAG_SVG_ATT_max:
447 : return 62;
448 : case TAG_SVG_ATT_min:
449 : return 63;
450 : default:
451 : return -1;
452 : }
453 : }
454 :
455 :
456 :
457 192 : s32 gf_lsr_anim_type_to_attribute(u32 tag) {
458 : switch(tag) {
459 : case 0:
460 : return TAG_SVG_ATT_target;
461 : case 1:
462 : return TAG_SVG_ATT_accumulate;
463 : case 2:
464 : return TAG_SVG_ATT_additive;
465 : case 3:
466 : return TAG_SVG_ATT_audio_level;
467 : case 4:
468 : return TAG_SVG_ATT_bandwidth;
469 : case 5:
470 : return TAG_SVG_ATT_begin;
471 : case 6:
472 : return TAG_SVG_ATT_calcMode;
473 : case 7:
474 : return TAG_LSR_ATT_children;
475 : case 8:
476 : return TAG_SVG_ATT_choice;
477 : case 9:
478 : return TAG_SVG_ATT_clipBegin;
479 : case 10:
480 : return TAG_SVG_ATT_clipEnd;
481 : case 11:
482 : return TAG_SVG_ATT_color;
483 : case 12:
484 : return TAG_SVG_ATT_color_rendering;
485 : case 13:
486 : return TAG_SVG_ATT_cx;
487 : case 14:
488 : return TAG_SVG_ATT_cy;
489 : case 15:
490 : return TAG_SVG_ATT_d;
491 : case 16:
492 : return TAG_SVG_ATT_delta;
493 : case 17:
494 : return TAG_SVG_ATT_display;
495 : case 18:
496 : return TAG_SVG_ATT_display_align;
497 : case 19:
498 : return TAG_SVG_ATT_dur;
499 : case 20:
500 : return TAG_SVG_ATT_editable;
501 : case 21:
502 : return TAG_LSR_ATT_enabled;
503 : case 22:
504 : return TAG_SVG_ATT_end;
505 : case 23:
506 : return TAG_XMLEV_ATT_event;
507 : case 24:
508 : return TAG_SVG_ATT_externalResourcesRequired;
509 : case 25:
510 : return TAG_SVG_ATT_fill;
511 : case 26:
512 : return TAG_SVG_ATT_fill_opacity;
513 : case 27:
514 : return TAG_SVG_ATT_fill_rule;
515 : case 28:
516 : return TAG_SVG_ATT_focusable;
517 : case 29:
518 : return TAG_SVG_ATT_font_family;
519 : case 30:
520 : return TAG_SVG_ATT_font_size;
521 : case 31:
522 : return TAG_SVG_ATT_font_style;
523 : case 32:
524 : return TAG_SVG_ATT_font_variant;
525 : case 33:
526 : return TAG_SVG_ATT_font_weight;
527 : case 34:
528 : return TAG_SVG_ATT_fullscreen;
529 : case 35:
530 : return TAG_SVG_ATT_gradientUnits;
531 : case 36:
532 : return TAG_XMLEV_ATT_handler;
533 : case 37:
534 : return TAG_SVG_ATT_height;
535 : case 38:
536 : return TAG_SVG_ATT_image_rendering;
537 : case 39:
538 : return TAG_SVG_ATT_keyPoints;
539 : case 40:
540 : return TAG_SVG_ATT_keySplines;
541 : case 41:
542 : return TAG_SVG_ATT_keyTimes;
543 : case 42:
544 : return TAG_SVG_ATT_line_increment;
545 : case 43:
546 : return TAG_XMLEV_ATT_target;
547 : case 44:
548 : return TAG_SVG_ATT_mediaCharacterEncoding;
549 : case 45:
550 : return TAG_SVG_ATT_mediaContentEncodings;
551 : case 46:
552 : return TAG_SVG_ATT_mediaSize;
553 : case 47:
554 : return TAG_SVG_ATT_mediaTime;
555 : case 48:
556 : return TAG_SVG_ATT_nav_down;
557 : case 49:
558 : return TAG_SVG_ATT_nav_down_left;
559 : case 50:
560 : return TAG_SVG_ATT_nav_down_right;
561 : case 51:
562 : return TAG_SVG_ATT_nav_left;
563 : case 52:
564 : return TAG_SVG_ATT_nav_next;
565 : case 53:
566 : return TAG_SVG_ATT_nav_prev;
567 : case 54:
568 : return TAG_SVG_ATT_nav_right;
569 : case 55:
570 : return TAG_SVG_ATT_nav_up;
571 : case 56:
572 : return TAG_SVG_ATT_nav_up_left;
573 : case 57:
574 : return TAG_SVG_ATT_nav_up_right;
575 : case 58:
576 : return TAG_XMLEV_ATT_observer;
577 : case 59:
578 : return TAG_SVG_ATT_offset;
579 : case 60:
580 : return TAG_SVG_ATT_opacity;
581 : case 61:
582 : return TAG_SVG_ATT_overflow;
583 : case 62:
584 : return TAG_SVG_ATT_overlay;
585 : case 63:
586 : return TAG_SVG_ATT_path;
587 : case 64:
588 : return TAG_SVG_ATT_pathLength;
589 : case 65:
590 : return TAG_SVG_ATT_pointer_events;
591 : case 66:
592 : return TAG_SVG_ATT_points;
593 : case 67:
594 : return TAG_SVG_ATT_preserveAspectRatio;
595 : case 68:
596 : return TAG_SVG_ATT_r;
597 : case 69:
598 : return TAG_SVG_ATT_repeatCount;
599 : case 70:
600 : return TAG_SVG_ATT_repeatDur;
601 : case 71:
602 : return TAG_SVG_ATT_requiredExtensions;
603 : case 72:
604 : return TAG_SVG_ATT_requiredFeatures;
605 : case 73:
606 : return TAG_SVG_ATT_requiredFormats;
607 : case 74:
608 : return TAG_SVG_ATT_restart;
609 : case 75:
610 : return TAG_SVG_ATT_rotate;
611 : case 76:
612 : return TAG_LSR_ATT_rotation;
613 : case 77:
614 : return TAG_SVG_ATT_rx;
615 : case 78:
616 : return TAG_SVG_ATT_ry;
617 : case 79:
618 : return TAG_LSR_ATT_scale;
619 : case 80:
620 : return TAG_SVG_ATT_shape_rendering;
621 : case 81:
622 : return TAG_SVG_ATT_size;
623 : case 82:
624 : return TAG_SVG_ATT_solid_color;
625 : case 83:
626 : return TAG_SVG_ATT_solid_opacity;
627 : case 84:
628 : return TAG_SVG_ATT_stop_color;
629 : case 85:
630 : return TAG_SVG_ATT_stop_opacity;
631 : case 86:
632 : return TAG_SVG_ATT_stroke;
633 : case 87:
634 : return TAG_SVG_ATT_stroke_dasharray;
635 : case 88:
636 : return TAG_SVG_ATT_stroke_dashoffset;
637 : case 89:
638 : return TAG_SVG_ATT_stroke_linecap;
639 : case 90:
640 : return TAG_SVG_ATT_stroke_linejoin;
641 : case 91:
642 : return TAG_SVG_ATT_stroke_miterlimit;
643 : case 92:
644 : return TAG_SVG_ATT_stroke_opacity;
645 : case 93:
646 : return TAG_SVG_ATT_stroke_width;
647 : case 94:
648 : return TAG_LSR_ATT_svg_height;
649 : case 95:
650 : return TAG_LSR_ATT_svg_width;
651 : case 96:
652 : return TAG_SVG_ATT_syncBehavior;
653 : case 97:
654 : return TAG_SVG_ATT_syncBehaviorDefault;
655 : case 98:
656 : return TAG_SVG_ATT_syncReference;
657 : case 99:
658 : return TAG_SVG_ATT_syncTolerance;
659 : case 100:
660 : return TAG_SVG_ATT_syncToleranceDefault;
661 : case 101:
662 : return TAG_SVG_ATT_systemLanguage;
663 : case 102:
664 : return TAG_SVG_ATT_text_align;
665 : case 103:
666 : return TAG_SVG_ATT_text_anchor;
667 : case 104:
668 : return TAG_SVG_ATT_text_decoration;
669 : case 105:
670 : return TAG_LSR_ATT_text_display;
671 : case 106:
672 : return TAG_SVG_ATT_text_rendering;
673 : case 107:
674 : return TAG_LSR_ATT_textContent;
675 : case 108:
676 : return TAG_SVG_ATT_transform;
677 : case 109:
678 : return TAG_SVG_ATT_transformBehavior;
679 : case 110:
680 : return TAG_LSR_ATT_translation;
681 : case 111:
682 : return TAG_SVG_ATT_vector_effect;
683 : case 112:
684 : return TAG_SVG_ATT_viewBox;
685 : case 113:
686 : return TAG_SVG_ATT_viewport_fill;
687 : case 114:
688 : return TAG_SVG_ATT_viewport_fill_opacity;
689 : case 115:
690 : return TAG_SVG_ATT_visibility;
691 : case 116:
692 : return TAG_SVG_ATT_width;
693 : case 117:
694 : return TAG_SVG_ATT_x;
695 : case 118:
696 : return TAG_SVG_ATT_x1;
697 : case 119:
698 : return TAG_SVG_ATT_x2;
699 : case 120:
700 : return TAG_XLINK_ATT_actuate;
701 : case 121:
702 : return TAG_XLINK_ATT_arcrole;
703 : case 122:
704 : return TAG_XLINK_ATT_href;
705 : case 123:
706 : return TAG_XLINK_ATT_role;
707 : case 124:
708 : return TAG_XLINK_ATT_show;
709 : case 125:
710 : return TAG_XLINK_ATT_title;
711 : case 126:
712 : return TAG_XLINK_ATT_type;
713 : case 127:
714 : return TAG_XML_ATT_base;
715 : case 128:
716 : return TAG_XML_ATT_lang;
717 : case 129:
718 : return TAG_SVG_ATT_y;
719 : case 130:
720 : return TAG_SVG_ATT_y1;
721 : case 131:
722 : return TAG_SVG_ATT_y2;
723 : case 132:
724 : return TAG_SVG_ATT_zoomAndPan;
725 : default:
726 : return -1;
727 : }
728 : }
729 :
730 :
731 :
732 433 : s32 gf_lsr_rare_type_to_attribute(u32 tag) {
733 : switch(tag) {
734 : case 0:
735 : return TAG_SVG_ATT__class;
736 : case 1:
737 : return TAG_SVG_ATT_audio_level;
738 : case 2:
739 : return TAG_SVG_ATT_color;
740 : case 3:
741 : return TAG_SVG_ATT_color_rendering;
742 : case 4:
743 : return TAG_SVG_ATT_display;
744 : case 5:
745 : return TAG_SVG_ATT_display_align;
746 : case 6:
747 : return TAG_SVG_ATT_fill_opacity;
748 : case 7:
749 : return TAG_SVG_ATT_fill_rule;
750 : case 8:
751 : return TAG_SVG_ATT_image_rendering;
752 : case 9:
753 : return TAG_SVG_ATT_line_increment;
754 : case 10:
755 : return TAG_SVG_ATT_pointer_events;
756 : case 11:
757 : return TAG_SVG_ATT_shape_rendering;
758 : case 12:
759 : return TAG_SVG_ATT_solid_color;
760 : case 13:
761 : return TAG_SVG_ATT_solid_opacity;
762 : case 14:
763 : return TAG_SVG_ATT_stop_color;
764 : case 15:
765 : return TAG_SVG_ATT_stop_opacity;
766 : case 16:
767 : return TAG_SVG_ATT_stroke_dasharray;
768 : case 17:
769 : return TAG_SVG_ATT_stroke_dashoffset;
770 : case 18:
771 : return TAG_SVG_ATT_stroke_linecap;
772 : case 19:
773 : return TAG_SVG_ATT_stroke_linejoin;
774 : case 20:
775 : return TAG_SVG_ATT_stroke_miterlimit;
776 : case 21:
777 : return TAG_SVG_ATT_stroke_opacity;
778 : case 22:
779 : return TAG_SVG_ATT_stroke_width;
780 : case 23:
781 : return TAG_SVG_ATT_text_anchor;
782 : case 24:
783 : return TAG_SVG_ATT_text_rendering;
784 : case 25:
785 : return TAG_SVG_ATT_viewport_fill;
786 : case 26:
787 : return TAG_SVG_ATT_viewport_fill_opacity;
788 : case 27:
789 : return TAG_SVG_ATT_vector_effect;
790 : case 28:
791 : return TAG_SVG_ATT_visibility;
792 : case 29:
793 : return TAG_SVG_ATT_requiredExtensions;
794 : case 30:
795 : return TAG_SVG_ATT_requiredFeatures;
796 : case 31:
797 : return TAG_SVG_ATT_requiredFormats;
798 : case 32:
799 : return TAG_SVG_ATT_systemLanguage;
800 : case 33:
801 : return TAG_XML_ATT_base;
802 : case 34:
803 : return TAG_XML_ATT_lang;
804 : case 35:
805 : return TAG_XML_ATT_space;
806 : case 36:
807 : return TAG_SVG_ATT_nav_next;
808 : case 37:
809 : return TAG_SVG_ATT_nav_up;
810 : case 38:
811 : return TAG_SVG_ATT_nav_up_left;
812 : case 39:
813 : return TAG_SVG_ATT_nav_up_right;
814 : case 40:
815 : return TAG_SVG_ATT_nav_prev;
816 : case 41:
817 : return TAG_SVG_ATT_nav_down;
818 : case 42:
819 : return TAG_SVG_ATT_nav_down_left;
820 : case 43:
821 : return TAG_SVG_ATT_nav_down_right;
822 : case 44:
823 : return TAG_SVG_ATT_nav_left;
824 : case 45:
825 : return TAG_SVG_ATT_focusable;
826 : case 46:
827 : return TAG_SVG_ATT_nav_right;
828 : case 47:
829 : return TAG_SVG_ATT_transform;
830 : case 48:
831 : return TAG_SVG_ATT_text_decoration;
832 : case 50:
833 : return TAG_SVG_ATT_font_variant;
834 : case 51:
835 : return TAG_SVG_ATT_font_family;
836 : case 52:
837 : return TAG_SVG_ATT_font_size;
838 : case 53:
839 : return TAG_SVG_ATT_font_style;
840 : case 54:
841 : return TAG_SVG_ATT_font_weight;
842 : case 55:
843 : return TAG_XLINK_ATT_title;
844 : case 56:
845 : return TAG_XLINK_ATT_type;
846 : case 57:
847 : return TAG_XLINK_ATT_role;
848 : case 58:
849 : return TAG_XLINK_ATT_arcrole;
850 : case 59:
851 : return TAG_XLINK_ATT_actuate;
852 : case 60:
853 : return TAG_XLINK_ATT_show;
854 : case 61:
855 : return TAG_SVG_ATT_end;
856 : case 62:
857 : return TAG_SVG_ATT_max;
858 : case 63:
859 : return TAG_SVG_ATT_min;
860 : default:
861 : return -1;
862 : }
863 : }
864 :
865 :
866 :
867 70 : u32 gf_lsr_same_rare(SVGAllAttributes *elt_atts, SVGAllAttributes *base_atts)
868 : {
869 : GF_FieldInfo f_elt, f_base;
870 :
871 : memset(&f_elt, 0, sizeof(GF_FieldInfo));
872 : memset(&f_base, 0, sizeof(GF_FieldInfo));
873 :
874 70 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
875 70 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT__class;
876 70 : f_elt.far_ptr = elt_atts->_class;
877 70 : f_base.far_ptr = base_atts->_class;
878 70 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
879 :
880 70 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
881 70 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_audio_level;
882 70 : f_elt.far_ptr = elt_atts->audio_level;
883 70 : f_base.far_ptr = base_atts->audio_level;
884 70 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
885 :
886 70 : f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
887 70 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color;
888 70 : f_elt.far_ptr = elt_atts->color;
889 70 : f_base.far_ptr = base_atts->color;
890 70 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
891 :
892 68 : f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
893 68 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color_rendering;
894 68 : f_elt.far_ptr = elt_atts->color_rendering;
895 68 : f_base.far_ptr = base_atts->color_rendering;
896 68 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
897 :
898 64 : f_elt.fieldType = f_base.fieldType = SVG_Display_datatype;
899 64 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display;
900 64 : f_elt.far_ptr = elt_atts->display;
901 64 : f_base.far_ptr = base_atts->display;
902 64 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
903 :
904 62 : f_elt.fieldType = f_base.fieldType = SVG_DisplayAlign_datatype;
905 62 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display_align;
906 62 : f_elt.far_ptr = elt_atts->display_align;
907 62 : f_base.far_ptr = base_atts->display_align;
908 62 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
909 :
910 60 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
911 60 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_opacity;
912 60 : f_elt.far_ptr = elt_atts->fill_opacity;
913 60 : f_base.far_ptr = base_atts->fill_opacity;
914 60 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
915 :
916 56 : f_elt.fieldType = f_base.fieldType = SVG_FillRule_datatype;
917 56 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_rule;
918 56 : f_elt.far_ptr = elt_atts->fill_rule;
919 56 : f_base.far_ptr = base_atts->fill_rule;
920 56 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
921 :
922 56 : f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
923 56 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_image_rendering;
924 56 : f_elt.far_ptr = elt_atts->image_rendering;
925 56 : f_base.far_ptr = base_atts->image_rendering;
926 56 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
927 :
928 56 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
929 56 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_line_increment;
930 56 : f_elt.far_ptr = elt_atts->line_increment;
931 56 : f_base.far_ptr = base_atts->line_increment;
932 56 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
933 :
934 56 : f_elt.fieldType = f_base.fieldType = SVG_PointerEvents_datatype;
935 56 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_pointer_events;
936 56 : f_elt.far_ptr = elt_atts->pointer_events;
937 56 : f_base.far_ptr = base_atts->pointer_events;
938 56 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
939 :
940 54 : f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
941 54 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_shape_rendering;
942 54 : f_elt.far_ptr = elt_atts->shape_rendering;
943 54 : f_base.far_ptr = base_atts->shape_rendering;
944 54 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
945 :
946 54 : f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
947 54 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_color;
948 54 : f_elt.far_ptr = elt_atts->solid_color;
949 54 : f_base.far_ptr = base_atts->solid_color;
950 54 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
951 :
952 52 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
953 52 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_opacity;
954 52 : f_elt.far_ptr = elt_atts->solid_opacity;
955 52 : f_base.far_ptr = base_atts->solid_opacity;
956 52 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
957 :
958 52 : f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
959 52 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_color;
960 52 : f_elt.far_ptr = elt_atts->stop_color;
961 52 : f_base.far_ptr = base_atts->stop_color;
962 52 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
963 :
964 52 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
965 52 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_opacity;
966 52 : f_elt.far_ptr = elt_atts->stop_opacity;
967 52 : f_base.far_ptr = base_atts->stop_opacity;
968 52 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
969 :
970 52 : f_elt.fieldType = f_base.fieldType = SVG_StrokeDashArray_datatype;
971 52 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dasharray;
972 52 : f_elt.far_ptr = elt_atts->stroke_dasharray;
973 52 : f_base.far_ptr = base_atts->stroke_dasharray;
974 52 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
975 :
976 48 : f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
977 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dashoffset;
978 48 : f_elt.far_ptr = elt_atts->stroke_dashoffset;
979 48 : f_base.far_ptr = base_atts->stroke_dashoffset;
980 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
981 :
982 48 : f_elt.fieldType = f_base.fieldType = SVG_StrokeLineCap_datatype;
983 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linecap;
984 48 : f_elt.far_ptr = elt_atts->stroke_linecap;
985 48 : f_base.far_ptr = base_atts->stroke_linecap;
986 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
987 :
988 48 : f_elt.fieldType = f_base.fieldType = SVG_StrokeLineJoin_datatype;
989 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linejoin;
990 48 : f_elt.far_ptr = elt_atts->stroke_linejoin;
991 48 : f_base.far_ptr = base_atts->stroke_linejoin;
992 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
993 :
994 48 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
995 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_miterlimit;
996 48 : f_elt.far_ptr = elt_atts->stroke_miterlimit;
997 48 : f_base.far_ptr = base_atts->stroke_miterlimit;
998 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
999 :
1000 48 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
1001 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_opacity;
1002 48 : f_elt.far_ptr = elt_atts->stroke_opacity;
1003 48 : f_base.far_ptr = base_atts->stroke_opacity;
1004 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1005 :
1006 48 : f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
1007 48 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_width;
1008 48 : f_elt.far_ptr = elt_atts->stroke_width;
1009 48 : f_base.far_ptr = base_atts->stroke_width;
1010 48 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1011 :
1012 40 : f_elt.fieldType = f_base.fieldType = SVG_TextAnchor_datatype;
1013 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_anchor;
1014 40 : f_elt.far_ptr = elt_atts->text_anchor;
1015 40 : f_base.far_ptr = base_atts->text_anchor;
1016 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1017 :
1018 40 : f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
1019 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_rendering;
1020 40 : f_elt.far_ptr = elt_atts->text_rendering;
1021 40 : f_base.far_ptr = base_atts->text_rendering;
1022 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1023 :
1024 40 : f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
1025 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill;
1026 40 : f_elt.far_ptr = elt_atts->viewport_fill;
1027 40 : f_base.far_ptr = base_atts->viewport_fill;
1028 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1029 :
1030 40 : f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
1031 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill_opacity;
1032 40 : f_elt.far_ptr = elt_atts->viewport_fill_opacity;
1033 40 : f_base.far_ptr = base_atts->viewport_fill_opacity;
1034 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1035 :
1036 40 : f_elt.fieldType = f_base.fieldType = SVG_VectorEffect_datatype;
1037 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_vector_effect;
1038 40 : f_elt.far_ptr = elt_atts->vector_effect;
1039 40 : f_base.far_ptr = base_atts->vector_effect;
1040 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1041 :
1042 40 : f_elt.fieldType = f_base.fieldType = SVG_Visibility_datatype;
1043 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_visibility;
1044 40 : f_elt.far_ptr = elt_atts->visibility;
1045 40 : f_base.far_ptr = base_atts->visibility;
1046 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1047 :
1048 40 : f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
1049 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredExtensions;
1050 40 : f_elt.far_ptr = elt_atts->requiredExtensions;
1051 40 : f_base.far_ptr = base_atts->requiredExtensions;
1052 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1053 :
1054 40 : f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
1055 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFeatures;
1056 40 : f_elt.far_ptr = elt_atts->requiredFeatures;
1057 40 : f_base.far_ptr = base_atts->requiredFeatures;
1058 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1059 :
1060 40 : f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
1061 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFormats;
1062 40 : f_elt.far_ptr = elt_atts->requiredFormats;
1063 40 : f_base.far_ptr = base_atts->requiredFormats;
1064 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1065 :
1066 40 : f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
1067 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_systemLanguage;
1068 40 : f_elt.far_ptr = elt_atts->systemLanguage;
1069 40 : f_base.far_ptr = base_atts->systemLanguage;
1070 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1071 :
1072 40 : f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
1073 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_base;
1074 40 : f_elt.far_ptr = elt_atts->xml_base;
1075 40 : f_base.far_ptr = base_atts->xml_base;
1076 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1077 :
1078 40 : f_elt.fieldType = f_base.fieldType = SVG_LanguageID_datatype;
1079 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_lang;
1080 40 : f_elt.far_ptr = elt_atts->xml_lang;
1081 40 : f_base.far_ptr = base_atts->xml_lang;
1082 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1083 :
1084 40 : f_elt.fieldType = f_base.fieldType = XML_Space_datatype;
1085 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_space;
1086 40 : f_elt.far_ptr = elt_atts->xml_space;
1087 40 : f_base.far_ptr = base_atts->xml_space;
1088 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1089 :
1090 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1091 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_next;
1092 40 : f_elt.far_ptr = elt_atts->nav_next;
1093 40 : f_base.far_ptr = base_atts->nav_next;
1094 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1095 :
1096 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1097 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up;
1098 40 : f_elt.far_ptr = elt_atts->nav_up;
1099 40 : f_base.far_ptr = base_atts->nav_up;
1100 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1101 :
1102 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1103 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_left;
1104 40 : f_elt.far_ptr = elt_atts->nav_up_left;
1105 40 : f_base.far_ptr = base_atts->nav_up_left;
1106 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1107 :
1108 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1109 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_right;
1110 40 : f_elt.far_ptr = elt_atts->nav_up_right;
1111 40 : f_base.far_ptr = base_atts->nav_up_right;
1112 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1113 :
1114 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1115 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_prev;
1116 40 : f_elt.far_ptr = elt_atts->nav_prev;
1117 40 : f_base.far_ptr = base_atts->nav_prev;
1118 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1119 :
1120 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1121 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down;
1122 40 : f_elt.far_ptr = elt_atts->nav_down;
1123 40 : f_base.far_ptr = base_atts->nav_down;
1124 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1125 :
1126 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1127 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_left;
1128 40 : f_elt.far_ptr = elt_atts->nav_down_left;
1129 40 : f_base.far_ptr = base_atts->nav_down_left;
1130 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1131 :
1132 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1133 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_right;
1134 40 : f_elt.far_ptr = elt_atts->nav_down_right;
1135 40 : f_base.far_ptr = base_atts->nav_down_right;
1136 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1137 :
1138 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1139 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_left;
1140 40 : f_elt.far_ptr = elt_atts->nav_left;
1141 40 : f_base.far_ptr = base_atts->nav_left;
1142 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1143 :
1144 40 : f_elt.fieldType = f_base.fieldType = SVG_Focusable_datatype;
1145 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_focusable;
1146 40 : f_elt.far_ptr = elt_atts->focusable;
1147 40 : f_base.far_ptr = base_atts->focusable;
1148 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1149 :
1150 40 : f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
1151 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_right;
1152 40 : f_elt.far_ptr = elt_atts->nav_right;
1153 40 : f_base.far_ptr = base_atts->nav_right;
1154 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1155 :
1156 40 : f_elt.fieldType = f_base.fieldType = SVG_Transform_datatype;
1157 40 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_transform;
1158 40 : f_elt.far_ptr = elt_atts->transform;
1159 40 : f_base.far_ptr = base_atts->transform;
1160 40 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1161 :
1162 38 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
1163 38 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_decoration;
1164 38 : f_elt.far_ptr = elt_atts->text_decoration;
1165 38 : f_base.far_ptr = base_atts->text_decoration;
1166 38 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1167 :
1168 38 : f_elt.fieldType = f_base.fieldType = SVG_FontVariant_datatype;
1169 38 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_variant;
1170 38 : f_elt.far_ptr = elt_atts->font_variant;
1171 38 : f_base.far_ptr = base_atts->font_variant;
1172 38 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1173 :
1174 36 : f_elt.fieldType = f_base.fieldType = SVG_FontFamily_datatype;
1175 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_family;
1176 36 : f_elt.far_ptr = elt_atts->font_family;
1177 36 : f_base.far_ptr = base_atts->font_family;
1178 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1179 :
1180 36 : f_elt.fieldType = f_base.fieldType = SVG_FontSize_datatype;
1181 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_size;
1182 36 : f_elt.far_ptr = elt_atts->font_size;
1183 36 : f_base.far_ptr = base_atts->font_size;
1184 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1185 :
1186 36 : f_elt.fieldType = f_base.fieldType = SVG_FontStyle_datatype;
1187 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_style;
1188 36 : f_elt.far_ptr = elt_atts->font_style;
1189 36 : f_base.far_ptr = base_atts->font_style;
1190 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1191 :
1192 36 : f_elt.fieldType = f_base.fieldType = SVG_FontWeight_datatype;
1193 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_weight;
1194 36 : f_elt.far_ptr = elt_atts->font_weight;
1195 36 : f_base.far_ptr = base_atts->font_weight;
1196 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1197 :
1198 36 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
1199 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_title;
1200 36 : f_elt.far_ptr = elt_atts->xlink_title;
1201 36 : f_base.far_ptr = base_atts->xlink_title;
1202 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1203 :
1204 36 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
1205 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_type;
1206 36 : f_elt.far_ptr = elt_atts->xlink_type;
1207 36 : f_base.far_ptr = base_atts->xlink_type;
1208 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1209 :
1210 36 : f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
1211 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_role;
1212 36 : f_elt.far_ptr = elt_atts->xlink_role;
1213 36 : f_base.far_ptr = base_atts->xlink_role;
1214 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1215 :
1216 36 : f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
1217 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_arcrole;
1218 36 : f_elt.far_ptr = elt_atts->xlink_arcrole;
1219 36 : f_base.far_ptr = base_atts->xlink_arcrole;
1220 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1221 :
1222 36 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
1223 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_actuate;
1224 36 : f_elt.far_ptr = elt_atts->xlink_actuate;
1225 36 : f_base.far_ptr = base_atts->xlink_actuate;
1226 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1227 :
1228 36 : f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
1229 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_show;
1230 36 : f_elt.far_ptr = elt_atts->xlink_show;
1231 36 : f_base.far_ptr = base_atts->xlink_show;
1232 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1233 :
1234 36 : f_elt.fieldType = f_base.fieldType = SMIL_Times_datatype;
1235 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_end;
1236 36 : f_elt.far_ptr = elt_atts->end;
1237 36 : f_base.far_ptr = base_atts->end;
1238 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1239 :
1240 36 : f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
1241 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_max;
1242 36 : f_elt.far_ptr = elt_atts->max;
1243 36 : f_base.far_ptr = base_atts->max;
1244 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1245 :
1246 36 : f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
1247 36 : f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_min;
1248 36 : f_elt.far_ptr = elt_atts->min;
1249 36 : f_base.far_ptr = base_atts->min;
1250 36 : if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
1251 :
1252 36 : return 1;
1253 : }
1254 :
1255 : #endif /*GPAC_DISABLE_LASER*/
1256 :
|