LCOV - code coverage report
Current view: top level - laser - lsr_tables.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 321 321 100.0 %
Date: 2021-04-29 23:48:07 Functions: 5 5 100.0 %

          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             : 

Generated by: LCOV version 1.13