JSBool S_SimpleAudioEngine::jsresumeBackgroundMusic(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleAudioEngine* self = NULL; JSGET_PTRSHELL(S_SimpleAudioEngine, self, obj); if (self == NULL) return JS_FALSE; if (argc == 0) { JS_ConvertArguments(cx, 0, JS_ARGV(cx, vp), ""); self->resumeBackgroundMusic(); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleNativeClass::jsreceivesLongLong(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleNativeClass* self = NULL; JSGET_PTRSHELL(S_SimpleNativeClass, self, obj); if (self == NULL) return JS_FALSE; if (argc == 1) { jsval *argv = JS_ARGV(cx, vp); long long arg0 = argv[0].toNumber(); self->receivesLongLong(arg0); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsstopEffect(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleAudioEngine* self = NULL; JSGET_PTRSHELL(S_SimpleAudioEngine, self, obj); if (self == NULL) return JS_FALSE; if (argc == 1) { unsigned int arg0; JS_ConvertArguments(cx, 1, JS_ARGV(cx, vp), "i", &arg0); self->stopEffect(arg0); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsunloadEffect(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleAudioEngine* self = NULL; JSGET_PTRSHELL(S_SimpleAudioEngine, self, obj); if (self == NULL) return JS_FALSE; if (argc == 1) { JSString *arg0; JS_ConvertArguments(cx, 1, JS_ARGV(cx, vp), "S", &arg0); char *narg0 = JS_EncodeString(cx, arg0); self->unloadEffect(narg0); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_CCRenderTexture::jsinitWithWidthAndHeight(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_CCRenderTexture* self = NULL; JSGET_PTRSHELL(S_CCRenderTexture, self, obj); if (self == NULL) return JS_FALSE; if (argc == 2) { int arg0; int arg1; JS_ConvertArguments(cx, 2, JS_ARGV(cx, vp), "ii", &arg0, &arg1); bool ret = self->initWithWidthAndHeight(arg0, arg1, kCCTexture2DPixelFormat_RGBA8888); JS_SET_RVAL(cx, vp, BOOLEAN_TO_JSVAL(ret)); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleNativeClass::jsreturnsACString(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleNativeClass* self = NULL; JSGET_PTRSHELL(S_SimpleNativeClass, self, obj); if (self == NULL) return JS_FALSE; if (argc == 0) { const char* ret = self->returnsACString(); if (ret == NULL) { JS_SET_RVAL(cx, vp, JSVAL_NULL); return JS_TRUE; } do { JSString *tmp = JS_NewStringCopyZ(cx, ret); JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(tmp)); } while (0); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_AnotherClass::jsPropertyGet(JSContext *cx, JSObject *obj, jsid _id, jsval *val) { int32_t propId = JSID_TO_INT(_id); S_AnotherClass *cobj; JSGET_PTRSHELL(S_AnotherClass, cobj, obj); if (!cobj) return JS_FALSE; switch(propId) { case kAPublicField: do { jsval tmp; JS_NewNumberValue(cx, cobj->aPublicField, &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; case kJustOneField: do { jsval tmp; JS_NewNumberValue(cx, cobj->getJustOneField(), &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; default: break; } return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsPropertySet(JSContext *cx, JSObject *obj, jsid _id, JSBool strict, jsval *val) { int32_t propId = JSID_TO_INT(_id); S_SimpleAudioEngine *cobj; JSGET_PTRSHELL(S_SimpleAudioEngine, cobj, obj); if (!cobj) return JS_FALSE; switch(propId) { case kBackgroundMusicVolume: do { double tmp; JS_ValueToNumber(cx, *val, &tmp); cobj->setBackgroundMusicVolume(tmp); } while (0); break; case kEffectsVolume: do { double tmp; JS_ValueToNumber(cx, *val, &tmp); cobj->setEffectsVolume(tmp); } while (0); break; default: break; } return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsplayEffect(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleAudioEngine* self = NULL; JSGET_PTRSHELL(S_SimpleAudioEngine, self, obj); if (self == NULL) return JS_FALSE; if (argc == 2) { JSString *arg0; JSBool arg1; JS_ConvertArguments(cx, 2, JS_ARGV(cx, vp), "Sb", &arg0, &arg1); char *narg0 = JS_EncodeString(cx, arg0); unsigned int ret = self->playEffect(narg0, arg1); do { jsval tmp; JS_NewNumberValue(cx, ret, &tmp); JS_SET_RVAL(cx, vp, tmp); } while (0); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsPropertyGet(JSContext *cx, JSObject *obj, jsid _id, jsval *val) { int32_t propId = JSID_TO_INT(_id); S_SimpleAudioEngine *cobj; JSGET_PTRSHELL(S_SimpleAudioEngine, cobj, obj); if (!cobj) return JS_FALSE; switch(propId) { case kBackgroundMusicVolume: do { jsval tmp; JS_NewNumberValue(cx, cobj->getBackgroundMusicVolume(), &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; case kEffectsVolume: do { jsval tmp; JS_NewNumberValue(cx, cobj->getEffectsVolume(), &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; default: break; } return JS_TRUE; }
JSBool S_SimpleAudioEngine::jsplayBackgroundMusic(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleAudioEngine* self = NULL; JSGET_PTRSHELL(S_SimpleAudioEngine, self, obj); if (self == NULL) return JS_FALSE; if (argc == 2) { JSString *arg0; JSBool arg1; JS_ConvertArguments(cx, 2, JS_ARGV(cx, vp), "Sb", &arg0, &arg1); char *narg0 = JS_EncodeString(cx, arg0); self->playBackgroundMusic(narg0, arg1); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleNativeClass::jsdoSomeProcessing(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_SimpleNativeClass* self = NULL; JSGET_PTRSHELL(S_SimpleNativeClass, self, obj); if (self == NULL) return JS_FALSE; if (argc == 2) { jsval *argv = JS_ARGV(cx, vp); JSString *arg0 = JSVAL_TO_STRING(argv[0]); std::string narg0 = JS_EncodeString(cx, arg0); JSString *arg1 = JSVAL_TO_STRING(argv[1]); std::string narg1 = JS_EncodeString(cx, arg1); int ret = self->doSomeProcessing(narg0, narg1); do { jsval tmp; JS_NewNumberValue(cx, ret, &tmp); JS_SET_RVAL(cx, vp, tmp); } while (0); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_CCUserDefault::jssetStringForKey(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_CCUserDefault* self = NULL; JSGET_PTRSHELL(S_CCUserDefault, self, obj); if (self == NULL) return JS_FALSE; if (argc == 2) { JSString *arg0; JSString *arg1; JS_ConvertArguments(cx, 2, JS_ARGV(cx, vp), "SS", &arg0, &arg1); char *narg0 = JS_EncodeString(cx, arg0); std::string narg1(JS_EncodeString(cx, arg1)); self->setStringForKey(narg0, narg1); JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleNativeClass::jsPropertyGet(JSContext *cx, JSObject *obj, jsid _id, jsval *val) { int32_t propId = JSID_TO_INT(_id); S_SimpleNativeClass *cobj; JSGET_PTRSHELL(S_SimpleNativeClass, cobj, obj); if (!cobj) return JS_FALSE; switch(propId) { case kSomeField: do { jsval tmp; JS_NewNumberValue(cx, cobj->getSomeField(), &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; case kSomeOtherField: do { jsval tmp; JS_NewNumberValue(cx, cobj->getSomeOtherField(), &tmp); JS_SET_RVAL(cx, val, tmp); } while (0); break; case kAnotherMoreComplexField: do { JSString *tmp = JS_NewStringCopyZ(cx, cobj->getAnotherMoreComplexField()); JS_SET_RVAL(cx, val, STRING_TO_JSVAL(tmp)); } while (0); break; default: break; } return JS_TRUE; }
JSBool S_CCMenuItemImage::jsinitWithNormalImage(JSContext *cx, uint32_t argc, jsval *vp) { JSObject* obj = (JSObject *)JS_THIS_OBJECT(cx, vp); S_CCMenuItemImage* self = NULL; JSGET_PTRSHELL(S_CCMenuItemImage, self, obj); if (self == NULL) return JS_FALSE; if (argc >= 2) { JSString *arg0; JSString *arg1; JSString *arg2 = NULL; JS_ConvertArguments(cx, argc, JS_ARGV(cx, vp), "SS/S", &arg0, &arg1, &arg2); char *narg0 = JS_EncodeString(cx, arg0); char *narg1 = JS_EncodeString(cx, arg1); char *narg2 = (arg2) ? JS_EncodeString(cx, arg2) : NULL; bool ret = self->initWithNormalImage(narg0, narg1, narg2, self, menu_selector(S_CCMenuItemImage::menuAction)); JS_SET_RVAL(cx, vp, BOOLEAN_TO_JSVAL(ret)); return JS_TRUE; } JS_SET_RVAL(cx, vp, JSVAL_TRUE); return JS_TRUE; }
JSBool S_SimpleNativeClass::jsPropertySet(JSContext *cx, JSObject *obj, jsid _id, JSBool strict, jsval *val) { int32_t propId = JSID_TO_INT(_id); S_SimpleNativeClass *cobj; JSGET_PTRSHELL(S_SimpleNativeClass, cobj, obj); if (!cobj) return JS_FALSE; switch(propId) { case kSomeField: do { uint32_t tmp; JS_ValueToECMAUint32(cx, *val, &tmp); cobj->setSomeField(tmp); } while (0); break; case kSomeOtherField: do { uint32_t tmp; JS_ValueToECMAUint32(cx, *val, &tmp); cobj->setSomeOtherField(tmp); } while (0); break; case kAnotherMoreComplexField: do { char *tmp = JS_EncodeString(cx, JSVAL_TO_STRING(*val)); if (tmp) { cobj->setAnotherMoreComplexField(tmp); } } while (0); break; default: break; } return JS_TRUE; }