예제 #1
0
	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();
	}
예제 #2
0
 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;
 }
예제 #3
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;
 }
예제 #4
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;
 }