亚洲欧美第一页_禁久久精品乱码_粉嫩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麻豆视频网站| 激情综合色综合久久| 91老师片黄在线观看| 自拍偷拍亚洲欧美日韩| 91麻豆国产香蕉久久精品| 亚洲另类春色国产| 欧美日韩不卡一区| 麻豆精品久久精品色综合| 精品处破学生在线二十三| 成人午夜视频免费看| 亚洲免费av在线| 欧美区在线观看| 黄页视频在线91| |精品福利一区二区三区| 欧美综合一区二区| 蜜桃视频在线观看一区二区| 国产午夜一区二区三区| 91免费观看视频在线| 天天av天天翘天天综合网色鬼国产| 日韩欧美成人激情| 日韩无一区二区| 国产自产视频一区二区三区| 国产精品国产三级国产aⅴ中文 | 成人动漫一区二区在线| 亚洲男人的天堂av| 欧美岛国在线观看| 不卡一区在线观看| 日本 国产 欧美色综合| 国产欧美一区二区三区鸳鸯浴 | 国产成a人亚洲精| 亚洲欧美精品午睡沙发| 制服丝袜av成人在线看| 看电视剧不卡顿的网站| 国产精品你懂的在线欣赏| 欧美三区在线视频| 国产成a人亚洲| 蜜臀国产一区二区三区在线播放| 亚洲欧美自拍偷拍| 精品国产一区a| 日本高清免费不卡视频| 国产精品12区| 男女激情视频一区| 亚洲一区二区三区在线看| 国产视频视频一区| 欧美一区二区三区在线电影 | 韩国在线一区二区| 一区二区三区免费网站| 久久久99久久精品欧美| 欧美一级片在线| 欧美日韩免费视频| 99久久综合色| 国产mv日韩mv欧美| 理论片日本一区| 亚洲成人av资源| 亚洲精品国产a| 中文字幕欧美激情| 久久久久久免费毛片精品| 欧美日韩高清一区| 欧美性xxxxxx少妇| 99精品1区2区| 成人av在线影院| 国产精品一级片| 韩国av一区二区| 久久99精品久久久久久国产越南| 亚洲观看高清完整版在线观看| 亚洲欧美另类在线| 国产精品热久久久久夜色精品三区 | 懂色av一区二区在线播放| 老司机精品视频在线| 日韩精品三区四区| 亚洲一二三区在线观看| 一区二区三区日韩欧美| 亚洲免费av观看| 亚洲欧美激情一区二区| 亚洲男人的天堂在线观看| 亚洲免费电影在线| 亚洲美女电影在线| 亚洲一区二区三区四区在线免费观看 | 久久久久久久久99精品| 国产亚洲一本大道中文在线| 久久综合九色综合欧美就去吻| 日韩午夜精品视频| 精品美女在线观看| 26uuu另类欧美| 中文字幕的久久| 中文字幕一区二区三区在线观看| 国产精品传媒视频| 亚洲黄网站在线观看| 亚洲一区二区三区国产| 午夜伊人狠狠久久| 免费观看久久久4p| 国产露脸91国语对白| 成人黄色在线看| 色哟哟欧美精品| 91精品国模一区二区三区| 欧美va亚洲va香蕉在线| 久久久国产精华| 亚洲精品国产一区二区三区四区在线| 亚洲精品久久久久久国产精华液| 亚洲永久免费视频| 美女性感视频久久| 成人少妇影院yyyy| 欧美色区777第一页| 精品理论电影在线| 亚洲视频1区2区| 日韩精品91亚洲二区在线观看| 久久99精品久久久久久国产越南 | 91在线观看污| 欧美在线不卡一区| 精品国产一区二区三区久久久蜜月| 中文字幕免费观看一区| 亚洲一二三四久久| 国产一区在线不卡| 色婷婷av一区二区| 日韩女优制服丝袜电影| 国产精品三级久久久久三级| 日韩精品国产欧美| 成人h动漫精品| 欧美一区二区不卡视频| 国产精品色一区二区三区| 亚洲国产日韩一区二区| 久久99精品国产麻豆婷婷洗澡| 91麻豆成人久久精品二区三区| 欧美一区二区不卡视频| ...xxx性欧美| 精东粉嫩av免费一区二区三区| 99精品国产热久久91蜜凸| 日韩免费视频一区| 亚洲综合在线电影| 国产成人精品免费在线| 日韩视频一区二区三区在线播放| 中文字幕在线观看不卡视频| 精品影院一区二区久久久| 欧美日韩一区高清| 中文字幕日韩欧美一区二区三区| 麻豆91在线播放| 欧美视频自拍偷拍| 中文字幕av一区二区三区高 | 成人免费黄色大片| 欧美一级二级在线观看| 亚洲精品视频在线看| 国产精品乡下勾搭老头1| 欧美绝品在线观看成人午夜影视| 国产精品久久久久久福利一牛影视| 美美哒免费高清在线观看视频一区二区| 91偷拍与自偷拍精品| 欧美国产精品v| 国产电影一区二区三区| 精品国产在天天线2019| 日韩av不卡在线观看| 欧洲中文字幕精品| 最新不卡av在线| 成人av网站免费观看| 国产欧美精品区一区二区三区| 毛片不卡一区二区| 91麻豆精品国产91久久久使用方法| 亚洲精品国久久99热| 色综合一区二区三区| 中文字幕亚洲视频| 成人av在线播放网址| 国产精品嫩草久久久久| 国产精品一区不卡| 国产精品午夜春色av| 国产激情一区二区三区| 亚洲国产高清在线| 成人sese在线| 亚洲精品精品亚洲| 欧美亚洲国产怡红院影院| 亚洲最大成人综合| 精品视频色一区| 视频一区二区不卡| 日韩欧美国产系列| 国产麻豆成人传媒免费观看| 欧美精品一区二区三区蜜桃| 国产精品亚洲成人| 亚洲国产精品高清| 色域天天综合网| 亚洲gay无套男同| 日韩欧美一级二级三级久久久| 久久99久久久欧美国产| xfplay精品久久| 成人一级视频在线观看| 亚洲免费观看高清完整版在线观看熊| 99久久精品免费观看| 亚洲第一激情av| 欧美成人高清电影在线| 国产精品2024| 亚洲欧洲成人自拍| 5月丁香婷婷综合| 国产又黄又大久久| 日韩一区有码在线| 欧美精品三级日韩久久| 国产在线看一区| 中文字幕中文字幕在线一区| 精品视频1区2区| 国产自产v一区二区三区c| 亚洲精品一卡二卡| 日韩三级.com| 色综合久久综合网| 麻豆视频一区二区|