⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svg_nodes_sani.c

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 C
📖 第 1 页 / 共 5 页
字号:
			info->far_ptr = &((SVG_SANI_Element *)node)->timing->max;			return GF_OK;		case 22:			info->name = "fill";			info->fieldType = SMIL_Fill_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->fill;			return GF_OK;		case 23:			info->name = "attributeName";			info->fieldType = SMIL_AttributeName_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->attributeName;			return GF_OK;		case 24:			info->name = "attributeType";			info->fieldType = SMIL_AttributeType_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->attributeType;			return GF_OK;		case 25:			info->name = "to";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->to;			return GF_OK;		case 26:			info->name = "from";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->from;			return GF_OK;		case 27:			info->name = "by";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->by;			return GF_OK;		case 28:			info->name = "values";			info->fieldType = SMIL_AnimateValues_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->values;			return GF_OK;		case 29:			info->name = "calcMode";			info->fieldType = SMIL_CalcMode_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->calcMode;			return GF_OK;		case 30:			info->name = "keySplines";			info->fieldType = SMIL_KeySplines_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->keySplines;			return GF_OK;		case 31:			info->name = "keyTimes";			info->fieldType = SMIL_KeyTimes_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->keyTimes;			return GF_OK;		case 32:			info->name = "accumulate";			info->fieldType = SMIL_Accumulate_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->accumulate;			return GF_OK;		case 33:			info->name = "additive";			info->fieldType = SMIL_Additive_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->additive;			return GF_OK;		case 34:			info->name = "lsr:enabled";			info->fieldType = SVG_Boolean_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->lsr_enabled;			return GF_OK;		default: return GF_BAD_PARAM;	}}void *gf_svg_sani_new_animateColor(){	SVG_SANI_animateColorElement *p;	GF_SAFEALLOC(p, SVG_SANI_animateColorElement);	if (!p) return NULL;	gf_node_setup((GF_Node *)p, TAG_SVG_SANI_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_sani_animateColor_del;	((GF_Node *p)->sgprivate->get_field = gf_svg_sani_animateColor_get_attribute;#endif	gf_svg_sani_init_core((SVG_SANI_Element *)p);	gf_svg_sani_init_xlink((SVG_SANI_Element *)p);	gf_svg_sani_init_timing((SVG_SANI_Element *)p);	gf_svg_sani_init_anim((SVG_SANI_Element *)p);	return p;}static void gf_svg_sani_animateColor_del(GF_Node *node){	SVG_SANI_animateColorElement *p = (SVG_SANI_animateColorElement *)node;	gf_svg_sani_reset_base_element((SVG_SANI_Element *)p);	gf_sg_parent_reset((GF_Node *) p);	gf_node_free((GF_Node *)p);}static GF_Err gf_svg_sani_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;		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_SANI_Element *)node)->xlink->href;			return GF_OK;		case 8:			info->name = "xlink:show";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->show;			return GF_OK;		case 9:			info->name = "xlink:title";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->title;			return GF_OK;		case 10:			info->name = "xlink:actuate";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->actuate;			return GF_OK;		case 11:			info->name = "xlink:role";			info->fieldType = XMLRI_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->role;			return GF_OK;		case 12:			info->name = "xlink:arcrole";			info->fieldType = XMLRI_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->arcrole;			return GF_OK;		case 13:			info->name = "xlink:type";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->type;			return GF_OK;		case 14:			info->name = "begin";			info->fieldType = SMIL_Times_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->begin;			return GF_OK;		case 15:			info->name = "end";			info->fieldType = SMIL_Times_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->end;			return GF_OK;		case 16:			info->name = "dur";			info->fieldType = SMIL_Duration_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->dur;			return GF_OK;		case 17:			info->name = "repeatCount";			info->fieldType = SMIL_RepeatCount_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->repeatCount;			return GF_OK;		case 18:			info->name = "repeatDur";			info->fieldType = SMIL_Duration_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->repeatDur;			return GF_OK;		case 19:			info->name = "restart";			info->fieldType = SMIL_Restart_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->restart;			return GF_OK;		case 20:			info->name = "min";			info->fieldType = SMIL_Duration_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->min;			return GF_OK;		case 21:			info->name = "max";			info->fieldType = SMIL_Duration_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->max;			return GF_OK;		case 22:			info->name = "fill";			info->fieldType = SMIL_Fill_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->fill;			return GF_OK;		case 23:			info->name = "attributeName";			info->fieldType = SMIL_AttributeName_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->attributeName;			return GF_OK;		case 24:			info->name = "attributeType";			info->fieldType = SMIL_AttributeType_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->attributeType;			return GF_OK;		case 25:			info->name = "to";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->to;			return GF_OK;		case 26:			info->name = "from";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->from;			return GF_OK;		case 27:			info->name = "by";			info->fieldType = SMIL_AnimateValue_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->by;			return GF_OK;		case 28:			info->name = "values";			info->fieldType = SMIL_AnimateValues_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->values;			return GF_OK;		case 29:			info->name = "calcMode";			info->fieldType = SMIL_CalcMode_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->calcMode;			return GF_OK;		case 30:			info->name = "keySplines";			info->fieldType = SMIL_KeySplines_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->keySplines;			return GF_OK;		case 31:			info->name = "keyTimes";			info->fieldType = SMIL_KeyTimes_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->keyTimes;			return GF_OK;		case 32:			info->name = "accumulate";			info->fieldType = SMIL_Accumulate_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->accumulate;			return GF_OK;		case 33:			info->name = "additive";			info->fieldType = SMIL_Additive_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->additive;			return GF_OK;		case 34:			info->name = "lsr:enabled";			info->fieldType = SVG_Boolean_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->anim->lsr_enabled;			return GF_OK;		default: return GF_BAD_PARAM;	}}void *gf_svg_sani_new_animateMotion(){	SVG_SANI_animateMotionElement *p;	GF_SAFEALLOC(p, SVG_SANI_animateMotionElement);	if (!p) return NULL;	gf_node_setup((GF_Node *)p, TAG_SVG_SANI_animateMotion);	gf_sg_parent_setup((GF_Node *) p);#ifdef GF_NODE_USE_POINTERS	((GF_Node *p)->sgprivate->name = "animateMotion";	((GF_Node *p)->sgprivate->node_del = gf_svg_sani_animateMotion_del;	((GF_Node *p)->sgprivate->get_field = gf_svg_sani_animateMotion_get_attribute;#endif	gf_svg_sani_init_core((SVG_SANI_Element *)p);	gf_svg_sani_init_xlink((SVG_SANI_Element *)p);	gf_svg_sani_init_timing((SVG_SANI_Element *)p);	gf_svg_sani_init_anim((SVG_SANI_Element *)p);#ifdef USE_GF_PATH	gf_path_reset(&p->path);#else	p->path.commands = gf_list_new();	p->path.points = gf_list_new();#endif	p->keyPoints = gf_list_new();	return p;}static void gf_svg_sani_animateMotion_del(GF_Node *node){	SVG_SANI_animateMotionElement *p = (SVG_SANI_animateMotionElement *)node;	gf_svg_sani_reset_base_element((SVG_SANI_Element *)p);	gf_svg_reset_path(p->path);	gf_smil_delete_key_types(p->keyPoints);	free(p->origin);	gf_sg_parent_reset((GF_Node *) p);	gf_node_free((GF_Node *)p);}static GF_Err gf_svg_sani_animateMotion_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_SANI_Element *)node)->xlink->href;			return GF_OK;		case 8:			info->name = "xlink:show";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->show;			return GF_OK;		case 9:			info->name = "xlink:title";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->title;			return GF_OK;		case 10:			info->name = "xlink:actuate";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->actuate;			return GF_OK;		case 11:			info->name = "xlink:role";			info->fieldType = XMLRI_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->role;			return GF_OK;		case 12:			info->name = "xlink:arcrole";			info->fieldType = XMLRI_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->arcrole;			return GF_OK;		case 13:			info->name = "xlink:type";			info->fieldType = SVG_String_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->xlink->type;			return GF_OK;		case 14:			info->name = "begin";			info->fieldType = SMIL_Times_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->begin;			return GF_OK;		case 15:			info->name = "end";			info->fieldType = SMIL_Times_datatype;			info->far_ptr = &((SVG_SANI_Element *)node)->timing->end;			return GF_OK;		case 16:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -