fxModuleAccess( ACCESS_PROCESS, P_POST_MOTION|P_POST_POINT_DISPLACE, FX_NO );
// Register first module, requesting only P_POST_MOTION AN messages fxModuleAccess( ACCESS_PROCESS, P_POST_MOTION, FX_NO ); fxModuleRegister(...); //... // Register second module, requesting both P_POST_MOTION and O_CREATE AN messages fxModuleAccess( ACCESS_PROCESS, P_POST_MOTION, FX_NO ); fxModuleAccess( ACCESS_OBJECT, O_CREATE, FX_NO ); fxModuleRegister(...);
FX_ACCESSFUNC(MyAccessFunc); //... FX_ACCESSFUNC(MyAccessFunc) { //... return ENTRY_OK; }
fxModuleRegister( FX_MODTYPE_EFFECT, "MyEffectModule", &MyAccessFunc, FX_NOFLAG );
// user defined access_func() FX_ACCESSFUNC(MyAccessFunc) // FXint f(FX_AccessInfo *ai, FXentity ID, FXint level, FXint64 entry) { switch( level ) { // All O_* Access Notifications case ACCESS_OBJECT: switch( entry ) { case O_CREATE: // respond to O_CREATE break; case O_DESTROY: // respond to O_DESTROY break; } break; // All P_* Access Notifications case ACCESS_PROCESS: switch( entry ) { //... } break; //... } return ENTRY_OK; }
// user defined entry_func() FX_ENTRYFUNC(MyObjectAccess) // FXint f(FX_AccessInfo *ai, FXentity ID, FXint64 entry) { switch( entry ) { case O_CREATE: //... break; case O_DESTROY: //... break; //... } return ENTRY_OK; } // another user defined entry_func() FX_ENTRYFUNC(MyProcessAccess) { //... } // user defined access_func() FX_ACCESSFUNC(MyAccessFunc) // FXint f(FX_AccessInfo *ai, FXentity ID, FXint level, FXint64 entry) { switch( level ) { case ACCESS_OBJECT: return MyObjectAccess( ai, ID, entry ); case ACCESS_PROCESS: return MyProcessAccess( ai, ID, entry ); //... } return ENTRY_OK; }
© 2003 pmG WorldWide,
LLC.
|
Last
Updated on Thu Jul 10 04:49:36 2003
|