R3ClassCreate
R3CLASS *R3ClassCreateA(R3UWORD super, R3UWORD id, R3OBJPROC op, int size, R3TAG *tags)
super - class id of the super class (base class)
Class pointer
Registers new object class. The dispatcher function 'R3OBJPROC' must be of form:
R3SetAttrs(sphere, R3SPHA_Radius, &radius, R3TAG_END);
The class dispatcher function of the sphere class receives the following
cl = pointer to sphere's class structure
typedef struct myinstancedata { int foo; }MYIDATA; void mydispatcher(R3CLASS *cl, R3OBJ *obj, int mth, void *p1, void *p2, void *msg) { switch(mth) { case MYM_FOO: ... break; case ...: default: return R3InheritA(cl, obj, mth, p1, p2, msg); } } int RegisterMyClass(R3APP *app) { if(R3RegisterClass(R3CLID_ROOT, R3CLID_MYID, mydispatcher, sizeof(MYIDATA), R3TAG_END)) return TRUE; return FALSE; }