📄 svg_nodes_sa.c
字号:
info->fieldType = SVG_FontList_datatype; info->far_ptr = &((SVG_SA_Element *)node)->conditional->requiredFonts; return GF_OK; case 64: info->name = "requiredFormats"; info->fieldType = SVG_FormatList_datatype; info->far_ptr = &((SVG_SA_Element *)node)->conditional->requiredFormats; return GF_OK; case 65: info->name = "systemLanguage"; info->fieldType = SVG_LanguageIDs_datatype; info->far_ptr = &((SVG_SA_Element *)node)->conditional->systemLanguage; return GF_OK; case 66: info->name = "transform"; info->fieldType = SVG_Transform_datatype; info->far_ptr = &((SVGTransformableElement *)node)->transform; return GF_OK; case 67: info->name = "motionTransform"; info->fieldType = SVG_Motion_datatype; info->far_ptr = ((SVGTransformableElement *)node)->motionTransform; return GF_OK; case 68: info->name = "target"; info->fieldType = SVG_ID_datatype; info->far_ptr = & ((SVG_SA_aElement *)node)->target; return GF_OK; default: return GF_BAD_PARAM; }}s32 gf_svg_sa_a_get_attribute_index_from_name(char *name){ if(!strcmp("id", name)) return 0; if(!strcmp("xml:id", name)) return 1; if(!strcmp("class", name)) return 2; if(!strcmp("xml:lang", name)) return 3; if(!strcmp("xml:base", name)) return 4; if(!strcmp("xml:space", name)) return 5; if(!strcmp("externalResourcesRequired", name)) return 6; if(!strcmp("audio-level", name)) return 7; if(!strcmp("display", name)) return 8; if(!strcmp("image-rendering", name)) return 9; if(!strcmp("pointer-events", name)) return 10; if(!strcmp("shape-rendering", name)) return 11; if(!strcmp("text-rendering", name)) return 12; if(!strcmp("viewport-fill", name)) return 13; if(!strcmp("viewport-fill-opacity", name)) return 14; if(!strcmp("visibility", name)) return 15; if(!strcmp("color", name)) return 16; if(!strcmp("color-rendering", name)) return 17; if(!strcmp("display-align", name)) return 18; if(!strcmp("fill", name)) return 19; if(!strcmp("fill-opacity", name)) return 20; if(!strcmp("fill-rule", name)) return 21; if(!strcmp("font-family", name)) return 22; if(!strcmp("font-size", name)) return 23; if(!strcmp("font-style", name)) return 24; if(!strcmp("font-weight", name)) return 25; if(!strcmp("line-increment", name)) return 26; if(!strcmp("solid-color", name)) return 27; if(!strcmp("solid-opacity", name)) return 28; if(!strcmp("stop-color", name)) return 29; if(!strcmp("stop-opacity", name)) return 30; if(!strcmp("stroke", name)) return 31; if(!strcmp("stroke-dasharray", name)) return 32; if(!strcmp("stroke-dashoffset", name)) return 33; if(!strcmp("stroke-linecap", name)) return 34; if(!strcmp("stroke-linejoin", name)) return 35; if(!strcmp("stroke-miterlimit", name)) return 36; if(!strcmp("stroke-opacity", name)) return 37; if(!strcmp("stroke-width", name)) return 38; if(!strcmp("text-align", name)) return 39; if(!strcmp("text-anchor", name)) return 40; if(!strcmp("vector-effect", name)) return 41; if(!strcmp("focusHighlight", name)) return 42; if(!strcmp("focusable", name)) return 43; if(!strcmp("nav-down", name)) return 44; if(!strcmp("nav-down-left", name)) return 45; if(!strcmp("nav-down-right", name)) return 46; if(!strcmp("nav-left", name)) return 47; if(!strcmp("nav-next", name)) return 48; if(!strcmp("nav-prev", name)) return 49; if(!strcmp("nav-right", name)) return 50; if(!strcmp("nav-up", name)) return 51; if(!strcmp("nav-up-left", name)) return 52; if(!strcmp("nav-up-right", name)) return 53; if(!strcmp("xlink:href", name)) return 54; if(!strcmp("xlink:show", name)) return 55; if(!strcmp("xlink:title", name)) return 56; if(!strcmp("xlink:actuate", name)) return 57; if(!strcmp("xlink:role", name)) return 58; if(!strcmp("xlink:arcrole", name)) return 59; if(!strcmp("xlink:type", name)) return 60; if(!strcmp("requiredExtensions", name)) return 61; if(!strcmp("requiredFeatures", name)) return 62; if(!strcmp("requiredFonts", name)) return 63; if(!strcmp("requiredFormats", name)) return 64; if(!strcmp("systemLanguage", name)) return 65; if(!strcmp("transform", name)) return 66; if(!strcmp("motionTransform", name)) return 67; if(!strcmp("target", name)) return 68; return -1;}void *gf_svg_sa_new_animate(){ SVG_SA_animateElement *p; GF_SAFEALLOC(p, SVG_SA_animateElement); if (!p) return NULL; gf_node_setup((GF_Node *)p, TAG_SVG_SA_animate); gf_sg_parent_setup((GF_Node *) p);#ifdef GF_NODE_USE_POINTERS ((GF_Node *p)->sgprivate->name = "animate"; ((GF_Node *p)->sgprivate->node_del = gf_svg_sa_animate_del; ((GF_Node *p)->sgprivate->get_field = gf_svg_sa_animate_get_attribute;#endif gf_svg_sa_init_core((SVG_SA_Element *)p); gf_svg_sa_init_xlink((SVG_SA_Element *)p); gf_svg_sa_init_timing((SVG_SA_Element *)p); gf_svg_sa_init_anim((SVG_SA_Element *)p); return p;}static void gf_svg_sa_animate_del(GF_Node *node){ SVG_SA_animateElement *p = (SVG_SA_animateElement *)node; gf_svg_sa_reset_base_element((SVG_SA_Element *)p); gf_sg_parent_reset((GF_Node *) p); gf_node_free((GF_Node *)p);}static GF_Err gf_svg_sa_animate_get_attribute(GF_Node *node, GF_FieldInfo *info){ switch (info->fieldIndex) { case 0: info->name = "id"; info->fieldType = SVG_ID_datatype; info->far_ptr = gf_node_get_name_address(node); return GF_OK; case 1: info->name = "xml:id"; info->fieldType = SVG_ID_datatype; info->far_ptr = gf_node_get_name_address(node); return GF_OK; case 2: info->name = "class"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->core->_class; return GF_OK; case 3: info->name = "xml:lang"; info->fieldType = SVG_LanguageID_datatype; info->far_ptr = &((SVG_SA_Element *)node)->core->lang; return GF_OK; case 4: info->name = "xml:base"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->core->base; return GF_OK; case 5: info->name = "xml:space"; info->fieldType = XML_Space_datatype; info->far_ptr = &((SVG_SA_Element *)node)->core->space; return GF_OK; case 6: info->name = "externalResourcesRequired"; info->fieldType = SVG_Boolean_datatype; info->far_ptr = &((SVG_SA_Element *)node)->core->eRR; return GF_OK; case 7: info->name = "xlink:href"; info->fieldType = XMLRI_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->href; return GF_OK; case 8: info->name = "xlink:show"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->show; return GF_OK; case 9: info->name = "xlink:title"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->title; return GF_OK; case 10: info->name = "xlink:actuate"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->actuate; return GF_OK; case 11: info->name = "xlink:role"; info->fieldType = XMLRI_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->role; return GF_OK; case 12: info->name = "xlink:arcrole"; info->fieldType = XMLRI_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->arcrole; return GF_OK; case 13: info->name = "xlink:type"; info->fieldType = SVG_String_datatype; info->far_ptr = &((SVG_SA_Element *)node)->xlink->type; return GF_OK; case 14: info->name = "begin"; info->fieldType = SMIL_Times_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->begin; return GF_OK; case 15: info->name = "end"; info->fieldType = SMIL_Times_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->end; return GF_OK; case 16: info->name = "dur"; info->fieldType = SMIL_Duration_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->dur; return GF_OK; case 17: info->name = "repeatCount"; info->fieldType = SMIL_RepeatCount_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->repeatCount; return GF_OK; case 18: info->name = "repeatDur"; info->fieldType = SMIL_Duration_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->repeatDur; return GF_OK; case 19: info->name = "restart"; info->fieldType = SMIL_Restart_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->restart; return GF_OK; case 20: info->name = "min"; info->fieldType = SMIL_Duration_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->min; return GF_OK; case 21: info->name = "max"; info->fieldType = SMIL_Duration_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->max; return GF_OK; case 22: info->name = "fill"; info->fieldType = SMIL_Fill_datatype; info->far_ptr = &((SVG_SA_Element *)node)->timing->fill; return GF_OK; case 23: info->name = "attributeName"; info->fieldType = SMIL_AttributeName_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->attributeName; return GF_OK; case 24: info->name = "attributeType"; info->fieldType = SMIL_AttributeType_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->attributeType; return GF_OK; case 25: info->name = "to"; info->fieldType = SMIL_AnimateValue_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->to; return GF_OK; case 26: info->name = "from"; info->fieldType = SMIL_AnimateValue_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->from; return GF_OK; case 27: info->name = "by"; info->fieldType = SMIL_AnimateValue_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->by; return GF_OK; case 28: info->name = "values"; info->fieldType = SMIL_AnimateValues_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->values; return GF_OK; case 29: info->name = "calcMode"; info->fieldType = SMIL_CalcMode_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->calcMode; return GF_OK; case 30: info->name = "keySplines"; info->fieldType = SMIL_KeySplines_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->keySplines; return GF_OK; case 31: info->name = "keyTimes"; info->fieldType = SMIL_KeyTimes_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->keyTimes; return GF_OK; case 32: info->name = "accumulate"; info->fieldType = SMIL_Accumulate_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->accumulate; return GF_OK; case 33: info->name = "additive"; info->fieldType = SMIL_Additive_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->additive; return GF_OK; case 34: info->name = "lsr:enabled"; info->fieldType = SVG_Boolean_datatype; info->far_ptr = &((SVG_SA_Element *)node)->anim->lsr_enabled; return GF_OK; default: return GF_BAD_PARAM; }}s32 gf_svg_sa_animate_get_attribute_index_from_name(char *name){ if(!strcmp("id", name)) return 0; if(!strcmp("xml:id", name)) return 1; if(!strcmp("class", name)) return 2; if(!strcmp("xml:lang", name)) return 3; if(!strcmp("xml:base", name)) return 4; if(!strcmp("xml:space", name)) return 5; if(!strcmp("externalResourcesRequired", name)) return 6; if(!strcmp("xlink:href", name)) return 7; if(!strcmp("xlink:show", name)) return 8; if(!strcmp("xlink:title", name)) return 9; if(!strcmp("xlink:actuate", name)) return 10; if(!strcmp("xlink:role", name)) return 11; if(!strcmp("xlink:arcrole", name)) return 12; if(!strcmp("xlink:type", name)) return 13; if(!strcmp("begin", name)) return 14; if(!strcmp("end", name)) return 15; if(!strcmp("dur", name)) return 16; if(!strcmp("repeatCount", name)) return 17; if(!strcmp("repeatDur", name)) return 18; if(!strcmp("restart", name)) return 19; if(!strcmp("min", name)) return 20; if(!strcmp("max", name)) return 21; if(!strcmp("fill", name)) return 22; if(!strcmp("attributeName", name)) return 23; if(!strcmp("attributeType", name)) return 24; if(!strcmp("to", name)) return 25; if(!strcmp("from", name)) return 26; if(!strcmp("by", name)) return 27; if(!strcmp("values", name)) return 28; if(!strcmp("calcMode", name)) return 29; if(!strcmp("keySplines", name)) return 30; if(!strcmp("keyTimes", name)) return 31; if(!strcmp("accumulate", name)) return 32; if(!strcmp("additive", name)) return 33; if(!strcmp("lsr:enabled", name)) return 34; return -1;}void *gf_svg_sa_new_animateColor(){ SVG_SA_animateColorElement *p; GF_SAFEALLOC(p, SVG_SA_animateColorElement); if (!p) return NULL; gf_node_setup((GF_Node *)p, TAG_SVG_SA_animateColor); gf_sg_parent_setup((GF_Node *) p);#ifdef GF_NODE_USE_POINTERS ((GF_Node *p)->sgprivate->name = "animateColor"; ((GF_Node *p)->sgprivate->node_del = gf_svg_sa_animateColor_del; ((GF_Node *p)->sgprivate->get_field = gf_svg_sa_animateColor_get_attribute;#endif gf_svg_sa_init_core((SVG_SA_Element *)p); gf_svg_sa_init_xlink((SVG_SA_Element *)p); gf_svg_sa_init_timing((SVG_SA_Element *)p); gf_svg_sa_init_anim((SVG_SA_Element *)p); return p;}static void gf_svg_sa_animateColor_del(GF_Node *node){ SVG_SA_animateColorElement *p = (SVG_SA_animateColorElement *)node; gf_svg_sa_reset_base_element((SVG_SA_Element *)p); gf_sg_parent_reset((GF_Node *) p); gf_node_free((GF_Node *)p);}static GF_Err gf_svg_sa_animateColor_get_attribute(GF_Node *node, GF_FieldInfo *info){ switch (info->fieldIndex) { case 0: info->name = "id"; info->fieldType = SVG_ID_datatype; info->far_ptr = gf_node_get_name_address(node); return GF_OK;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -