本文整理汇总了C++中js::CallArgs类的典型用法代码示例。如果您正苦于以下问题:C++ CallArgs类的具体用法?C++ CallArgs怎么用?C++ CallArgs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CallArgs类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: js_cocos2dx_physics3d_Physics3dShape_initHeightfield
bool js_cocos2dx_physics3d_Physics3dShape_initHeightfield(JSContext *cx, uint32_t argc, jsval *vp)
{
if (argc == 8 || argc == 9)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
js_proxy_t *proxy = jsb_get_js_proxy(obj);
cocos2d::Physics3DShape* cobj = (cocos2d::Physics3DShape *)(proxy ? proxy->ptr : NULL);
JSB_PRECONDITION2(cobj, cx, false, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : Invalid Native Object");
bool ok = true;
int arg0;
int arg1;
std::vector<float> arg2;
double arg3;
double arg4;
double arg5;
bool arg6;
bool arg7;
bool arg8;
ok &= jsval_to_int32(cx, args.get(0), (int32_t *)&arg0);
ok &= jsval_to_int32(cx, args.get(1), (int32_t *)&arg1);
ok &= jsval_to_std_vector_float(cx, args.get(2), &arg2);
ok &= JS::ToNumber(cx, args.get(3), &arg3) && !isnan(arg3);
ok &= JS::ToNumber(cx, args.get(4), &arg4) && !isnan(arg4);
ok &= JS::ToNumber(cx, args.get(5), &arg5) && !isnan(arg5);
arg6 = JS::ToBoolean(args.get(6));
arg7 = JS::ToBoolean(args.get(7));
if (argc == 9)
arg8 = JS::ToBoolean(args.get(8));
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : Error processing arguments");
bool ret = false;
if (argc == 8)
ret = cobj->initHeightfield(arg0, arg1, &arg2[0], arg3, arg4, arg5, arg6, arg7, false);
else if (argc == 9)
ret = cobj->initHeightfield(arg0, arg1, &arg2[0], arg3, arg4, arg5, arg6, arg7, arg8);
jsval jsret = JSVAL_NULL;
jsret = BOOLEAN_TO_JSVAL(ret);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : wrong number of arguments");
return false;
}
开发者ID:DmitryDronov,项目名称:Test1,代码行数:47,代码来源:jsb_cocos2dx_physics3d_manual.cpp
示例2: idobj
bool
WrapperOwner::DOMQI(JSContext* cx, JS::HandleObject proxy, JS::CallArgs& args)
{
// Someone's calling us, handle nsISupports specially to avoid unnecessary
// CPOW traffic.
HandleValue id = args[0];
if (id.isObject()) {
RootedObject idobj(cx, &id.toObject());
nsCOMPtr<nsIJSID> jsid;
nsresult rv = UnwrapArg<nsIJSID>(idobj, getter_AddRefs(jsid));
if (NS_SUCCEEDED(rv)) {
MOZ_ASSERT(jsid, "bad wrapJS");
const nsID* idptr = jsid->GetID();
if (idptr->Equals(NS_GET_IID(nsISupports))) {
args.rval().set(args.thisv());
return true;
}
// Webidl-implemented DOM objects never have nsIClassInfo.
if (idptr->Equals(NS_GET_IID(nsIClassInfo)))
return Throw(cx, NS_ERROR_NO_INTERFACE);
}
}
// It wasn't nsISupports, call into the other process to do the QI for us
// (since we don't know what other interfaces our object supports). Note
// that we have to use JS_GetPropertyDescriptor here to avoid infinite
// recursion back into CPOWDOMQI via WrapperOwner::get().
// We could stash the actual QI function on our own function object to avoid
// if we're called multiple times, but since we're transient, there's no
// point right now.
JS::Rooted<JSPropertyDescriptor> propDesc(cx);
if (!JS_GetPropertyDescriptor(cx, proxy, "QueryInterface", &propDesc))
return false;
if (!propDesc.value().isObject()) {
MOZ_ASSERT_UNREACHABLE("We didn't get QueryInterface off a node");
return Throw(cx, NS_ERROR_UNEXPECTED);
}
return JS_CallFunctionValue(cx, proxy, propDesc.value(), args, args.rval());
}
开发者ID:vladikoff,项目名称:gecko-dev,代码行数:42,代码来源:WrapperOwner.cpp
示例3: js_cocos2dx_GLNode_constructor
bool js_cocos2dx_GLNode_constructor(JSContext *cx, uint32_t argc, jsval *vp)
{
if (argc == 0) {
cocos2d::GLNode* cobj = new (std::nothrow) cocos2d::GLNode;
js_type_class_t *typeClass = js_get_type_from_native<cocos2d::GLNode>(cobj);
JS::RootedObject jsobj(cx, jsb_ref_create_jsobject(cx, cobj, typeClass, "cocos2d::GLNode"));
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
args.rval().set(OBJECT_TO_JSVAL(jsobj));
bool ok=false;
if (JS_HasProperty(cx, jsobj, "_ctor", &ok) && ok)
ScriptingCore::getInstance()->executeFunctionWithOwner(OBJECT_TO_JSVAL(jsobj), "_ctor", args);
return true;
}
JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0);
return false;
}
开发者ID:FenneX,项目名称:FenneXEmptyProject,代码行数:20,代码来源:js_bindings_opengl.cpp
示例4: ThrowException
static bool
UnwrapNW(JSContext* cx, unsigned argc, Value* vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if (args.length() != 1) {
return ThrowException(NS_ERROR_XPC_NOT_ENOUGH_ARGS, cx);
}
JS::RootedValue v(cx, args[0]);
if (!v.isObject() || !js::IsCrossCompartmentWrapper(&v.toObject()) ||
!WrapperFactory::AllowWaiver(&v.toObject())) {
args.rval().set(v);
return true;
}
bool ok = xpc::WrapperFactory::WaiveXrayAndWrap(cx, &v);
NS_ENSURE_TRUE(ok, false);
args.rval().set(v);
return true;
}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:20,代码来源:XPCWrapper.cpp
示例5: js_cocos2dx_SocketIO_disconnect
bool js_cocos2dx_SocketIO_disconnect(JSContext* cx, uint32_t argc, jsval* vp)
{
CCLOG("JSB SocketIO.disconnect method called");
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
JSObject *obj = JS_THIS_OBJECT(cx, vp);
js_proxy_t *proxy = jsb_get_js_proxy(obj);
SIOClient* cobj = (SIOClient *)(proxy ? proxy->ptr : NULL);
JSB_PRECONDITION2( cobj, cx, false, "Invalid Native Object");
if(argc == 0)
{
cobj->disconnect();
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "JSB SocketIO.disconnect: Wrong number of arguments");
return false;
}
开发者ID:CocosAds,项目名称:CocosAds-Demo-For-Cocos-JS,代码行数:20,代码来源:jsb_socketio.cpp
示例6:
static JSBool
AfxGlobal_glBlendFunc(JSContext *cx, unsigned argc, JS::Value *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if(4 > args.length())
return JS_FALSE;
GLenum sfactor, dfactor;
if(!(
JS::ToUint32(cx, args[0], &sfactor)
&& JS::ToUint32(cx, args[1], &dfactor)
))
return JS_FALSE;
glBlendFunc(sfactor, dfactor);
args.rval().set(JSVAL_VOID);
return JS_TRUE;
}
开发者ID:YaLTeR,项目名称:advancedfx,代码行数:20,代码来源:scripting.cpp
示例7: js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime
bool js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
bool ok = true;
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
js_proxy_t *proxy = jsb_get_js_proxy(obj);
CocosAds* cobj = (CocosAds *)(proxy ? proxy->ptr : NULL);
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : Invalid Native Object");
if (argc == 1) {
int arg0 = 0;
ok &= jsval_to_int32(cx, args.get(0), (int32_t *)&arg0);
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : Error processing arguments");
cobj->setInterstitialDisplayTime(arg0);
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : wrong number of arguments: %d, was expecting %d", argc, 1);
return false;
}
开发者ID:CocosAds,项目名称:CocosAds-Demo-For-Cocos-JS,代码行数:20,代码来源:jsb_cocos2dx_cocosAds.cpp
示例8: js_cocos2dx_physics3d_Physics3DRigidBody_create
bool js_cocos2dx_physics3d_Physics3DRigidBody_create(JSContext *cx, uint32_t argc, jsval *vp)
{
if (argc == 1)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
bool ok = true;
cocos2d::Physics3DRigidBodyDes arg0;
ok &= jsval_to_physics3DRigidBodyDes(cx, args.get(0), &arg0);
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_physics3d_Physics3DRigidBody_create : Error processing arguments");
cocos2d::Physics3DRigidBody* ret = cocos2d::Physics3DRigidBody::create(&arg0);
JS::RootedObject jsobj(cx, js_get_or_create_jsobject<cocos2d::Physics3DRigidBody>(cx, ret));
jsval jsret = OBJECT_TO_JSVAL(jsobj);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_physics3d_Physics3DRigidBody_create : wrong number of arguments");
return false;
}
开发者ID:DmitryDronov,项目名称:Test1,代码行数:20,代码来源:jsb_cocos2dx_physics3d_manual.cpp
示例9: js_cocos2dx_Effect3DOutline_create
bool js_cocos2dx_Effect3DOutline_create(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if (argc == 0) {
Effect3DOutline* ret = Effect3DOutline::create();
jsval jsret = JSVAL_NULL;
do {
if (ret) {
js_proxy_t *jsProxy = js_get_or_create_proxy<Effect3DOutline>(cx, (Effect3DOutline*)ret);
jsret = OBJECT_TO_JSVAL(jsProxy->obj);
} else {
jsret = JSVAL_NULL;
}
} while (0);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_Effect3DOutline_create : wrong number of arguments");
return false;
}
开发者ID:compmix,项目名称:cocos2d-x-3.10,代码行数:20,代码来源:js_Effect3D_bindings.cpp
示例10: js_cocos2dx_audioengine_AudioEngine_getDefaultProfile
bool js_cocos2dx_audioengine_AudioEngine_getDefaultProfile(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if (argc == 0) {
cocos2d::experimental::AudioProfile* ret = cocos2d::experimental::AudioEngine::getDefaultProfile();
jsval jsret = JSVAL_NULL;
do {
if (ret) {
js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::experimental::AudioProfile>(cx, (cocos2d::experimental::AudioProfile*)ret);
jsret = OBJECT_TO_JSVAL(jsProxy->obj);
} else {
jsret = JSVAL_NULL;
}
} while (0);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_audioengine_AudioEngine_getDefaultProfile : wrong number of arguments");
return false;
}
开发者ID:backjy,项目名称:kongkongxiyou,代码行数:20,代码来源:jsb_cocos2dx_audioengine_auto.cpp
示例11: jsb_util_setIniInt
bool jsb_util_setIniInt(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
//JS::RootedString appArgs(cx);
if (argc == 4) {
std::string arg0, arg1, arg2;
int arg3;
bool ok = jsval_to_std_string(cx, args.get(0), &arg0);
ok &= jsval_to_std_string(cx, args.get(1), &arg1);
ok &= jsval_to_std_string(cx, args.get(2), &arg2);
ok &= jsval_to_int32(cx, args.get(3), (int32_t *)&arg3);
JSB_PRECONDITION2(ok, cx, false, "jsb_util_setIniInt : Error processing arguments");
args.rval().setBoolean(Utils::SetIniInt(arg0.c_str(), arg1.c_str(), arg2.c_str(), arg3));
return true;
}
JS_ReportError(cx, "jsb_util_setIniInt : wrong number of arguments");
return false;
}
开发者ID:wangxingfred,项目名称:SheetX,代码行数:20,代码来源:jsb_util.cpp
示例12: RenderTarget_setScissor
bool RenderTarget_setScissor(JSContext *cx, unsigned argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp( argc, vp ); Value value=args.computeThis( cx );
RenderTarget *target=(RenderTarget *) JS_GetPrivate( &value.toObject() );
if ( argc == 1 && args[0].isObject() )
{
RootedObject object(cx, &args[0].toObject() );
RootedValue x(cx), y(cx), width(cx), height(cx);
JS_GetProperty( cx, HandleObject(object), "x", MutableHandleValue(&x) );
JS_GetProperty( cx, HandleObject(object), "y", MutableHandleValue(&y) );
JS_GetProperty( cx, HandleObject(object), "width", MutableHandleValue(&width) );
JS_GetProperty( cx, HandleObject(object), "height", MutableHandleValue(&height) );
target->setScissor( x.toInt32(), y.toInt32(), width.toInt32(), height.toInt32() );
} else target->setScissor( 0, 0, 0, 0 );
return true;
}
开发者ID:excelerent,项目名称:visualgraphics,代码行数:20,代码来源:rendertarget.cpp
示例13: jsb_util_exec
bool jsb_util_exec(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
//JS::RootedString appArgs(cx);
if (argc == 3) {
std::string arg0, arg1, arg2;
bool ok = jsval_to_std_string(cx, args.get(0), &arg0);
ok &= jsval_to_std_string(cx, args.get(1), &arg1);
ok &= jsval_to_std_string(cx, args.get(2), &arg2);
JSB_PRECONDITION2(ok, cx, false, "jsb_util_exec : Error processing arguments");
Utils::Exec(arg0.c_str(), arg1.c_str(), arg2.c_str());
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "jsb_util_exec : wrong number of arguments");
return false;
}
开发者ID:wangxingfred,项目名称:SheetX,代码行数:20,代码来源:jsb_util.cpp
示例14: jsb_spine_TrackEntry_get_mixingFrom
bool jsb_spine_TrackEntry_get_mixingFrom(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
JS::RootedObject jsthis(cx, args.thisv().toObjectOrNull());
js_proxy_t *proxy = jsb_get_js_proxy(jsthis);
spTrackEntry* cobj = (spTrackEntry *)(proxy ? proxy->ptr : NULL);
if (cobj) {
JS::RootedValue jsret(cx, JS::NullValue());
if (cobj->mixingFrom)
{
jsret = sptrackentry_to_jsval(cx, *cobj->mixingFrom);
}
args.rval().set(jsret);
return true;
}
else {
CCLOGERROR("jsb_spine_TrackEntry_get_previous : Invalid Native Object");
return false;
}
}
开发者ID:FenneX,项目名称:FenneXEmptyProject,代码行数:20,代码来源:jsb_cocos2dx_spine_manual.cpp
示例15: js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled
bool js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
bool ok = true;
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
js_proxy_t *proxy = jsb_get_js_proxy(obj);
cocos2d::experimental::ui::VideoPlayer* cobj = (cocos2d::experimental::ui::VideoPlayer *)(proxy ? proxy->ptr : NULL);
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : Invalid Native Object");
if (argc == 1) {
bool arg0;
arg0 = JS::ToBoolean(args.get(0));
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : Error processing arguments");
cobj->setKeepAspectRatioEnabled(arg0);
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : wrong number of arguments: %d, was expecting %d", argc, 1);
return false;
}
开发者ID:ricardperez,项目名称:Rotallector,代码行数:20,代码来源:jsb_cocos2dx_experimental_video_auto.cpp
示例16: js_cocos2dx_nativehelper_NativeHelper_singleton
bool js_cocos2dx_nativehelper_NativeHelper_singleton(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if (argc == 0) {
cocos2d::NativeHelper* ret = cocos2d::NativeHelper::singleton();
jsval jsret = JSVAL_NULL;
do {
if (ret) {
js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::NativeHelper>(cx, (cocos2d::NativeHelper*)ret);
jsret = OBJECT_TO_JSVAL(jsProxy->obj);
} else {
jsret = JSVAL_NULL;
}
} while (0);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_nativehelper_NativeHelper_singleton : wrong number of arguments");
return false;
}
开发者ID:xungong91,项目名称:ZjhMobile,代码行数:20,代码来源:jsb_cocos2dx_nativehelper.cpp
示例17: js_cocos2dx_extension_ImagePicker_getInstance
bool js_cocos2dx_extension_ImagePicker_getInstance(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
if (argc == 0) {
cocos2d::ImagePicker* ret = cocos2d::ImagePicker::getInstance();
jsval jsret = JSVAL_NULL;
do {
if (ret) {
js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::ImagePicker>(cx, (cocos2d::ImagePicker*)ret);
jsret = OBJECT_TO_JSVAL(jsProxy->obj);
} else {
jsret = JSVAL_NULL;
}
} while (0);
args.rval().set(jsret);
return true;
}
JS_ReportError(cx, "js_cocos2dx_extension_ImagePicker_getInstance : wrong number of arguments");
return false;
}
开发者ID:NikhilShetye,项目名称:ImagePicker,代码行数:20,代码来源:jsb_cocos2dx_extension_ImagePicker.cpp
示例18:
static JSBool
copyPath_func(JSContext *context,
unsigned argc,
jsval *vp)
{
JS::CallArgs argv = JS::CallArgsFromVp (argc, vp);
JSObject *obj = JSVAL_TO_OBJECT(argv.thisv());
cairo_path_t *path;
cairo_t *cr;
if (!gjs_parse_call_args(context, "", "", argv))
return JS_FALSE;
cr = gjs_cairo_context_get_context(context, obj);
path = cairo_copy_path(cr);
argv.rval().set(
OBJECT_TO_JSVAL(gjs_cairo_path_from_path(context, path)));
return JS_TRUE;
}
开发者ID:dreamsxin,项目名称:gjs,代码行数:20,代码来源:cairo-context.cpp
示例19: js_load_remote_image
// jsb.loadRemoteImg(url, function(succeed, result) {})
bool js_load_remote_image(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
JSObject *obj = JS_THIS_OBJECT(cx, vp);
if (argc == 2) {
std::string url;
bool ok = jsval_to_std_string(cx, args.get(0), &url);
jsval callback = args.get(1);
__JSDownloaderDelegator::download(cx, obj, url, callback);
JSB_PRECONDITION2(ok, cx, false, "js_console_log : Error processing arguments");
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "js_load_remote_image : wrong number of arguments");
return false;
}
开发者ID:chapher,项目名称:GAFCocos2d-js_Example,代码行数:21,代码来源:jsb_cocos2dx_extension_manual.cpp
示例20: js_cocos2dx_cocosAds_CocosAds_init
bool js_cocos2dx_cocosAds_CocosAds_init(JSContext *cx, uint32_t argc, jsval *vp)
{
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
bool ok = true;
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
js_proxy_t *proxy = jsb_get_js_proxy(obj);
CocosAds* cobj = (CocosAds *)(proxy ? proxy->ptr : NULL);
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_cocosAds_CocosAds_init : Invalid Native Object");
if (argc == 1) {
const char* arg0 = nullptr;
std::string arg0_tmp; ok &= jsval_to_std_string(cx, args.get(0), &arg0_tmp); arg0 = arg0_tmp.c_str();
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_cocosAds_CocosAds_init : Error processing arguments");
cobj->init(arg0);
args.rval().setUndefined();
return true;
}
JS_ReportError(cx, "js_cocos2dx_cocosAds_CocosAds_init : wrong number of arguments: %d, was expecting %d", argc, 1);
return false;
}
开发者ID:CocosAds,项目名称:CocosAds-Demo-For-Cocos-JS,代码行数:20,代码来源:jsb_cocos2dx_cocosAds.cpp
注:本文中的js::CallArgs类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论