JSBool js_fygui_FYPropCell_dropToLayer(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 2) { FYPropCell* arg0; CCNode* arg1; do { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[0]); JS_GET_NATIVE_PROXY(proxy, tmpObj); arg0 = (FYPropCell*)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( arg0, cx, JS_FALSE, "Invalid Native Object"); } while (0); #pragma warning NO CONVERSION TO NATIVE FOR CCNode*; JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cobj->dropToLayer(arg0, arg1); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 2); return JS_FALSE; }
JSBool js_fygui_FYPropCell_setDoubleTouchsDelegate(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 1) { FYDoubleTouchsDelegate* arg0; do { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[0]); JS_GET_NATIVE_PROXY(proxy, tmpObj); arg0 = (FYDoubleTouchsDelegate*)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( arg0, cx, JS_FALSE, "Invalid Native Object"); } while (0); JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cobj->setDoubleTouchsDelegate(arg0); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return JS_FALSE; }
JSBool js_cocos2dx_CCControl_addTargetWithActionForControlEvents(JSContext *cx, uint32_t argc, jsval *vp) { return JS_TRUE; if(argc == 3) { jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cocos2d::extension::CCControl* item = (cocos2d::extension::CCControl*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, item) JSObject* jsTargetObj = JSVAL_TO_OBJECT(argv[0]); JSObject* jsFuncObj = JSVAL_TO_OBJECT(argv[1]); int event = JSVAL_TO_INT(argv[2]); js_callback_proxy_t* found = NULL; if (is_target_function_exist(jsTargetObj, jsFuncObj, (void*)item, (void*)event, &found)) { item->removeTargetWithActionForControlEvents(found->nativeTargetObj, cccontrol_selector(JSCallbackTarget::onControlEventReceived), event); JS_CALLBACK_REMOVE_PROXY(found); CCLOG("In add Target: target exists, remove it!"); } JSCallbackTarget* pTarget = new JSCallbackTarget(); item->addTargetWithActionForControlEvents(pTarget, cccontrol_selector(JSCallbackTarget::onControlEventReceived), event); js_callback_proxy_t* p; JS_CALLBACK_NEW_PROXY(p, pTarget, jsTargetObj, jsFuncObj, item, event); JS_AddNamedObjectRoot(cx, &jsTargetObj, "cccontrol target object"); JS_AddNamedObjectRoot(cx, &jsFuncObj, "cccontrol jsFuncObj object"); pTarget->setJSProxy(p); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 3); return JS_FALSE; }
JSBool js_cocos2dx_CCBAnimationManager_animationCompleteCallback(JSContext *cx, uint32_t argc, jsval *vp) { if (argc >= 1) { jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cocos2d::extension::CCBAnimationManager *node = (cocos2d::extension::CCBAnimationManager *)(proxy ? proxy->ptr : NULL); JSCCBAnimationWrapper *tmpCobj = new JSCCBAnimationWrapper(); tmpCobj->autorelease(); tmpCobj->setJSCallbackThis(argv[0]); if(argc >= 2) { tmpCobj->setJSCallbackFunc(argv[1]); } node->setAnimationCompletedCallback(tmpCobj, callfunc_selector(JSCCBAnimationWrapper::animationCompleteCallback)); JS_SetReservedSlot(proxy->obj, 0, argv[0]); JS_SetReservedSlot(proxy->obj, 1, argv[1]); return JS_TRUE; } return JS_FALSE; }
JSBool js_cocos2dx_extension_HttpRequest_send(JSContext *cx, uint32_t argc, jsval *vp){ jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); HttpRequest* cobj = (HttpRequest *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if(argc == 1){ std::string* data = new std::string(); do { JSBool ok = jsval_to_std_string(cx, argv[0], data); JSB_PRECONDITION2( ok, cx, JS_FALSE, "Error processing arguments"); } while (0); cobj->send(data->c_str()); JS_SET_RVAL(cx, vp, JSVAL_VOID); CC_SAFE_DELETE(data); return JS_TRUE; } if(argc == 0){ cobj->send(); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return JS_FALSE; }
JSBool js_cocos2dx_CCControl_removeTargetWithActionForControlEvents(JSContext *cx, uint32_t argc, jsval *vp) { return JS_TRUE; if(argc == 3) { jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cocos2d::extension::CCControl* item = (cocos2d::extension::CCControl*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, item) JSObject* jsTargetObj = JSVAL_TO_OBJECT(argv[0]); JSObject* jsFuncObj = JSVAL_TO_OBJECT(argv[1]); int event = JSVAL_TO_INT(argv[2]); js_callback_proxy_t* found = NULL; if (is_target_function_exist(jsTargetObj, jsFuncObj, (void*)item, (void*)event, &found)) { item->removeTargetWithActionForControlEvents(found->nativeTargetObj, cccontrol_selector(JSCallbackTarget::onControlEventReceived), event); JS_CALLBACK_REMOVE_PROXY(found); CCLOG("In remove Target: target exists, remove it!"); return JS_TRUE; } else { JS_ReportError(cx, "In cc.Control.RemoveTargetWithActionForControlEvents, target and callback function aren't matched !"); return JS_FALSE; } } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 3); return JS_FALSE; }
JSBool js_cocos2dx_CCMenu_create(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); if (argc > 0) { cocos2d::CCArray* array = cocos2d::CCArray::create(); int i = 0; while (i < argc) { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[i]); JS_GET_NATIVE_PROXY(proxy, tmpObj); cocos2d::CCObject *item = (cocos2d::CCObject*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, item) array->addObject(item); i++; } cocos2d::CCMenu* ret = cocos2d::CCMenu::createWithArray(array); jsval jsret; do { if (ret) { js_proxy_t *p; JS_GET_PROXY(p, ret); if (p) { jsret = OBJECT_TO_JSVAL(p->obj); } else { // create a new js obj of that class js_proxy_t *proxy = js_get_or_create_proxy<cocos2d::CCMenu>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } if (argc == 0) { cocos2d::CCMenu* ret = cocos2d::CCMenu::create(); jsval jsret; do { if (ret) { js_proxy_t *p; JS_GET_PROXY(p, ret); if (p) { jsret = OBJECT_TO_JSVAL(p->obj); } else { // create a new js obj of that class js_proxy_t *proxy = js_get_or_create_proxy<cocos2d::CCMenu>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } return JS_FALSE; }
static void removeJSTouchObject(JSContext *cx, CCTouch *x, jsval &jsret) { js_proxy_t* nproxy; js_proxy_t* jsproxy; void *ptr = (void*)x; JS_GET_PROXY(nproxy, ptr); if (nproxy) { JS_GET_NATIVE_PROXY(jsproxy, nproxy->obj); JS_RemoveObjectRoot(cx, &jsproxy->obj); JS_REMOVE_PROXY(nproxy, jsproxy); } }
JSBool js_cocos2dx_release(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *thisObj = JS_THIS_OBJECT(cx, vp); if (thisObj) { js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, thisObj); if (proxy) { ((CCObject *)proxy->ptr)->release(); return JS_TRUE; } } return JS_FALSE; }
JSBool js_cocos2dx_setCallback(JSContext *cx, uint32_t argc, jsval *vp) { if(argc == 2) { jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cocos2d::CCMenuItem* item = (cocos2d::CCMenuItem*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, item) bind_menu_item(cx, item, argv[1], argv[0]); return JS_TRUE; } return JS_FALSE; }
JSBool js_fygui_FYPropCell_onExit(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 0) { cobj->onExit(); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return JS_FALSE; }
JSBool js_cocos2dx_CCMenuItemSprite_create(JSContext *cx, uint32_t argc, jsval *vp) { if (argc >= 2) { jsval *argv = JS_ARGV(cx, vp); js_proxy_t *proxy; JSObject *tmpObj; tmpObj = JSVAL_TO_OBJECT(argv[0]); JS_GET_NATIVE_PROXY(proxy, tmpObj); cocos2d::CCNode* arg0 = (cocos2d::CCNode*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg0); tmpObj = JSVAL_TO_OBJECT(argv[1]); JS_GET_NATIVE_PROXY(proxy, tmpObj); cocos2d::CCNode* arg1 = (cocos2d::CCNode*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg1); int last = 2; cocos2d::CCNode* arg2 = NULL; if (argc == 5 || argc == 3) { tmpObj = JSVAL_TO_OBJECT(argv[2]); JS_GET_NATIVE_PROXY(proxy, tmpObj); arg2 = (cocos2d::CCNode*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg2); last = 3; } cocos2d::CCMenuItemSprite* ret = cocos2d::CCMenuItemSprite::create(arg0, arg1, arg2); jsval thisObj = argv[last++]; jsval callback = argv[last]; JSObject *obj = bind_menu_item<cocos2d::CCMenuItemSprite>(cx, ret, callback, thisObj); JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj)); return JS_TRUE; } return JS_FALSE; }
JSBool js_cocos2dx_CCMenuItemLabel_create(JSContext *cx, uint32_t argc, jsval *vp) { if (argc >= 1) { jsval *argv = JS_ARGV(cx, vp); js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[0]); JS_GET_NATIVE_PROXY(proxy, tmpObj); cocos2d::CCNode* arg0 = (cocos2d::CCNode*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg0) cocos2d::CCMenuItemLabel* ret = cocos2d::CCMenuItemLabel::create(arg0); JSObject *obj = bind_menu_item<cocos2d::CCMenuItemLabel>(cx, ret, (argc == 3 ? argv[2] : JSVAL_VOID), (argc >= 2 ? argv[1] : JSVAL_VOID)); JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj)); return JS_TRUE; } return JS_FALSE; }
JSBool js_fygui_FYPropCell_getDoubleTouchsTimeElapse(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 0) { int ret = cobj->getDoubleTouchsTimeElapse(); jsval jsret; jsret = int32_to_jsval(cx, ret); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return JS_FALSE; }
JSBool js_fygui_FYPropCell_getCellVisibleRect(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 0) { cocos2d::CCRect ret = cobj->getCellVisibleRect(); jsval jsret; #pragma warning NO CONVERSION FROM NATIVE FOR const CCRect; JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return JS_FALSE; }
JSBool js_cocos2dx_CCMenuItemToggle_create(JSContext *cx, uint32_t argc, jsval *vp) { if (argc >= 1) { jsval *argv = JS_ARGV(cx, vp); cocos2d::CCMenuItemToggle* ret = cocos2d::CCMenuItemToggle::create(); JSObject *obj = bind_menu_item(cx, ret, (argc == 2 ? argv[1] : JSVAL_VOID), argv[0]); for (int i=1; i < argc; i++) { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[i]); JS_GET_NATIVE_PROXY(proxy, tmpObj); cocos2d::CCMenuItem* item = (cocos2d::CCMenuItem*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, item) ret->addSubItem(item); } JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj)); return JS_TRUE; } return JS_FALSE; }
JSBool js_fygui_FYPropCell_setHighlighted(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 1) { JSBool arg0; ok &= JS_ValueToBoolean(cx, argv[0], &arg0); JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cobj->setHighlighted(arg0); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return JS_FALSE; }
JSBool js_fygui_FYPropCell_setTouchDelegate(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 1) { CCTouchDelegate* arg0; #pragma warning NO CONVERSION TO NATIVE FOR CCTouchDelegate*; JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cobj->setTouchDelegate(arg0); JS_SET_RVAL(cx, vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return JS_FALSE; }
JSBool js_cocos2dx_CCNode_copy(JSContext *cx, uint32_t argc, jsval *vp) { if (argc == 0) { JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cocos2d::CCNode *node = (cocos2d::CCNode *)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, node) JSClass *jsclass = JS_GetClass(obj); JSObject *proto = JS_GetPrototype(obj); JSObject *parent = JS_GetParent(obj); JSObject *jsret = JS_NewObject(cx, jsclass, proto, parent); cocos2d::CCObject *ret = node->copy(); if (ret && jsret) { JS_NEW_PROXY(proxy, ret, jsret); JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(jsret)); return JS_TRUE; } } return JS_FALSE; }
JSBool js_cocos2dx_swap_native_object(JSContext *cx, uint32_t argc, jsval *vp) { if (argc == 2) { // get the native object from the second object to the first object jsval *argv = JS_ARGV(cx, vp); JSObject *one = JSVAL_TO_OBJECT(argv[0]); JSObject *two = JSVAL_TO_OBJECT(argv[1]); js_proxy_t *nproxy; JS_GET_NATIVE_PROXY(nproxy, two); void *ptrTwo = (nproxy ? nproxy->ptr : NULL); if (nproxy) { js_proxy_t *jsproxy; JS_GET_PROXY(jsproxy, ptrTwo); if (jsproxy) { JS_REMOVE_PROXY(jsproxy, nproxy); JS_NEW_PROXY(nproxy, ptrTwo, one); } } } return JS_TRUE; }
JSBool js_cocos2dx_CCNode_getChildren(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *thisObj = JS_THIS_OBJECT(cx, vp); if (thisObj) { js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, thisObj); if (proxy) { cocos2d::CCNode *node = (cocos2d::CCNode *)(proxy->ptr ? proxy->ptr : NULL); cocos2d::CCArray *children = node->getChildren(); JSObject *jsarr = JS_NewArrayObject(cx, children->count(), NULL); for (int i=0; i < children->count(); i++) { cocos2d::CCNode *child = (cocos2d::CCNode*)children->objectAtIndex(i); js_proxy_t *childProxy = js_get_or_create_proxy<cocos2d::CCNode>(cx, child); jsval childVal = OBJECT_TO_JSVAL(childProxy->obj); JS_SetElement(cx, jsarr, i, &childVal); } JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(jsarr)); } return JS_TRUE; } return JS_FALSE; }
JSBool js_cocos2dx_extension_HttpRequest_open(JSContext *cx, uint32_t argc, jsval *vp){ jsval *argv = JS_ARGV(cx, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); HttpRequest* cobj = (HttpRequest *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if(argc == 2){ std::string* method = new std::string(); do { JSBool ok = jsval_to_std_string(cx, argv[0], method); JSB_PRECONDITION2( ok, cx, JS_FALSE, "Error processing arguments"); } while (0); std::string* url = new std::string(); do { JSBool ok = jsval_to_std_string(cx, argv[1], url); JSB_PRECONDITION2( ok, cx, JS_FALSE, "Error processing arguments"); } while (0); if(*method == "POST"){ cobj->open(CCHttpRequest::kHttpPost, url->c_str()); }else{ cobj->open(CCHttpRequest::kHttpGet, url->c_str()); } JS_SET_RVAL(cx, vp, JSVAL_VOID); CC_SAFE_DELETE(url); CC_SAFE_DELETE(method); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return JS_FALSE; }
JSBool js_fygui_FYPropCell_fyDragDropBegan(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 2) { CCTouch* arg0; CCNode* arg1; #pragma warning NO CONVERSION TO NATIVE FOR CCTouch*; #pragma warning NO CONVERSION TO NATIVE FOR CCNode*; JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); bool ret = cobj->fyDragDropBegan(arg0, arg1); jsval jsret; jsret = BOOLEAN_TO_JSVAL(ret); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 2); return JS_FALSE; }
JSBool js_fygui_FYPropCell_getOneTouchedDelegate(JSContext *cx, uint32_t argc, jsval *vp) { JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); FYPropCell* cobj = (FYPropCell *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (argc == 0) { FYOneTouchedDelegate* ret = cobj->getOneTouchedDelegate(); jsval jsret; do { if (ret) { js_proxy_t *proxy = js_get_or_create_proxy<FYOneTouchedDelegate>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return JS_FALSE; }
JSBool js_cocos2dx_CCBReader_createSceneWithNodeGraphFromFile(JSContext *cx, uint32_t argc, jsval *vp) { jsval *argv = JS_ARGV(cx, vp); JSBool ok = JS_TRUE; JSObject *obj; cocos2d::extension::CCBReader* cobj; obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy; JS_GET_NATIVE_PROXY(proxy, obj); cobj = (cocos2d::extension::CCBReader *)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, cobj) if (argc == 2) { const char* arg0; std::string arg0_tmp; ok &= jsval_to_std_string(cx, argv[0], &arg0_tmp); arg0 = arg0_tmp.c_str(); cocos2d::CCObject* arg1; do { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[1]); JS_GET_NATIVE_PROXY(proxy, tmpObj); arg1 = (cocos2d::CCObject*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg1) } while (0); JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cocos2d::CCScene* ret = cobj->createSceneWithNodeGraphFromFile(arg0, arg1); jsval jsret; do { if (ret) { js_proxy_t *proxy = js_get_or_create_proxy<cocos2d::CCScene>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } if (argc == 1) { const char* arg0; std::string arg0_tmp; ok &= jsval_to_std_string(cx, argv[0], &arg0_tmp); arg0 = arg0_tmp.c_str(); JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cocos2d::CCScene* ret = cobj->createSceneWithNodeGraphFromFile(arg0); jsval jsret; do { if (ret) { js_proxy_t *proxy = js_get_or_create_proxy<cocos2d::CCScene>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } if (argc == 3) { const char* arg0; std::string arg0_tmp; ok &= jsval_to_std_string(cx, argv[0], &arg0_tmp); arg0 = arg0_tmp.c_str(); cocos2d::CCObject* arg1; do { js_proxy_t *proxy; JSObject *tmpObj = JSVAL_TO_OBJECT(argv[1]); JS_GET_NATIVE_PROXY(proxy, tmpObj); arg1 = (cocos2d::CCObject*)(proxy ? proxy->ptr : NULL); TEST_NATIVE_OBJECT(cx, arg1) } while (0); cocos2d::CCSize arg2; ok &= jsval_to_ccsize(cx, argv[2], &arg2); JSB_PRECONDITION2(ok, cx, JS_FALSE, "Error processing arguments"); cocos2d::CCScene* ret = cobj->createSceneWithNodeGraphFromFile(arg0, arg1, arg2); jsval jsret; do { if (ret) { js_proxy_t *proxy = js_get_or_create_proxy<cocos2d::CCScene>(cx, ret); jsret = OBJECT_TO_JSVAL(proxy->obj); } else { jsret = JSVAL_NULL; } } while (0); JS_SET_RVAL(cx, vp, jsret); return JS_TRUE; } return JS_FALSE; }