当前位置: 首页>>代码示例>>C++>>正文


C++ fn_call::arg方法代码示例

本文整理汇总了C++中fn_call::arg方法的典型用法代码示例。如果您正苦于以下问题:C++ fn_call::arg方法的具体用法?C++ fn_call::arg怎么用?C++ fn_call::arg使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在fn_call的用法示例。


在下文中一共展示了fn_call::arg方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

	void	goto_record_method(const fn_call& fn)
	// Moves row pointer to the fn.arg(0).to_number()
	{
		mytable* tbl = cast_to<mytable>(fn.this_ptr);
		if (tbl)
		{
			assert(fn.nargs == 1);
			fn.result->set_bool(tbl->goto_record(fn.arg(0).to_int()));
		}
	}
开发者ID:daisukewi,项目名称:DKGEngine,代码行数:10,代码来源:table.cpp

示例2:

	void	as_date_setfullyear(const fn_call& fn)
	{
		as_date* dt = cast_to<as_date>(fn.this_ptr);
		assert(dt);
		if (fn.nargs > 0)
		{
			dt->set(as_date::FULLYEAR, fn.arg(0).to_int());
			fn.result->set_double(dt->get_time());
		}
	}
开发者ID:85964596,项目名称:cocos2dx-swf,代码行数:10,代码来源:as_date.cpp

示例3:

	void	as_global_trace(const fn_call& fn)
	{
		assert(fn.nargs >= 1);

		// Log our argument.
		//
		// @@ what if we get extra args?

		const char* val = "";
		if (fn.arg(0).is_undefined())
		{
			val = "undefined";
		} 
		else
		{
			val = fn.arg(0).to_string();
		}
		log_msg("%s\n", val);
	}
开发者ID:DreamCastleShanghai,项目名称:dkomClient,代码行数:19,代码来源:as_global.cpp

示例4: gtkext_signal_connect

// this callback takes 4 arguments, we only need two of them
// g_signal_connect (instance, detailed_signal, c_handler, data)
as_value gtkext_signal_connect(const fn_call& fn)
{
//    GNASH_REPORT_FUNCTION;
    boost::intrusive_ptr<GtkExt> ptr = ensureType<GtkExt>(fn.this_ptr);

    if (fn.nargs > 0) {
	GtkExt *window = dynamic_cast<GtkExt *>(fn.arg(0).to_object(*getGlobal(fn)).get());
	string name = fn.arg(1).to_string();
	as_value func = fn.arg(2).to_function();
	//int data = fn.arg(3).to_int();

	dbglogfile << "Adding callback " << func.to_string()
		   << " for event \"" << name << "\"" << endl;
 	callbacks[name] = func;
 	g_signal_connect (G_OBJECT (window->getWindow()), name.c_str(),
			  G_CALLBACK (generic_callback), (void *)name.c_str());
    }
    return as_value();
}
开发者ID:diocles,项目名称:gnash,代码行数:21,代码来源:gtkext.cpp

示例5: gtkext_signal_connect_swapped

// g_signal_connect_swapped(instance, detailed_signal, c_handler, data)
//
// Connects a GCallback function to a signal for a particular object.
//
// The instance on which the signal is emitted and data will be swapped when calling the handler.
// instance : 	the instance to connect to.
// detailed_signal : 	a string of the form "signal-name::detail".
// c_handler : 	the GCallback to connect.
// data : 	data to pass to c_handler calls.
// Returns : 	the handler id
as_value gtkext_signal_connect_swapped(const fn_call& fn)
{
    GNASH_REPORT_FUNCTION;
    boost::intrusive_ptr<GtkExt> ptr = ensureType<GtkExt>(fn.this_ptr);

    if (fn.nargs > 0) {
	GtkExt *parent = dynamic_cast<GtkExt *>(fn.arg(0).to_object(*getGlobal(fn)).get());
	string name = (fn.arg(1).to_string());
	GtkExt *child = dynamic_cast<GtkExt *>(fn.arg(3).to_object(*getGlobal(fn)).get());
// currently unused
//	as_value *callback = dynamic_cast<as_value *>(fn.arg(2).to_object(*getGlobal(fn)));

	// FIXME: This seems to cause an Gobject warning
	g_signal_connect_swapped (G_OBJECT (child->getWindow()), name.c_str(),
				  G_CALLBACK (gtk_widget_destroy),
				  G_OBJECT (parent->getWindow()));
    }
    return as_value();
}
开发者ID:diocles,项目名称:gnash,代码行数:29,代码来源:gtkext.cpp

示例6: sprite_set_fps

	// gameSWF extension
	void sprite_set_fps(const fn_call& fn) 
	{ 
		sprite_instance* sprite = sprite_getptr(fn);

		if (fn.nargs == 1)
		{
			float fps = fn.arg(0).to_float();
			sprite->set_fps(fps);
		}
	} 
开发者ID:ChenliTemple,项目名称:gameswf,代码行数:11,代码来源:gameswf_as_sprite.cpp

示例7:

	void	as_mcloader_unloadclip(const fn_call& fn)
	{
		if (fn.nargs == 1)
		{
			fn.env->load_file("", fn.arg(0));
			fn.result->set_bool(true);
			return;
		}
		fn.result->set_bool(false);
	}
开发者ID:JamesLinus,项目名称:nui3,代码行数:10,代码来源:as_mcloader.cpp

示例8: sprite_create_text_field

	// public createTextField(instanceName:String, depth:Number,
	// x:Number, y:Number, width:Number, height:Number) : TextField
	void sprite_create_text_field(const fn_call& fn) 
	{ 
		sprite_instance* sprite = sprite_getptr(fn);
		fn.result->set_as_object(NULL);
		if (fn.nargs != 6)
		{
			log_error("createTextField: the number of arguments must be 6\n");
			return;
		}

		fn.result->set_as_object(sprite->create_text_field(
			fn.arg(0).to_string(),	// field name
			fn.arg(1).to_int() + ADJUST_DEPTH_VALUE,	// depth
			fn.arg(2).to_int(),	// x
			fn.arg(3).to_int(),	// y
			fn.arg(4).to_int(),	// width
			fn.arg(5).to_int()	// height
		));
	} 
开发者ID:ChenliTemple,项目名称:gameswf,代码行数:21,代码来源:gameswf_as_sprite.cpp

示例9: mydb_trace_setter

	void mydb_trace_setter(const fn_call& fn)
	{
		tu_autolock locker(s_mysql_plugin_mutex);

		mydb* db = cast_to<mydb>(fn.this_ptr);
		if (db && fn.nargs == 1)
		{
			db->m_trace = fn.arg(0).to_bool();
		}
	}
开发者ID:daisukewi,项目名称:DKGEngine,代码行数:10,代码来源:db.cpp

示例10:

	//public unwatch(name:String) : Boolean
	// Removes a watchpoint that Object.watch() created.
	// This method returns a value of true if the watchpoint is successfully removed,
	// false otherwise.
	void	as_object_unwatch(const fn_call& fn)
	{
		bool ret = false;
		if (fn.nargs == 1)
		{
			assert(fn.this_ptr);
			ret = fn.this_ptr->unwatch(fn.arg(0).to_tu_string());
		}
		fn.result->set_bool(ret);
	}
开发者ID:ChenliTemple,项目名称:gameswf,代码行数:14,代码来源:gameswf_object.cpp

示例11:

	void	sound_start(const fn_call& fn)
	{
		sound_handler* s = get_sound_handler();
		if (s != NULL)
		{
			as_sound*	snd = cast_to<as_sound>(fn.this_ptr);
			if (snd)
			{
				int offset = 0;
				int loops = 0;
				if (fn.nargs >= 2)
				{
					offset = fn.arg(0).to_int();
					loops = fn.arg(1).to_int();
				}
				s->play_sound(snd->m_id, loops);
			}
		}
	}
开发者ID:Heartbroken,项目名称:bikini-iii,代码行数:19,代码来源:as_sound.cpp

示例12:

	void	as_array_push(const fn_call& fn)
	{
		as_array* a = cast_to<as_array>(fn.this_ptr);
		assert(a);

		if (fn.nargs > 0)
		{
			a->push(fn.arg(0));
		}
		fn.result->set_int(a->size());
	}
开发者ID:JamesLinus,项目名称:nui3,代码行数:11,代码来源:as_array.cpp

示例13: as_global_string_ctor

	void as_global_string_ctor(const fn_call& fn)
	{
		if (fn.nargs == 1)
		{
			fn.result->set_string(fn.arg(0).to_string());
		}	
		else
		{
			fn.result->set_string("");
		}
	}
开发者ID:Cucurbitace,项目名称:attract,代码行数:11,代码来源:as_string.cpp

示例14: as_value

as_value
camera_setmode(const fn_call& fn)
{
    Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);

    const size_t nargs = fn.nargs;

    const double width = nargs ? fn.arg(0).to_number() : 160;
    const double height = nargs > 1 ? fn.arg(1).to_number() : 120;
    const double fps = nargs >  2? fn.arg(2).to_number() : 15;
    const bool favorArea = nargs > 3 ? fn.arg(3).to_bool() : true;

    // TODO: handle overflow
    const size_t reqWidth = std::max<double>(width, 0);
    const size_t reqHeight = std::max<double>(height, 0);

    ptr->setMode(reqWidth, reqHeight, fps, favorArea);

    return as_value();
}
开发者ID:adamh,项目名称:gnash-fork,代码行数:20,代码来源:Camera_as.cpp

示例15:

	// Number(num:Object)
	void	as_global_number_ctor(const fn_call& fn)
	{
		if (fn.nargs == 1)
		{
			fn.result->set_double(fn.arg(0).to_number());
		}	
		else
		{
			fn.result->set_double(0);
		}
	}
开发者ID:Cucurbitace,项目名称:attract,代码行数:12,代码来源:as_number.cpp


注:本文中的fn_call::arg方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。