亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gameswf_impl.h

?? 一個(gè)開源的嵌入式flash播放器的源代碼
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// gameswf_impl.h	-- Thatcher Ulrich <tu@tulrich.com> 2003// This source code has been donated to the Public Domain.  Do// whatever you want with it.// Some implementation code for the gameswf SWF player library.#ifndef GAMESWF_IMPL_H#define GAMESWF_IMPL_H#include "gameswf.h"#include "gameswf_action.h"#include "gameswf_types.h"#include "gameswf_log.h"#include <assert.h>#include "base/container.h"#include "base/utility.h"#include "base/smart_ptr.h"#include <stdarg.h>namespace jpeg { struct input; }namespace gameswf{	struct action_buffer;	struct bitmap_character_def;        struct bitmap_info;	struct character;	struct character_def;	struct display_info;	struct execute_tag;	struct font;	struct movie_root;	struct sound_sample : public resource //virtual public ref_counted	{		virtual sound_sample*	cast_to_sound_sample() { return this; }	};	struct stream;	struct swf_event;	void save_extern_movie(movie_interface* m);	// Extra internal interfaces added to movie_definition	struct movie_definition_sub : public movie_definition	{		virtual const array<execute_tag*>&	get_playlist(int frame_number) = 0;		virtual const array<execute_tag*>*	get_init_actions(int frame_number) = 0;		virtual smart_ptr<resource>	get_exported_resource(const tu_string& symbol) = 0;		virtual character_def*	get_character_def(int id) = 0;		virtual bool	get_labeled_frame(const char* label, int* frame_number) = 0;		// For use during creation.		virtual int	get_loading_frame() const = 0;		virtual void	add_character(int id, character_def* ch) = 0;		virtual void	add_font(int id, font* ch) = 0;		virtual font*	get_font(int id) = 0;		virtual void	add_execute_tag(execute_tag* c) = 0;		virtual void	add_init_action(int sprite_id, execute_tag* c) = 0;		virtual void	add_frame_name(const char* name) = 0;		virtual void	set_jpeg_loader(jpeg::input* j_in) = 0;		virtual jpeg::input*	get_jpeg_loader() = 0;		virtual bitmap_character_def*	get_bitmap_character(int character_id) = 0;		virtual void	add_bitmap_character(int character_id, bitmap_character_def* ch) = 0;		virtual sound_sample*	get_sound_sample(int character_id) = 0;		virtual void	add_sound_sample(int character_id, sound_sample* sam) = 0;		virtual void	export_resource(const tu_string& symbol, resource* res) = 0;		virtual void	add_import(const char* source_url, int id, const char* symbol_name) = 0;		virtual void	add_bitmap_info(bitmap_info* ch) = 0;		virtual create_bitmaps_flag	get_create_bitmaps() const = 0;		virtual create_font_shapes_flag	get_create_font_shapes() const = 0;	};	// For internal use.	movie_definition_sub*	create_movie_sub(const char* filename);	movie_definition_sub*	create_library_movie_sub(const char* filename);	movie_interface*	create_library_movie_inst_sub(movie_definition_sub* md);//v for extern movies	movie_interface*	create_library_movie_inst(movie_definition* md);	movie_interface*        get_current_root();	void set_current_root(movie_interface* m);	const char* get_workdir();	void set_workdir(const char* dir);	void delete_unused_root();	struct movie : public movie_interface	{		virtual void set_extern_movie(movie_interface* m) { }		virtual movie_interface*	get_extern_movie() { return NULL; }		virtual movie_definition*	get_movie_definition() { return NULL; }		virtual movie_root*	        get_root() { return NULL; }		virtual movie_interface*	get_root_interface() { return NULL; }		virtual movie*	                get_root_movie() { return NULL; }		virtual float	                get_pixel_scale() const { return 1.0f; }		virtual character*	        get_character(int id) { return NULL; }		virtual matrix	                get_world_matrix() const { return matrix::identity; }		virtual cxform	                get_world_cxform() const { return cxform::identity; }		//		// display-list management.		//		virtual execute_tag*	find_previous_replace_or_add_tag(int current_frame, int depth, int id)		{			return NULL;		}		virtual character*	add_display_object(			Uint16 character_id,			const char*		 name,			const array<swf_event*>& event_handlers,			Uint16			 depth,			bool			 replace_if_depth_is_occupied,			const cxform&		 color_transform,			const matrix&		 mat,			float			 ratio,			Uint16			clip_depth)		{			return NULL;		}		virtual void	move_display_object(			Uint16		depth,			bool		use_cxform,			const cxform&	color_transform,			bool		use_matrix,			const matrix&	mat,			float		ratio,			Uint16		clip_depth)		{		}		virtual void	replace_display_object(			Uint16		character_id,			const char*	name,			Uint16		depth,			bool		use_cxform,			const cxform&	color_transform,			bool		use_matrix,			const matrix&	mat,			float		ratio,			Uint16		clip_depth)		{		}		virtual void	replace_display_object(			character*	ch,			const char*	name,			Uint16		depth,			bool		use_cxform,			const cxform&	color_transform,			bool		use_matrix,			const matrix&	mat,			float		ratio,			Uint16		clip_depth)		{		}		virtual void	remove_display_object(Uint16 depth, int id)	{}		virtual void	set_background_color(const rgba& color) {}		virtual void	set_background_alpha(float alpha) {}		virtual float	get_background_alpha() const { return 1.0f; }		virtual void	set_display_viewport(int x0, int y0, int width, int height) {}		virtual void	add_action_buffer(action_buffer* a) { assert(0); }		virtual void	goto_frame(int target_frame_number) { assert(0); }		virtual bool	goto_labeled_frame(const char* label) { assert(0); return false; }		virtual void	set_play_state(play_state s) {}		virtual play_state	get_play_state() const { assert(0); return STOP; }		virtual void	notify_mouse_state(int x, int y, int buttons)		// The host app uses this to tell the movie where the		// user's mouse pointer is.		{		}		virtual void	get_mouse_state(int* x, int* y, int* buttons)		// Use this to retrieve the last state of the mouse, as set via		// notify_mouse_state().		{			assert(0);		}		struct drag_state		{			movie*	m_character;			bool	m_lock_center;			bool	m_bound;			float	m_bound_x0;			float	m_bound_y0;			float	m_bound_x1;			float	m_bound_y1;			drag_state()				:				m_character(0), m_lock_center(0), m_bound(0),				m_bound_x0(0), m_bound_y0(0), m_bound_x1(1), m_bound_y1(1)			{			}		};		virtual void	get_drag_state(drag_state* st) { assert(0); *st = drag_state(); }		virtual void	set_drag_state(const drag_state& st) { assert(0); }		virtual void	stop_drag() { assert(0); }		// External		virtual void	set_variable(const char* path_to_var, const char* new_value)		{			assert(0);		}		// External		virtual void	set_variable(const char* path_to_var, const wchar_t* new_value)		{			assert(0);		}		// External		virtual const char*	get_variable(const char* path_to_var) const		{			assert(0);			return "";		}		virtual void * get_userdata() { assert(0); return NULL; }		virtual void set_userdata(void *) { assert(0); }		// External		virtual bool	has_looped() const { return true; }		//		// Mouse/Button interface.		//		virtual movie* get_topmost_mouse_entity(float x, float y) { return NULL; }		virtual bool	get_track_as_menu() const { return false; }		virtual void	on_button_event(event_id id) { on_event(id); }		//		// ActionScript.		//		virtual movie*	get_relative_target(const tu_string& name)		{			assert(0);				return NULL;		}		// ActionScript event handler.  Returns true if a handler was called.		virtual bool	on_event(event_id id) { return false; }		int    add_interval_timer(void *timer)		{			log_msg("FIXME: %s: unimplemented\n", __FUNCTION__);			return -1;	// ???		}				void    clear_interval_timer(int x)		{			log_msg("FIXME: %s: unimplemented\n", __FUNCTION__);		}				virtual void    do_something(void *timer)		{			log_msg("FIXME: %s: unimplemented\n", __FUNCTION__);		}				// Special event handler; sprites also execute their frame1 actions on this event.		virtual void	on_event_load() { on_event(event_id::LOAD); }#if 0		// tulrich: @@ is there a good reason these are in the		// vtable?  I.e. can the caller just call		// on_event(event_id::SOCK_DATA) instead of		// on_event_xmlsocket_ondata()?		virtual void	on_event_xmlsocket_ondata() { on_event(event_id::SOCK_DATA); }		virtual void	on_event_xmlsocket_onxml() { on_event(event_id::SOCK_XML); }		virtual void	on_event_interval_timer() { on_event(event_id::TIMER); }		virtual void	on_event_load_progress() { on_event(event_id::LOAD_PROGRESS); }#endif		// as_object_interface stuff		virtual void	set_member(const tu_stringi& name, const as_value& val) { assert(0); }		virtual bool	get_member(const tu_stringi& name, as_value* val) { assert(0); return false; }		virtual void	call_frame_actions(const as_value& frame_spec) { assert(0); }		virtual float	get_timer() const { return 0.0f; }		virtual movie*	to_movie() { return this; }		virtual void	clone_display_object(const tu_string& name, const tu_string& newname, Uint16 depth) { assert(0); }		virtual void	remove_display_object(const tu_string& name) { assert(0); }		// Forward vararg call to version taking va_list.		virtual const char*	call_method(const char* method_name, const char* method_arg_fmt, ...)		{			va_list	args;			va_start(args, method_arg_fmt);			const char*	result = call_method_args(method_name, method_arg_fmt, args);			va_end(args);			return result;		}		virtual const char*	call_method_args(const char* method_name, const char* method_arg_fmt, va_list args)		// Override this if you implement call_method.		{			assert(0);			return NULL;		}		virtual void	execute_frame_tags(int frame, bool state_only = false) {}		// External.		virtual void	attach_display_callback(const char* path_to_object, void (*callback)(void*), void* user_ptr)		{			assert(0);		}		virtual void	set_display_callback(void (*callback)(void*), void* user_ptr)		// Override me to provide this functionality.		{		}	};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品免费| 国产欧美va欧美不卡在线| 日韩精品91亚洲二区在线观看| 日韩一级二级三级| 99久久精品一区| 精品一区二区影视| 亚洲a一区二区| 1区2区3区欧美| 国产日韩三级在线| 欧美成人精品二区三区99精品| 色视频成人在线观看免| 成人午夜看片网址| 久久国产三级精品| 日韩av一区二| 亚洲影院久久精品| 亚洲欧美另类久久久精品2019| 国产三区在线成人av| 日韩欧美三级在线| 欧美妇女性影城| 欧美三级一区二区| 欧美综合久久久| 色婷婷综合久久久中文字幕| 成人精品视频网站| 国产不卡视频在线观看| 精品亚洲aⅴ乱码一区二区三区| 欧美中文字幕一区| 偷拍一区二区三区| 欧美激情一区二区三区四区| 色偷偷久久人人79超碰人人澡| 亚洲已满18点击进入久久| 国产欧美日韩精品一区| 青青草国产成人99久久| 久久国产精品一区二区| 亚洲影院理伦片| 欧美极品美女视频| 精品99999| 亚洲欧美视频一区| 亚洲一区二区高清| 久久人人超碰精品| 国产主播一区二区三区| 久久综合久久99| 国产精品电影一区二区| 丁香啪啪综合成人亚洲小说 | 亚洲高清在线视频| 亚洲人成电影网站色mp4| 欧美国产禁国产网站cc| 国产精品系列在线| 中文字幕五月欧美| 中文字幕人成不卡一区| 亚洲区小说区图片区qvod| 亚洲欧美日韩中文字幕一区二区三区 | 麻豆精品一区二区av白丝在线| 亚洲bt欧美bt精品777| 首页国产欧美日韩丝袜| 全国精品久久少妇| 国产制服丝袜一区| 成人免费视频播放| 91老师片黄在线观看| 在线看不卡av| 日韩一级完整毛片| 久久婷婷成人综合色| 中文字幕免费一区| 亚洲视频网在线直播| 亚洲亚洲人成综合网络| 美女被吸乳得到大胸91| 福利电影一区二区| 日本高清不卡aⅴ免费网站| 91精品国产黑色紧身裤美女| 精品99一区二区三区| 国产精品福利电影一区二区三区四区| 亚洲日本在线观看| 日韩电影免费在线| 粉嫩av一区二区三区粉嫩| 在线观看欧美日本| 久久久噜噜噜久久人人看 | 26uuu色噜噜精品一区| 日韩一区在线播放| 奇米色777欧美一区二区| 成人爱爱电影网址| 91精品久久久久久久99蜜桃| 欧美激情一区在线观看| 五月天欧美精品| 国产成人精品午夜视频免费| 精品视频999| 2021久久国产精品不只是精品| 亚洲欧美aⅴ...| 国产综合色在线| 91传媒视频在线播放| 欧美成人国产一区二区| 亚洲欧美日韩中文字幕一区二区三区| 日韩国产成人精品| 97精品国产露脸对白| 日韩欧美色电影| 亚洲一区二区在线免费看| 国产精品1024| 777xxx欧美| 亚洲激情第一区| 懂色中文一区二区在线播放| 欧美一区二区三区系列电影| 亚洲欧洲韩国日本视频| 精品一区二区三区视频| 欧美怡红院视频| |精品福利一区二区三区| 精品一区二区三区蜜桃| 欧美福利电影网| 一区二区三区精品久久久| 91精品国产综合久久久久| 日本三级亚洲精品| 91视频免费观看| 亚洲欧美另类久久久精品| 麻豆成人av在线| 欧美视频一区二区在线观看| 国产精品五月天| 国产美女在线观看一区| 日韩一级黄色大片| 亚洲va韩国va欧美va| 色94色欧美sute亚洲线路一ni| 久久精品视频在线看| 日本不卡一区二区| 欧美吻胸吃奶大尺度电影| 亚洲欧洲一区二区三区| 国产成人啪免费观看软件| 精品播放一区二区| 久久成人免费网站| 精品日韩欧美在线| 激情综合网av| 精品少妇一区二区三区日产乱码 | 久久精品国产久精国产| 777xxx欧美| 日本伊人精品一区二区三区观看方式| 91久久线看在观草草青青| 亚洲欧美激情在线| 91传媒视频在线播放| 夜夜嗨av一区二区三区| 色婷婷久久久综合中文字幕| 最新成人av在线| 99久久精品情趣| 一区二区三区四区在线播放| 91国偷自产一区二区开放时间 | 国产精品综合二区| 精品国产一区二区精华| 久久99精品国产麻豆不卡| 欧美色图免费看| 日韩视频在线一区二区| 久久福利视频一区二区| 久久理论电影网| 成a人片国产精品| 亚洲欧洲精品一区二区精品久久久| www.欧美日韩| 夜夜爽夜夜爽精品视频| 6080午夜不卡| 国产一区二区三区av电影| 国产亚洲一区二区在线观看| 99久久免费国产| 亚洲sss视频在线视频| 日韩欧美国产系列| 国产精品一品二品| 亚洲欧美激情小说另类| 91麻豆精品国产| 国产精品夜夜爽| 一区二区三区中文字幕电影| 欧美高清性hdvideosex| 麻豆91在线看| 国产精品蜜臀av| 欧美日韩成人综合在线一区二区| 毛片av中文字幕一区二区| 久久亚洲一级片| 91福利国产精品| 激情成人综合网| 亚洲乱码中文字幕| 日韩一区和二区| 不卡的av网站| 日本不卡一区二区三区| 国产精品久久久久久亚洲伦| 欧美午夜精品一区二区三区| 久久电影国产免费久久电影| 国产精品色哟哟| 777xxx欧美| 99精品视频在线免费观看| 男人的天堂久久精品| 最新中文字幕一区二区三区| 日韩三区在线观看| av一区二区三区| 蜜乳av一区二区| 国产精品麻豆视频| 日韩一区二区三区三四区视频在线观看 | 国产成a人亚洲精品| 亚洲二区在线视频| 欧美经典三级视频一区二区三区| 欧美日韩视频一区二区| 丰满亚洲少妇av| 日韩av高清在线观看| 中文字幕一区二区三区乱码在线 | 亚洲免费av高清| 久久久久久久久久久久电影| 日本精品视频一区二区| 国产成人免费视频网站| 蜜臀久久99精品久久久久宅男| 综合激情网...| 久久久精品国产99久久精品芒果|