📄 mal_properties.h
字号:
#ifndef _MAL_PROPERTIES_#define _MAL_PROPERTIES_#include "mal.h"#include "mal_namespace.h"#define MAXPROPLIST 3typedef struct PROPrecord { str nme; str operator; ValRecord val; struct PROPrecord *nxt;} *Property;typedef struct PROPSET { int refcount; int maxlist; Property prop[MAXPROPLIST];} *PropertySet;mal_export PropertySet newPropertySet(void);mal_export void freePropertySet(PropertySet ps);mal_export PropertySet cpyPropertySet(PropertySet old);mal_export Property cpyProperty(PropertySet * target, Property src);mal_export Property fndProperty(PropertySet ps, str nme);mal_export Property fndPropertyIndexed(PropertySet ps, int first, int last, str nme);mal_export Property setProperty(PropertySet ps, str nme, str op, int tpe, ptr val);mal_export ptr getPropertyValue(PropertySet ps, str nme);mal_export int getPropertyType(PropertySet ps, str nme);mal_export str propertySet2str(PropertySet ps);mal_export int isPropertyDefined(PropertySet ps, str nme);#define getProps(M,Y) M->var[Y]->props#define fndArgProperty(M,P,I,NME) fndProperty(getProps(M,getArg(P,I)),NME)#define setArgProperty(M,P,I,NME,OP,T,V) if(getProps(M,getArg(P,I))== 0) \ getProps(M,getArg(P,I))= newPropertySet();\ setProperty(getProps(M,getArg(P,I)),NME,OP,T,V)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -