This source file includes following definitions.
- gf_lsr_anim_type_from_attribute
- gf_lsr_rare_type_from_attribute
- gf_lsr_anim_type_to_attribute
- gf_lsr_rare_type_to_attribute
- gf_lsr_same_rare
#include <gpac/internal/laser_dev.h>
#ifndef GPAC_DISABLE_LASER
s32 gf_lsr_anim_type_from_attribute(u32 tag) {
switch(tag) {
case TAG_SVG_ATT_target:
return 0;
case TAG_SVG_ATT_accumulate:
return 1;
case TAG_SVG_ATT_additive:
return 2;
case TAG_SVG_ATT_audio_level:
return 3;
case TAG_SVG_ATT_bandwidth:
return 4;
case TAG_SVG_ATT_begin:
return 5;
case TAG_SVG_ATT_calcMode:
return 6;
case TAG_LSR_ATT_children:
return 7;
case TAG_SVG_ATT_choice:
return 8;
case TAG_SVG_ATT_clipBegin:
return 9;
case TAG_SVG_ATT_clipEnd:
return 10;
case TAG_SVG_ATT_color:
return 11;
case TAG_SVG_ATT_color_rendering:
return 12;
case TAG_SVG_ATT_cx:
return 13;
case TAG_SVG_ATT_cy:
return 14;
case TAG_SVG_ATT_d:
return 15;
case TAG_SVG_ATT_delta:
return 16;
case TAG_SVG_ATT_display:
return 17;
case TAG_SVG_ATT_display_align:
return 18;
case TAG_SVG_ATT_dur:
return 19;
case TAG_SVG_ATT_editable:
return 20;
case TAG_LSR_ATT_enabled:
return 21;
case TAG_SVG_ATT_end:
return 22;
case TAG_XMLEV_ATT_event:
return 23;
case TAG_SVG_ATT_externalResourcesRequired:
return 24;
case TAG_SVG_ATT_fill:
return 25;
case TAG_SVG_ATT_fill_opacity:
return 26;
case TAG_SVG_ATT_fill_rule:
return 27;
case TAG_SVG_ATT_focusable:
return 28;
case TAG_SVG_ATT_font_family:
return 29;
case TAG_SVG_ATT_font_size:
return 30;
case TAG_SVG_ATT_font_style:
return 31;
case TAG_SVG_ATT_font_variant:
return 32;
case TAG_SVG_ATT_font_weight:
return 33;
case TAG_SVG_ATT_fullscreen:
return 34;
case TAG_SVG_ATT_gradientUnits:
return 35;
case TAG_XMLEV_ATT_handler:
return 36;
case TAG_SVG_ATT_height:
return 37;
case TAG_SVG_ATT_image_rendering:
return 38;
case TAG_SVG_ATT_keyPoints:
return 39;
case TAG_SVG_ATT_keySplines:
return 40;
case TAG_SVG_ATT_keyTimes:
return 41;
case TAG_SVG_ATT_line_increment:
return 42;
case TAG_XMLEV_ATT_target:
return 43;
case TAG_SVG_ATT_mediaCharacterEncoding:
return 44;
case TAG_SVG_ATT_mediaContentEncodings:
return 45;
case TAG_SVG_ATT_mediaSize:
return 46;
case TAG_SVG_ATT_mediaTime:
return 47;
case TAG_SVG_ATT_nav_down:
return 48;
case TAG_SVG_ATT_nav_down_left:
return 49;
case TAG_SVG_ATT_nav_down_right:
return 50;
case TAG_SVG_ATT_nav_left:
return 51;
case TAG_SVG_ATT_nav_next:
return 52;
case TAG_SVG_ATT_nav_prev:
return 53;
case TAG_SVG_ATT_nav_right:
return 54;
case TAG_SVG_ATT_nav_up:
return 55;
case TAG_SVG_ATT_nav_up_left:
return 56;
case TAG_SVG_ATT_nav_up_right:
return 57;
case TAG_XMLEV_ATT_observer:
return 58;
case TAG_SVG_ATT_offset:
return 59;
case TAG_SVG_ATT_opacity:
return 60;
case TAG_SVG_ATT_overflow:
return 61;
case TAG_SVG_ATT_overlay:
return 62;
case TAG_SVG_ATT_path:
return 63;
case TAG_SVG_ATT_pathLength:
return 64;
case TAG_SVG_ATT_pointer_events:
return 65;
case TAG_SVG_ATT_points:
return 66;
case TAG_SVG_ATT_preserveAspectRatio:
return 67;
case TAG_SVG_ATT_r:
return 68;
case TAG_SVG_ATT_repeatCount:
return 69;
case TAG_SVG_ATT_repeatDur:
return 70;
case TAG_SVG_ATT_requiredExtensions:
return 71;
case TAG_SVG_ATT_requiredFeatures:
return 72;
case TAG_SVG_ATT_requiredFormats:
return 73;
case TAG_SVG_ATT_restart:
return 74;
case TAG_SVG_ATT_rotate:
return 75;
case TAG_LSR_ATT_rotation:
return 76;
case TAG_SVG_ATT_rx:
return 77;
case TAG_SVG_ATT_ry:
return 78;
case TAG_LSR_ATT_scale:
return 79;
case TAG_SVG_ATT_shape_rendering:
return 80;
case TAG_SVG_ATT_size:
return 81;
case TAG_SVG_ATT_solid_color:
return 82;
case TAG_SVG_ATT_solid_opacity:
return 83;
case TAG_SVG_ATT_stop_color:
return 84;
case TAG_SVG_ATT_stop_opacity:
return 85;
case TAG_SVG_ATT_stroke:
return 86;
case TAG_SVG_ATT_stroke_dasharray:
return 87;
case TAG_SVG_ATT_stroke_dashoffset:
return 88;
case TAG_SVG_ATT_stroke_linecap:
return 89;
case TAG_SVG_ATT_stroke_linejoin:
return 90;
case TAG_SVG_ATT_stroke_miterlimit:
return 91;
case TAG_SVG_ATT_stroke_opacity:
return 92;
case TAG_SVG_ATT_stroke_width:
return 93;
case TAG_LSR_ATT_svg_height:
return 94;
case TAG_LSR_ATT_svg_width:
return 95;
case TAG_SVG_ATT_syncBehavior:
return 96;
case TAG_SVG_ATT_syncBehaviorDefault:
return 97;
case TAG_SVG_ATT_syncReference:
return 98;
case TAG_SVG_ATT_syncTolerance:
return 99;
case TAG_SVG_ATT_syncToleranceDefault:
return 100;
case TAG_SVG_ATT_systemLanguage:
return 101;
case TAG_SVG_ATT_text_align:
return 102;
case TAG_SVG_ATT_text_anchor:
return 103;
case TAG_SVG_ATT_text_decoration:
return 104;
case TAG_LSR_ATT_text_display:
return 105;
case TAG_SVG_ATT_text_rendering:
return 106;
case TAG_LSR_ATT_textContent:
return 107;
case TAG_SVG_ATT_transform:
return 108;
case TAG_SVG_ATT_transformBehavior:
return 109;
case TAG_LSR_ATT_translation:
return 110;
case TAG_SVG_ATT_vector_effect:
return 111;
case TAG_SVG_ATT_viewBox:
return 112;
case TAG_SVG_ATT_viewport_fill:
return 113;
case TAG_SVG_ATT_viewport_fill_opacity:
return 114;
case TAG_SVG_ATT_visibility:
return 115;
case TAG_SVG_ATT_width:
return 116;
case TAG_SVG_ATT_x:
return 117;
case TAG_SVG_ATT_x1:
return 118;
case TAG_SVG_ATT_x2:
return 119;
case TAG_XLINK_ATT_actuate:
return 120;
case TAG_XLINK_ATT_arcrole:
return 121;
case TAG_XLINK_ATT_href:
return 122;
case TAG_XLINK_ATT_role:
return 123;
case TAG_XLINK_ATT_show:
return 124;
case TAG_XLINK_ATT_title:
return 125;
case TAG_XLINK_ATT_type:
return 126;
case TAG_XML_ATT_base:
return 127;
case TAG_XML_ATT_lang:
return 128;
case TAG_SVG_ATT_y:
return 129;
case TAG_SVG_ATT_y1:
return 130;
case TAG_SVG_ATT_y2:
return 131;
case TAG_SVG_ATT_zoomAndPan:
return 132;
default:
return -1;
}
}
s32 gf_lsr_rare_type_from_attribute(u32 tag) {
switch(tag) {
case TAG_SVG_ATT__class:
return 0;
case TAG_SVG_ATT_audio_level:
return 1;
case TAG_SVG_ATT_color:
return 2;
case TAG_SVG_ATT_color_rendering:
return 3;
case TAG_SVG_ATT_display:
return 4;
case TAG_SVG_ATT_display_align:
return 5;
case TAG_SVG_ATT_fill_opacity:
return 6;
case TAG_SVG_ATT_fill_rule:
return 7;
case TAG_SVG_ATT_image_rendering:
return 8;
case TAG_SVG_ATT_line_increment:
return 9;
case TAG_SVG_ATT_pointer_events:
return 10;
case TAG_SVG_ATT_shape_rendering:
return 11;
case TAG_SVG_ATT_solid_color:
return 12;
case TAG_SVG_ATT_solid_opacity:
return 13;
case TAG_SVG_ATT_stop_color:
return 14;
case TAG_SVG_ATT_stop_opacity:
return 15;
case TAG_SVG_ATT_stroke_dasharray:
return 16;
case TAG_SVG_ATT_stroke_dashoffset:
return 17;
case TAG_SVG_ATT_stroke_linecap:
return 18;
case TAG_SVG_ATT_stroke_linejoin:
return 19;
case TAG_SVG_ATT_stroke_miterlimit:
return 20;
case TAG_SVG_ATT_stroke_opacity:
return 21;
case TAG_SVG_ATT_stroke_width:
return 22;
case TAG_SVG_ATT_text_anchor:
return 23;
case TAG_SVG_ATT_text_rendering:
return 24;
case TAG_SVG_ATT_viewport_fill:
return 25;
case TAG_SVG_ATT_viewport_fill_opacity:
return 26;
case TAG_SVG_ATT_vector_effect:
return 27;
case TAG_SVG_ATT_visibility:
return 28;
case TAG_SVG_ATT_requiredExtensions:
return 29;
case TAG_SVG_ATT_requiredFeatures:
return 30;
case TAG_SVG_ATT_requiredFormats:
return 31;
case TAG_SVG_ATT_systemLanguage:
return 32;
case TAG_XML_ATT_base:
return 33;
case TAG_XML_ATT_lang:
return 34;
case TAG_XML_ATT_space:
return 35;
case TAG_SVG_ATT_nav_next:
return 36;
case TAG_SVG_ATT_nav_up:
return 37;
case TAG_SVG_ATT_nav_up_left:
return 38;
case TAG_SVG_ATT_nav_up_right:
return 39;
case TAG_SVG_ATT_nav_prev:
return 40;
case TAG_SVG_ATT_nav_down:
return 41;
case TAG_SVG_ATT_nav_down_left:
return 42;
case TAG_SVG_ATT_nav_down_right:
return 43;
case TAG_SVG_ATT_nav_left:
return 44;
case TAG_SVG_ATT_focusable:
return 45;
case TAG_SVG_ATT_nav_right:
return 46;
case TAG_SVG_ATT_transform:
return 47;
case TAG_SVG_ATT_text_decoration:
return 48;
case TAG_SVG_ATT_syncMaster:
return 49;
case TAG_SVG_ATT_focusHighlight:
return 49;
case TAG_SVG_ATT_initialVisibility:
return 49;
case TAG_SVG_ATT_fullscreen:
return 49;
case TAG_SVG_ATT_requiredFonts:
return 49;
case TAG_SVG_ATT_font_variant:
return 50;
case TAG_SVG_ATT_font_family:
return 51;
case TAG_SVG_ATT_font_size:
return 52;
case TAG_SVG_ATT_font_style:
return 53;
case TAG_SVG_ATT_font_weight:
return 54;
case TAG_XLINK_ATT_title:
return 55;
case TAG_XLINK_ATT_type:
return 56;
case TAG_XLINK_ATT_role:
return 57;
case TAG_XLINK_ATT_arcrole:
return 58;
case TAG_XLINK_ATT_actuate:
return 59;
case TAG_XLINK_ATT_show:
return 60;
case TAG_SVG_ATT_end:
return 61;
case TAG_SVG_ATT_max:
return 62;
case TAG_SVG_ATT_min:
return 63;
default:
return -1;
}
}
s32 gf_lsr_anim_type_to_attribute(u32 tag) {
switch(tag) {
case 0:
return TAG_SVG_ATT_target;
case 1:
return TAG_SVG_ATT_accumulate;
case 2:
return TAG_SVG_ATT_additive;
case 3:
return TAG_SVG_ATT_audio_level;
case 4:
return TAG_SVG_ATT_bandwidth;
case 5:
return TAG_SVG_ATT_begin;
case 6:
return TAG_SVG_ATT_calcMode;
case 7:
return TAG_LSR_ATT_children;
case 8:
return TAG_SVG_ATT_choice;
case 9:
return TAG_SVG_ATT_clipBegin;
case 10:
return TAG_SVG_ATT_clipEnd;
case 11:
return TAG_SVG_ATT_color;
case 12:
return TAG_SVG_ATT_color_rendering;
case 13:
return TAG_SVG_ATT_cx;
case 14:
return TAG_SVG_ATT_cy;
case 15:
return TAG_SVG_ATT_d;
case 16:
return TAG_SVG_ATT_delta;
case 17:
return TAG_SVG_ATT_display;
case 18:
return TAG_SVG_ATT_display_align;
case 19:
return TAG_SVG_ATT_dur;
case 20:
return TAG_SVG_ATT_editable;
case 21:
return TAG_LSR_ATT_enabled;
case 22:
return TAG_SVG_ATT_end;
case 23:
return TAG_XMLEV_ATT_event;
case 24:
return TAG_SVG_ATT_externalResourcesRequired;
case 25:
return TAG_SVG_ATT_fill;
case 26:
return TAG_SVG_ATT_fill_opacity;
case 27:
return TAG_SVG_ATT_fill_rule;
case 28:
return TAG_SVG_ATT_focusable;
case 29:
return TAG_SVG_ATT_font_family;
case 30:
return TAG_SVG_ATT_font_size;
case 31:
return TAG_SVG_ATT_font_style;
case 32:
return TAG_SVG_ATT_font_variant;
case 33:
return TAG_SVG_ATT_font_weight;
case 34:
return TAG_SVG_ATT_fullscreen;
case 35:
return TAG_SVG_ATT_gradientUnits;
case 36:
return TAG_XMLEV_ATT_handler;
case 37:
return TAG_SVG_ATT_height;
case 38:
return TAG_SVG_ATT_image_rendering;
case 39:
return TAG_SVG_ATT_keyPoints;
case 40:
return TAG_SVG_ATT_keySplines;
case 41:
return TAG_SVG_ATT_keyTimes;
case 42:
return TAG_SVG_ATT_line_increment;
case 43:
return TAG_XMLEV_ATT_target;
case 44:
return TAG_SVG_ATT_mediaCharacterEncoding;
case 45:
return TAG_SVG_ATT_mediaContentEncodings;
case 46:
return TAG_SVG_ATT_mediaSize;
case 47:
return TAG_SVG_ATT_mediaTime;
case 48:
return TAG_SVG_ATT_nav_down;
case 49:
return TAG_SVG_ATT_nav_down_left;
case 50:
return TAG_SVG_ATT_nav_down_right;
case 51:
return TAG_SVG_ATT_nav_left;
case 52:
return TAG_SVG_ATT_nav_next;
case 53:
return TAG_SVG_ATT_nav_prev;
case 54:
return TAG_SVG_ATT_nav_right;
case 55:
return TAG_SVG_ATT_nav_up;
case 56:
return TAG_SVG_ATT_nav_up_left;
case 57:
return TAG_SVG_ATT_nav_up_right;
case 58:
return TAG_XMLEV_ATT_observer;
case 59:
return TAG_SVG_ATT_offset;
case 60:
return TAG_SVG_ATT_opacity;
case 61:
return TAG_SVG_ATT_overflow;
case 62:
return TAG_SVG_ATT_overlay;
case 63:
return TAG_SVG_ATT_path;
case 64:
return TAG_SVG_ATT_pathLength;
case 65:
return TAG_SVG_ATT_pointer_events;
case 66:
return TAG_SVG_ATT_points;
case 67:
return TAG_SVG_ATT_preserveAspectRatio;
case 68:
return TAG_SVG_ATT_r;
case 69:
return TAG_SVG_ATT_repeatCount;
case 70:
return TAG_SVG_ATT_repeatDur;
case 71:
return TAG_SVG_ATT_requiredExtensions;
case 72:
return TAG_SVG_ATT_requiredFeatures;
case 73:
return TAG_SVG_ATT_requiredFormats;
case 74:
return TAG_SVG_ATT_restart;
case 75:
return TAG_SVG_ATT_rotate;
case 76:
return TAG_LSR_ATT_rotation;
case 77:
return TAG_SVG_ATT_rx;
case 78:
return TAG_SVG_ATT_ry;
case 79:
return TAG_LSR_ATT_scale;
case 80:
return TAG_SVG_ATT_shape_rendering;
case 81:
return TAG_SVG_ATT_size;
case 82:
return TAG_SVG_ATT_solid_color;
case 83:
return TAG_SVG_ATT_solid_opacity;
case 84:
return TAG_SVG_ATT_stop_color;
case 85:
return TAG_SVG_ATT_stop_opacity;
case 86:
return TAG_SVG_ATT_stroke;
case 87:
return TAG_SVG_ATT_stroke_dasharray;
case 88:
return TAG_SVG_ATT_stroke_dashoffset;
case 89:
return TAG_SVG_ATT_stroke_linecap;
case 90:
return TAG_SVG_ATT_stroke_linejoin;
case 91:
return TAG_SVG_ATT_stroke_miterlimit;
case 92:
return TAG_SVG_ATT_stroke_opacity;
case 93:
return TAG_SVG_ATT_stroke_width;
case 94:
return TAG_LSR_ATT_svg_height;
case 95:
return TAG_LSR_ATT_svg_width;
case 96:
return TAG_SVG_ATT_syncBehavior;
case 97:
return TAG_SVG_ATT_syncBehaviorDefault;
case 98:
return TAG_SVG_ATT_syncReference;
case 99:
return TAG_SVG_ATT_syncTolerance;
case 100:
return TAG_SVG_ATT_syncToleranceDefault;
case 101:
return TAG_SVG_ATT_systemLanguage;
case 102:
return TAG_SVG_ATT_text_align;
case 103:
return TAG_SVG_ATT_text_anchor;
case 104:
return TAG_SVG_ATT_text_decoration;
case 105:
return TAG_LSR_ATT_text_display;
case 106:
return TAG_SVG_ATT_text_rendering;
case 107:
return TAG_LSR_ATT_textContent;
case 108:
return TAG_SVG_ATT_transform;
case 109:
return TAG_SVG_ATT_transformBehavior;
case 110:
return TAG_LSR_ATT_translation;
case 111:
return TAG_SVG_ATT_vector_effect;
case 112:
return TAG_SVG_ATT_viewBox;
case 113:
return TAG_SVG_ATT_viewport_fill;
case 114:
return TAG_SVG_ATT_viewport_fill_opacity;
case 115:
return TAG_SVG_ATT_visibility;
case 116:
return TAG_SVG_ATT_width;
case 117:
return TAG_SVG_ATT_x;
case 118:
return TAG_SVG_ATT_x1;
case 119:
return TAG_SVG_ATT_x2;
case 120:
return TAG_XLINK_ATT_actuate;
case 121:
return TAG_XLINK_ATT_arcrole;
case 122:
return TAG_XLINK_ATT_href;
case 123:
return TAG_XLINK_ATT_role;
case 124:
return TAG_XLINK_ATT_show;
case 125:
return TAG_XLINK_ATT_title;
case 126:
return TAG_XLINK_ATT_type;
case 127:
return TAG_XML_ATT_base;
case 128:
return TAG_XML_ATT_lang;
case 129:
return TAG_SVG_ATT_y;
case 130:
return TAG_SVG_ATT_y1;
case 131:
return TAG_SVG_ATT_y2;
case 132:
return TAG_SVG_ATT_zoomAndPan;
default:
return -1;
}
}
s32 gf_lsr_rare_type_to_attribute(u32 tag) {
switch(tag) {
case 0:
return TAG_SVG_ATT__class;
case 1:
return TAG_SVG_ATT_audio_level;
case 2:
return TAG_SVG_ATT_color;
case 3:
return TAG_SVG_ATT_color_rendering;
case 4:
return TAG_SVG_ATT_display;
case 5:
return TAG_SVG_ATT_display_align;
case 6:
return TAG_SVG_ATT_fill_opacity;
case 7:
return TAG_SVG_ATT_fill_rule;
case 8:
return TAG_SVG_ATT_image_rendering;
case 9:
return TAG_SVG_ATT_line_increment;
case 10:
return TAG_SVG_ATT_pointer_events;
case 11:
return TAG_SVG_ATT_shape_rendering;
case 12:
return TAG_SVG_ATT_solid_color;
case 13:
return TAG_SVG_ATT_solid_opacity;
case 14:
return TAG_SVG_ATT_stop_color;
case 15:
return TAG_SVG_ATT_stop_opacity;
case 16:
return TAG_SVG_ATT_stroke_dasharray;
case 17:
return TAG_SVG_ATT_stroke_dashoffset;
case 18:
return TAG_SVG_ATT_stroke_linecap;
case 19:
return TAG_SVG_ATT_stroke_linejoin;
case 20:
return TAG_SVG_ATT_stroke_miterlimit;
case 21:
return TAG_SVG_ATT_stroke_opacity;
case 22:
return TAG_SVG_ATT_stroke_width;
case 23:
return TAG_SVG_ATT_text_anchor;
case 24:
return TAG_SVG_ATT_text_rendering;
case 25:
return TAG_SVG_ATT_viewport_fill;
case 26:
return TAG_SVG_ATT_viewport_fill_opacity;
case 27:
return TAG_SVG_ATT_vector_effect;
case 28:
return TAG_SVG_ATT_visibility;
case 29:
return TAG_SVG_ATT_requiredExtensions;
case 30:
return TAG_SVG_ATT_requiredFeatures;
case 31:
return TAG_SVG_ATT_requiredFormats;
case 32:
return TAG_SVG_ATT_systemLanguage;
case 33:
return TAG_XML_ATT_base;
case 34:
return TAG_XML_ATT_lang;
case 35:
return TAG_XML_ATT_space;
case 36:
return TAG_SVG_ATT_nav_next;
case 37:
return TAG_SVG_ATT_nav_up;
case 38:
return TAG_SVG_ATT_nav_up_left;
case 39:
return TAG_SVG_ATT_nav_up_right;
case 40:
return TAG_SVG_ATT_nav_prev;
case 41:
return TAG_SVG_ATT_nav_down;
case 42:
return TAG_SVG_ATT_nav_down_left;
case 43:
return TAG_SVG_ATT_nav_down_right;
case 44:
return TAG_SVG_ATT_nav_left;
case 45:
return TAG_SVG_ATT_focusable;
case 46:
return TAG_SVG_ATT_nav_right;
case 47:
return TAG_SVG_ATT_transform;
case 48:
return TAG_SVG_ATT_text_decoration;
case 50:
return TAG_SVG_ATT_font_variant;
case 51:
return TAG_SVG_ATT_font_family;
case 52:
return TAG_SVG_ATT_font_size;
case 53:
return TAG_SVG_ATT_font_style;
case 54:
return TAG_SVG_ATT_font_weight;
case 55:
return TAG_XLINK_ATT_title;
case 56:
return TAG_XLINK_ATT_type;
case 57:
return TAG_XLINK_ATT_role;
case 58:
return TAG_XLINK_ATT_arcrole;
case 59:
return TAG_XLINK_ATT_actuate;
case 60:
return TAG_XLINK_ATT_show;
case 61:
return TAG_SVG_ATT_end;
case 62:
return TAG_SVG_ATT_max;
case 63:
return TAG_SVG_ATT_min;
default:
return -1;
}
}
u32 gf_lsr_same_rare(SVGAllAttributes *elt_atts, SVGAllAttributes *base_atts)
{
GF_FieldInfo f_elt, f_base;
memset(&f_elt, 0, sizeof(GF_FieldInfo));
memset(&f_base, 0, sizeof(GF_FieldInfo));
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT__class;
f_elt.far_ptr = elt_atts->_class;
f_base.far_ptr = base_atts->_class;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_audio_level;
f_elt.far_ptr = elt_atts->audio_level;
f_base.far_ptr = base_atts->audio_level;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color;
f_elt.far_ptr = elt_atts->color;
f_base.far_ptr = base_atts->color;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color_rendering;
f_elt.far_ptr = elt_atts->color_rendering;
f_base.far_ptr = base_atts->color_rendering;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Display_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display;
f_elt.far_ptr = elt_atts->display;
f_base.far_ptr = base_atts->display;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_DisplayAlign_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display_align;
f_elt.far_ptr = elt_atts->display_align;
f_base.far_ptr = base_atts->display_align;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_opacity;
f_elt.far_ptr = elt_atts->fill_opacity;
f_base.far_ptr = base_atts->fill_opacity;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FillRule_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_rule;
f_elt.far_ptr = elt_atts->fill_rule;
f_base.far_ptr = base_atts->fill_rule;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_image_rendering;
f_elt.far_ptr = elt_atts->image_rendering;
f_base.far_ptr = base_atts->image_rendering;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_line_increment;
f_elt.far_ptr = elt_atts->line_increment;
f_base.far_ptr = base_atts->line_increment;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_PointerEvents_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_pointer_events;
f_elt.far_ptr = elt_atts->pointer_events;
f_base.far_ptr = base_atts->pointer_events;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_shape_rendering;
f_elt.far_ptr = elt_atts->shape_rendering;
f_base.far_ptr = base_atts->shape_rendering;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_color;
f_elt.far_ptr = elt_atts->solid_color;
f_base.far_ptr = base_atts->solid_color;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_opacity;
f_elt.far_ptr = elt_atts->solid_opacity;
f_base.far_ptr = base_atts->solid_opacity;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_color;
f_elt.far_ptr = elt_atts->stop_color;
f_base.far_ptr = base_atts->stop_color;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_opacity;
f_elt.far_ptr = elt_atts->stop_opacity;
f_base.far_ptr = base_atts->stop_opacity;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_StrokeDashArray_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dasharray;
f_elt.far_ptr = elt_atts->stroke_dasharray;
f_base.far_ptr = base_atts->stroke_dasharray;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dashoffset;
f_elt.far_ptr = elt_atts->stroke_dashoffset;
f_base.far_ptr = base_atts->stroke_dashoffset;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_StrokeLineCap_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linecap;
f_elt.far_ptr = elt_atts->stroke_linecap;
f_base.far_ptr = base_atts->stroke_linecap;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_StrokeLineJoin_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linejoin;
f_elt.far_ptr = elt_atts->stroke_linejoin;
f_base.far_ptr = base_atts->stroke_linejoin;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_miterlimit;
f_elt.far_ptr = elt_atts->stroke_miterlimit;
f_base.far_ptr = base_atts->stroke_miterlimit;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_opacity;
f_elt.far_ptr = elt_atts->stroke_opacity;
f_base.far_ptr = base_atts->stroke_opacity;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_width;
f_elt.far_ptr = elt_atts->stroke_width;
f_base.far_ptr = base_atts->stroke_width;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_TextAnchor_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_anchor;
f_elt.far_ptr = elt_atts->text_anchor;
f_base.far_ptr = base_atts->text_anchor;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_rendering;
f_elt.far_ptr = elt_atts->text_rendering;
f_base.far_ptr = base_atts->text_rendering;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill;
f_elt.far_ptr = elt_atts->viewport_fill;
f_base.far_ptr = base_atts->viewport_fill;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill_opacity;
f_elt.far_ptr = elt_atts->viewport_fill_opacity;
f_base.far_ptr = base_atts->viewport_fill_opacity;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_VectorEffect_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_vector_effect;
f_elt.far_ptr = elt_atts->vector_effect;
f_base.far_ptr = base_atts->vector_effect;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Visibility_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_visibility;
f_elt.far_ptr = elt_atts->visibility;
f_base.far_ptr = base_atts->visibility;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredExtensions;
f_elt.far_ptr = elt_atts->requiredExtensions;
f_base.far_ptr = base_atts->requiredExtensions;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFeatures;
f_elt.far_ptr = elt_atts->requiredFeatures;
f_base.far_ptr = base_atts->requiredFeatures;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFormats;
f_elt.far_ptr = elt_atts->requiredFormats;
f_base.far_ptr = base_atts->requiredFormats;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_systemLanguage;
f_elt.far_ptr = elt_atts->systemLanguage;
f_base.far_ptr = base_atts->systemLanguage;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_base;
f_elt.far_ptr = elt_atts->xml_base;
f_base.far_ptr = base_atts->xml_base;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_LanguageID_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_lang;
f_elt.far_ptr = elt_atts->xml_lang;
f_base.far_ptr = base_atts->xml_lang;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XML_Space_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_space;
f_elt.far_ptr = elt_atts->xml_space;
f_base.far_ptr = base_atts->xml_space;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_next;
f_elt.far_ptr = elt_atts->nav_next;
f_base.far_ptr = base_atts->nav_next;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up;
f_elt.far_ptr = elt_atts->nav_up;
f_base.far_ptr = base_atts->nav_up;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_left;
f_elt.far_ptr = elt_atts->nav_up_left;
f_base.far_ptr = base_atts->nav_up_left;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_right;
f_elt.far_ptr = elt_atts->nav_up_right;
f_base.far_ptr = base_atts->nav_up_right;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_prev;
f_elt.far_ptr = elt_atts->nav_prev;
f_base.far_ptr = base_atts->nav_prev;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down;
f_elt.far_ptr = elt_atts->nav_down;
f_base.far_ptr = base_atts->nav_down;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_left;
f_elt.far_ptr = elt_atts->nav_down_left;
f_base.far_ptr = base_atts->nav_down_left;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_right;
f_elt.far_ptr = elt_atts->nav_down_right;
f_base.far_ptr = base_atts->nav_down_right;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_left;
f_elt.far_ptr = elt_atts->nav_left;
f_base.far_ptr = base_atts->nav_left;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focusable_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_focusable;
f_elt.far_ptr = elt_atts->focusable;
f_base.far_ptr = base_atts->focusable;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_right;
f_elt.far_ptr = elt_atts->nav_right;
f_base.far_ptr = base_atts->nav_right;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_Transform_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_transform;
f_elt.far_ptr = elt_atts->transform;
f_base.far_ptr = base_atts->transform;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_decoration;
f_elt.far_ptr = elt_atts->text_decoration;
f_base.far_ptr = base_atts->text_decoration;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FontVariant_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_variant;
f_elt.far_ptr = elt_atts->font_variant;
f_base.far_ptr = base_atts->font_variant;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FontFamily_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_family;
f_elt.far_ptr = elt_atts->font_family;
f_base.far_ptr = base_atts->font_family;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FontSize_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_size;
f_elt.far_ptr = elt_atts->font_size;
f_base.far_ptr = base_atts->font_size;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FontStyle_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_style;
f_elt.far_ptr = elt_atts->font_style;
f_base.far_ptr = base_atts->font_style;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SVG_FontWeight_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_weight;
f_elt.far_ptr = elt_atts->font_weight;
f_base.far_ptr = base_atts->font_weight;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_title;
f_elt.far_ptr = elt_atts->xlink_title;
f_base.far_ptr = base_atts->xlink_title;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_type;
f_elt.far_ptr = elt_atts->xlink_type;
f_base.far_ptr = base_atts->xlink_type;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_role;
f_elt.far_ptr = elt_atts->xlink_role;
f_base.far_ptr = base_atts->xlink_role;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_arcrole;
f_elt.far_ptr = elt_atts->xlink_arcrole;
f_base.far_ptr = base_atts->xlink_arcrole;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_actuate;
f_elt.far_ptr = elt_atts->xlink_actuate;
f_base.far_ptr = base_atts->xlink_actuate;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_show;
f_elt.far_ptr = elt_atts->xlink_show;
f_base.far_ptr = base_atts->xlink_show;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SMIL_Times_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_end;
f_elt.far_ptr = elt_atts->end;
f_base.far_ptr = base_atts->end;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_max;
f_elt.far_ptr = elt_atts->max;
f_base.far_ptr = base_atts->max;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_min;
f_elt.far_ptr = elt_atts->min;
f_base.far_ptr = base_atts->min;
if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;
return 1;
}
#endif