| /* | |
| * GPAC - Multimedia Framework C SDK | |
| * | |
| * Authors: Cyril Concolato - Jean Le Feuvre | |
| * Copyright (c)2004-200X Telecom ParisTech - All rights reserved | |
| * | |
| * This file is part of GPAC / SVG Scene Graph sub-project | |
| * | |
| * GPAC is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU Lesser General Public License as published by | |
| * the Free Software Foundation; either version 2, or (at your option) | |
| * any later version. | |
| * | |
| * GPAC is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; see the file COPYING. If not, write to | |
| * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
| * | |
| */ | |
| /* | |
| DO NOT MOFIFY - File generated on GMT Tue May 15 11:18:46 2007 | |
| BY SVGGen for GPAC Version 0.5.0 | |
| */ | |
| #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 /*GPAC_DISABLE_LASER*/ | |