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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gameswf_impl.h

?? 一個開源的嵌入式flash播放器 具體看文檔和例子就可
?? H
?? 第 1 頁 / 共 2 頁
字號:
// 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.		{		}	};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费视频一区二区| 亚洲成人第一页| 久久精品一区八戒影视| 欧美电影免费观看高清完整版在线 | 91麻豆成人久久精品二区三区| 国产精品一区二区免费不卡 | 成人av综合在线| 国产一区二区精品久久91| 欧美aaa在线| 六月丁香综合在线视频| 看片网站欧美日韩| 激情综合网天天干| 国产自产v一区二区三区c| 美女视频黄a大片欧美| 久久精品99国产精品日本| 美女视频黄 久久| 国产精品一级在线| 国产99久久久国产精品免费看| 成人高清视频在线观看| 91麻豆视频网站| 精品视频在线视频| 欧美一区二区三区在线电影| 日韩欧美电影一区| 国产欧美精品一区aⅴ影院| 国产精品网站一区| 亚洲九九爱视频| 午夜视频在线观看一区| 青青草伊人久久| 国产中文字幕精品| 成人激情小说乱人伦| 日本精品一区二区三区高清 | 国产欧美一二三区| 日韩一区在线播放| 亚洲成人动漫在线观看| 九九九久久久精品| 不卡的av中国片| 欧美日韩精品欧美日韩精品一综合| 欧美一级片免费看| 亚洲国产精品传媒在线观看| 一区二区三区免费在线观看| 日韩二区在线观看| 粉嫩aⅴ一区二区三区四区五区| 99久久99久久精品免费看蜜桃 | 国产精品乱码妇女bbbb| 亚洲在线视频网站| 久色婷婷小香蕉久久| 成人h动漫精品一区二| 欧美日韩久久不卡| 久久色在线视频| 亚洲精品亚洲人成人网在线播放| 男人操女人的视频在线观看欧美| 高清国产一区二区三区| 在线观看91精品国产入口| 亚洲精品在线观看网站| 最新久久zyz资源站| 日韩电影网1区2区| av成人老司机| 日韩欧美久久久| 亚洲黄网站在线观看| 久久国产夜色精品鲁鲁99| 色视频欧美一区二区三区| 日韩欧美国产精品一区| 亚洲精品国产成人久久av盗摄 | 欧美精品一级二级| 中文一区在线播放| 蜜臀av一区二区在线观看| 9i看片成人免费高清| 欧美一级午夜免费电影| 一区二区成人在线观看| 国产激情偷乱视频一区二区三区| 欧美麻豆精品久久久久久| 国产精品视频观看| 蜜桃视频一区二区三区在线观看| 91网站最新地址| 久久婷婷国产综合国色天香| 日韩影院精彩在线| 91久久国产最好的精华液| 欧美高清在线一区| 国精产品一区一区三区mba桃花 | 99国产精品久久久| 欧美xxxx在线观看| 天天影视色香欲综合网老头| 91在线免费视频观看| 久久久91精品国产一区二区精品| 午夜视频在线观看一区二区| 97久久精品人人澡人人爽| 国产欧美精品区一区二区三区| 蜜桃视频第一区免费观看| 欧美日韩一区三区四区| 日韩理论在线观看| 国产精品亚洲а∨天堂免在线| 337p亚洲精品色噜噜噜| 亚洲一区二区高清| 在线一区二区三区四区五区| 1000精品久久久久久久久| 国产成人精品亚洲日本在线桃色| 精品国产成人在线影院| 蜜臀精品一区二区三区在线观看| 欧美日韩在线精品一区二区三区激情| 最新欧美精品一区二区三区| 国v精品久久久网| 国产免费观看久久| 国产高清不卡二三区| 久久久国际精品| 国产.欧美.日韩| 中文字幕国产一区| 97精品久久久久中文字幕| 国产精品日日摸夜夜摸av| 成人精品免费视频| 国产精品久久久久久妇女6080 | 日韩欧美国产系列| 久久99国产精品久久99果冻传媒| 欧美精品 国产精品| 日韩国产一二三区| 欧美电影精品一区二区| 极品美女销魂一区二区三区| 久久综合九色综合欧美98| 国产综合成人久久大片91| 国产欧美日韩中文久久| 床上的激情91.| 亚洲免费观看高清完整版在线| 99久久伊人网影院| 亚洲色图视频免费播放| 91国模大尺度私拍在线视频| 一区二区三区在线观看动漫| 欧美性videosxxxxx| 奇米777欧美一区二区| 精品久久久久av影院| 国产一区二区毛片| 国产精品乱码一区二区三区软件| 色狠狠av一区二区三区| 亚洲一级二级在线| 欧美一区二区视频网站| 国产精品自拍三区| 亚洲欧洲av另类| 一本久久a久久免费精品不卡| 亚洲国产精品一区二区久久恐怖片| 7777精品伊人久久久大香线蕉最新版| 全国精品久久少妇| 久久在线观看免费| 色婷婷精品久久二区二区蜜臀av | 激情五月婷婷综合网| 国产精品欧美极品| 欧美日韩在线精品一区二区三区激情| 全国精品久久少妇| 亚洲欧洲美洲综合色网| 欧美日本乱大交xxxxx| 精品制服美女丁香| 亚洲视频每日更新| 精品日韩一区二区三区| 91在线视频观看| 毛片av一区二区| 国产精品三级在线观看| 欧美精品久久99| 国产成人免费视频精品含羞草妖精| 亚洲综合在线观看视频| 精品国产麻豆免费人成网站| 色综合久久天天| 久久66热re国产| 亚洲精品国产a| 国产日韩欧美精品在线| 精品视频1区2区| 波波电影院一区二区三区| 天使萌一区二区三区免费观看| 久久精品视频网| 欧美一区二区三区不卡| a美女胸又www黄视频久久| 麻豆91在线看| 亚洲图片欧美色图| 日本一区二区三级电影在线观看| 91 com成人网| 91在线观看下载| 国产福利一区在线观看| 日本欧美一区二区在线观看| 亚洲图片另类小说| 久久这里都是精品| 欧美一级片在线看| 欧美午夜精品理论片a级按摩| 丁香婷婷综合色啪| 久久国产尿小便嘘嘘尿| 亚洲午夜视频在线| 亚洲欧洲美洲综合色网| 久久九九久久九九| 91麻豆精品国产91久久久更新时间| caoporm超碰国产精品| 国产精一品亚洲二区在线视频| 亚洲va中文字幕| 樱桃视频在线观看一区| 国产精品免费aⅴ片在线观看| 欧美www视频| 日韩三级在线免费观看| 欧美日韩亚洲丝袜制服| 色综合一区二区三区| 国产成人综合自拍| 国内精品久久久久影院薰衣草 | 94-欧美-setu| 成人性生交大片免费看中文网站| 精品亚洲国产成人av制服丝袜| 日韩电影在线免费观看| 天天影视网天天综合色在线播放|