1 /* 2 * GPAC - Multimedia Framework C SDK 3 * 4 * Authors: Cyril Concolato - Jean Le Feuvre 5 * Copyright (c)2004-2012 Telecom ParisTech - All rights reserved 6 * 7 * This file is part of GPAC / XML-based 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 #ifndef _GF_XML_NODES_H 26 #define _GF_XML_NODES_H 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 #include <gpac/scenegraph_svg.h> 33 34 enum { 35 TAG_SVG_a = GF_NODE_RANGE_FIRST_SVG, 36 TAG_SVG_animate, 37 TAG_SVG_animateColor, 38 TAG_SVG_animateMotion, 39 TAG_SVG_animateTransform, 40 TAG_SVG_animation, 41 TAG_SVG_audio, 42 TAG_SVG_circle, 43 TAG_SVG_defs, 44 TAG_SVG_desc, 45 TAG_SVG_discard, 46 TAG_SVG_ellipse, 47 TAG_SVG_font, 48 TAG_SVG_font_face, 49 TAG_SVG_font_face_src, 50 TAG_SVG_font_face_uri, 51 TAG_SVG_foreignObject, 52 TAG_SVG_g, 53 TAG_SVG_glyph, 54 TAG_SVG_handler, 55 TAG_SVG_hkern, 56 TAG_SVG_image, 57 TAG_SVG_line, 58 TAG_SVG_linearGradient, 59 TAG_SVG_listener, 60 TAG_SVG_metadata, 61 TAG_SVG_missing_glyph, 62 TAG_SVG_mpath, 63 TAG_SVG_path, 64 TAG_SVG_polygon, 65 TAG_SVG_polyline, 66 TAG_SVG_prefetch, 67 TAG_SVG_radialGradient, 68 TAG_SVG_rect, 69 TAG_SVG_script, 70 TAG_SVG_set, 71 TAG_SVG_solidColor, 72 TAG_SVG_stop, 73 TAG_SVG_svg, 74 TAG_SVG_switch, 75 TAG_SVG_tbreak, 76 TAG_SVG_text, 77 TAG_SVG_textArea, 78 TAG_SVG_title, 79 TAG_SVG_tspan, 80 TAG_SVG_use, 81 TAG_SVG_video, 82 83 TAG_SVG_filter, 84 TAG_SVG_feDistantLight, 85 TAG_SVG_fePointLight, 86 TAG_SVG_feSpotLight, 87 TAG_SVG_feBlend, 88 TAG_SVG_feColorMatrix, 89 TAG_SVG_feComponentTransfer, 90 TAG_SVG_feFuncR, 91 TAG_SVG_feFuncG, 92 TAG_SVG_feFuncB, 93 TAG_SVG_feFuncA, 94 TAG_SVG_feComposite, 95 TAG_SVG_feConvolveMatrix, 96 TAG_SVG_feDiffuseLighting, 97 TAG_SVG_feDisplacementMap, 98 TAG_SVG_feFlood, 99 TAG_SVG_feGaussianBlur, 100 TAG_SVG_feImage, 101 TAG_SVG_feMerge, 102 TAG_SVG_feMorphology, 103 TAG_SVG_feOffset, 104 TAG_SVG_feSpecularLighting, 105 TAG_SVG_feTile, 106 TAG_SVG_feTurbulence, 107 108 TAG_LSR_conditional, 109 TAG_LSR_cursorManager, 110 TAG_LSR_rectClip, 111 TAG_LSR_selector, 112 TAG_LSR_simpleLayout, 113 TAG_LSR_updates, 114 115 /*undefined elements (when parsing) use this tag*/ 116 TAG_SVG_UndefinedElement 117 }; 118 119 struct _all_atts { 120 XML_Space *xml_space; 121 XMLRI *xml_base; 122 SVG_ID *xml_id; 123 SVG_LanguageID *xml_lang; 124 125 DOM_String *xlink_type; 126 XMLRI *xlink_role; 127 XMLRI *xlink_arcrole; 128 DOM_String *xlink_title; 129 XMLRI *xlink_href; 130 DOM_String *xlink_show; 131 DOM_String *xlink_actuate; 132 133 XMLEV_Event *event; 134 XMLEV_Phase *phase; 135 XMLEV_Propagate *propagate; 136 XMLEV_DefaultAction *defaultAction; 137 XML_IDREF *observer; 138 XML_IDREF *listener_target; 139 XMLRI *handler; 140 141 SVG_ID *id; 142 SVG_String *_class; 143 SVG_ListOfIRI *requiredFeatures; 144 SVG_ListOfIRI *requiredExtensions; 145 SVG_FormatList *requiredFormats; 146 SVG_FontList *requiredFonts; 147 SVG_LanguageIDs *systemLanguage; 148 SVG_Display *display; 149 SVG_Visibility *visibility; 150 SVG_RenderingHint *image_rendering; 151 SVG_PointerEvents *pointer_events; 152 SVG_RenderingHint *shape_rendering; 153 SVG_RenderingHint *text_rendering; 154 SVG_Number *audio_level; 155 SVG_Paint *viewport_fill; 156 SVG_Number *viewport_fill_opacity; 157 SVG_String *overflow; 158 SVG_Number *fill_opacity; 159 SVG_Number *stroke_opacity; 160 SVG_Paint *fill; 161 SVG_FillRule *fill_rule; 162 SVG_Paint *filter; 163 SVG_Paint *stroke; 164 SVG_StrokeDashArray *stroke_dasharray; 165 SVG_Length *stroke_dashoffset; 166 SVG_StrokeLineCap *stroke_linecap; 167 SVG_StrokeLineJoin *stroke_linejoin; 168 SVG_Number *stroke_miterlimit; 169 SVG_Length *stroke_width; 170 SVG_Paint *color; 171 SVG_RenderingHint *color_rendering; 172 SVG_VectorEffect *vector_effect; 173 SVG_SVGColor *solid_color; 174 SVG_Number *solid_opacity; 175 SVG_DisplayAlign *display_align; 176 SVG_Number *line_increment; 177 SVG_SVGColor *stop_color; 178 SVG_Number *stop_opacity; 179 SVG_FontFamily *font_family; 180 SVG_FontSize *font_size; 181 SVG_FontStyle *font_style; 182 SVG_FontVariant *font_variant; 183 SVG_FontWeight *font_weight; 184 SVG_TextAnchor *text_anchor; 185 SVG_TextAlign *text_align; 186 SVG_String *text_decoration; 187 SVG_FocusHighlight *focusHighlight; 188 SVG_Boolean *externalResourcesRequired; 189 SVG_Focusable *focusable; 190 SVG_Focus *nav_next; 191 SVG_Focus *nav_prev; 192 SVG_Focus *nav_up; 193 SVG_Focus *nav_up_right; 194 SVG_Focus *nav_right; 195 SVG_Focus *nav_down_right; 196 SVG_Focus *nav_down; 197 SVG_Focus *nav_down_left; 198 SVG_Focus *nav_left; 199 SVG_Focus *nav_up_left; 200 SVG_Transform *transform; 201 SVG_String *target; 202 SMIL_AttributeName *attributeName; 203 SMIL_AttributeType *attributeType; 204 SMIL_Times *begin; 205 SVG_Boolean *lsr_enabled; 206 SMIL_Duration *dur; 207 SMIL_Times *end; 208 SMIL_RepeatCount *repeatCount; 209 SMIL_Duration *repeatDur; 210 SMIL_Restart *restart; 211 SMIL_Fill *smil_fill; 212 SMIL_Duration *min; 213 SMIL_Duration *max; 214 SMIL_AnimateValue *to; 215 SMIL_CalcMode *calcMode; 216 SMIL_AnimateValues *values; 217 SMIL_KeyTimes *keyTimes; 218 SMIL_KeySplines *keySplines; 219 SMIL_AnimateValue *from; 220 SMIL_AnimateValue *by; 221 SMIL_Additive *additive; 222 SMIL_Accumulate *accumulate; 223 SVG_PathData *path; 224 SMIL_KeyPoints *keyPoints; 225 SVG_Rotate *rotate; 226 SVG_String *origin; 227 SVG_TransformType *transform_type; 228 SVG_Clock *clipBegin; 229 SVG_Clock *clipEnd; 230 SMIL_SyncBehavior *syncBehavior; 231 SMIL_SyncTolerance *syncTolerance; 232 SVG_Boolean *syncMaster; 233 XMLRI *syncReference; 234 SVG_Coordinate *x; 235 SVG_Coordinate *y; 236 SVG_Length *width; 237 SVG_Length *height; 238 SVG_PreserveAspectRatio *preserveAspectRatio; 239 SVG_InitialVisibility *initialVisibility; 240 SVG_ContentType *type; 241 SVG_Coordinate *cx; 242 SVG_Coordinate *cy; 243 SVG_Length *r; 244 SVG_Length *cursorManager_x; 245 SVG_Length *cursorManager_y; 246 SVG_Length *rx; 247 SVG_Length *ry; 248 SVG_Number *horiz_adv_x; 249 SVG_Number *horiz_origin_x; 250 SVG_String *font_stretch; 251 SVG_String *unicode_range; 252 SVG_String *panose_1; 253 SVG_String *widths; 254 SVG_String *bbox; 255 SVG_Number *units_per_em; 256 SVG_Number *stemv; 257 SVG_Number *stemh; 258 SVG_Number *slope; 259 SVG_Number *cap_height; 260 SVG_Number *x_height; 261 SVG_Number *accent_height; 262 SVG_Number *ascent; 263 SVG_Number *descent; 264 SVG_Number *ideographic; 265 SVG_Number *alphabetic; 266 SVG_Number *mathematical; 267 SVG_Number *hanging; 268 SVG_Number *underline_position; 269 SVG_Number *underline_thickness; 270 SVG_Number *strikethrough_position; 271 SVG_Number *strikethrough_thickness; 272 SVG_Number *overline_position; 273 SVG_Number *overline_thickness; 274 SVG_PathData *d; 275 SVG_String *unicode; 276 SVG_String *glyph_name; 277 SVG_String *arabic_form; 278 SVG_LanguageIDs *lang; 279 SVG_String *u1; 280 SVG_String *g1; 281 SVG_String *u2; 282 SVG_String *g2; 283 SVG_Number *k; 284 SVG_Number *opacity; 285 SVG_Coordinate *x1; 286 SVG_Coordinate *y1; 287 SVG_Coordinate *x2; 288 SVG_Coordinate *y2; 289 SVG_GradientUnit *gradientUnits; 290 SVG_GradientUnit *filterUnits; 291 SVG_SpreadMethod *spreadMethod; 292 SVG_Transform *gradientTransform; 293 SVG_Number *pathLength; 294 SVG_Points *points; 295 SVG_Number *mediaSize; 296 SVG_String *mediaTime; 297 SVG_String *mediaCharacterEncoding; 298 SVG_String *mediaContentEncodings; 299 SVG_Number *bandwidth; 300 SVG_Coordinate *fx; 301 SVG_Coordinate *fy; 302 LASeR_Size *size; 303 LASeR_Choice *choice; 304 LASeR_Size *delta; 305 SVG_Number *offset; 306 SMIL_SyncBehavior *syncBehaviorDefault; 307 SMIL_SyncTolerance *syncToleranceDefault; 308 SVG_ViewBox *viewBox; 309 SVG_ZoomAndPan *zoomAndPan; 310 SVG_String *version; 311 SVG_String *baseProfile; 312 SVG_ContentType *contentScriptType; 313 SVG_Clock *snapshotTime; 314 SVG_TimelineBegin *timelineBegin; 315 SVG_PlaybackOrder *playbackOrder; 316 SVG_Boolean *editable; 317 SVG_Coordinates *text_x; 318 SVG_Coordinates *text_y; 319 SVG_Numbers *text_rotate; 320 SVG_TransformBehavior *transformBehavior; 321 SVG_Overlay *overlay; 322 SVG_Boolean *fullscreen; 323 SVG_Motion *motionTransform; 324 325 SVG_Boolean *gpac_useAsPrimary; 326 SVG_Number *gpac_depthOffset; 327 SVG_Number *gpac_depthGain; 328 }; 329 #ifdef __cplusplus 330 } 331 #endif 332 333 334 335 #endif /*_GF_SVG_NODES_H*/ 336 337