static void triggerError(OS * os, const OS_CHAR * msg) { os->getGlobal(OS_TEXT("SqliteException")); os->pushGlobals(); os->pushString(msg); os->call(1, 1); os->setException(); }
static int __glutJoystickFunc(OS * os, int params, int, int, void*) { OS_ASSERT(instance); if(instance && params >= 1) { if(os->isNull(-params + 0)) { return 0; } if(!os->isFunction(-params + 0)) { os->setException(OS_TEXT("glutJoystickFunc requires function argument")); return 0; } instance->saveFunc(instance->glutJoystickFunc, os->getValueId(-params)); ::glutJoystickFunc(wrapper_glutJoystickFunc, os->toInt(-params + 1)); } return 0; }
static int __glutTimerFunc(OS * os, int params, int, int, void*) { OS_ASSERT(instance); if(instance && params >= 2) { if(os->isNull(-params + 1)) { return 0; } if(!os->isFunction(-params + 1)) { os->setException(OS_TEXT("glutTimerFunc requires function argument")); return 0; } int id = instance->registerTimer(os->getValueId(-params + 1)); int ms = os->toInt(-params + 0); if(ms < 1) ms = 1; ::glutTimerFunc((unsigned int)ms, wrapper_glutTimerFunc, id); } return 0; }
static int __construct(OS * os, int params, int, int, void*) { triggerError(os, OS_TEXT("you should not create new instance of OpenglCache")); return 0; }