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

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

?? gameswf.h

?? 一個開源的嵌入式flash播放器 具體看文檔和例子就可
?? H
?? 第 1 頁 / 共 2 頁
字號:
	// The "library" is used when importing symbols from external	// movies, so this call might be useful if you want to	// explicitly load a movie that you know exports symbols	// (e.g. fonts) to other movies as well.	//	// @@ this explanation/functionality could be clearer!	//	// This calls add_ref() on the newly created definition; call	// drop_ref() when you're done with it.	// Or use smart_ptr<T> from base/smart_ptr.h if you want.	movie_definition*	create_library_movie(const char* filename);		// Helper to pregenerate cached data (basically, shape	// tesselations).  Does this by running through each frame of	// the movie and displaying the shapes with a null renderer.	// The pregenerated data is stored in the movie_definition	// object itself, and is included with the cached data written	// by movie_definition::output_cached_data().	//	// Note that this tesselates shapes to the resolution they	// explicitly appear in the linear frames of the movie.  Does	// not try very hard to run your ActionScript to account for	// dynamic scaling (that's more or less futile anyway due to	// the halting problem).	void	precompute_cached_data(movie_definition* movie_def);	// Maximum release of resources.  Calls clear_library() and	// fontlib::clear(), and also clears some extra internal stuff	// that may have been allocated (e.g. global ActionScript	// objects).  This should get all gameswf structures off the	// heap, with the exception of any objects that are still	// referenced by the host program and haven't had drop_ref()	// called on them.	void	clear();	//	// Library management	//		// Release any library movies we've cached.  Do this when you want	// maximum cleanup.	void	clear_library();		//	// Font library control.  gameswf is able to substitute fonts	// from the font library, in case a movie lacks glyphs for a	// declared font.  This would come into play since in recent	// versions of SWF, the movie is allowed to use "system	// fonts".  E.g. it can declare a font named "Arial", but not	// provide glyphs for it, and then the OS is expected to	// provide the font or a suitable replacement.	//	// gameswf does not try to handle this automatically; if your	// host program wants to emulate this behavior, it needs to	// load a movie that includes glyph info for the standard	// fonts you want, and then explicitly pull those fonts out of	// the movie_def and add them to fontlib.	//	// @@ TODO: not all public APIs to enable this are in place	// yet!  Need md::get_font_count()/get_font(), and	// fontlib::add_font().	//	// Otherwise, text written in a font with no glyphs just	// doesn't render at all.  (@@ Hm, should probably render it	// as boxes or something?)	struct font;	namespace fontlib	{		// Controls how large to render textured glyphs.		// Applies to fonts processed *after* this call only.		// The "nominal" size is perhaps around twice the		// average glyph height.		void	set_nominal_glyph_pixel_size(int pixel_size);		// For accessing the fonts in the library.		void	clear();		int	get_font_count();		font*	get_font(int index);		font*	get_font(const char* name);		const char*	get_font_name(const font* f);				// @@ also need to add color controls (or just set the diffuse color		// in the API?), perhaps matrix xform, and maybe spacing, etc.		//		// // For direct text rendering from the host app.		void	draw_string(const font* f, float x, float y, float size, const char* text);		// void	draw_string(const font* f, float x, float y, float size, const wchar_t* text);	// wide-char version	}			//	// Sound callback handler.	//		// You may define a subclass of this, and pass an instance to	// set_sound_handler().	struct sound_handler	{		enum format_type		{			FORMAT_RAW = 0,		// unspecified format.  Useful for 8-bit sounds???			FORMAT_ADPCM = 1,	// gameswf doesn't pass this through; it uncompresses and sends FORMAT_NATIVE16			FORMAT_MP3 = 2,			FORMAT_UNCOMPRESSED = 3,	// 16 bits/sample, little-endian			FORMAT_NELLYMOSER = 6,	// Mystery proprietary format; see nellymoser.com							// gameswf tries to convert data to this format when possible:			FORMAT_NATIVE16 = 7	// gameswf extension: 16 bits/sample, native-endian		};		// If stereo is true, samples are interleaved w/ left sample first.				// gameswf calls at load-time with sound data, to be		// played later.  You should create a sample with the		// data, and return a handle that can be used to play		// it later.  If the data is in a format you can't		// deal with, then you can return 0 (for example), and		// then ignore 0's in play_sound() and delete_sound().		//		// Assign handles however you like.		virtual int	create_sound(			void*		data,			int		data_bytes,			int		sample_count,			format_type	format,			int		sample_rate,	/* one of 5512, 11025, 22050, 44100 */			bool		stereo			) = 0;				// gameswf calls this when it wants you to play the defined sound.		//		// loop_count == 0 means play the sound once (1 means play it twice, etc)		virtual void	play_sound(int sound_handle, int loop_count /* , volume, pan, etc? */) = 0;				// Stop the specified sound if it's playing.		// (Normally a full-featured sound API would take a		// handle specifying the *instance* of a playing		// sample, but SWF is not expressive that way.)		virtual void	stop_sound(int sound_handle) = 0;				// gameswf calls this when it's done with a particular sound.		virtual void	delete_sound(int sound_handle) = 0;				virtual ~sound_handler() {};	};		//	// matrix type, used by render handler	//	struct point;	struct matrix	{		float	m_[2][3];		static matrix	identity;		matrix();		bool	is_valid() const;		void	set_identity();		void	concatenate(const matrix& m);		void	concatenate_translation(float tx, float ty);		void	concatenate_scale(float s);		void	set_lerp(const matrix& m1, const matrix& m2, float t);		void	set_scale_rotation(float x_scale, float y_scale, float rotation);		void	read(stream* in);		void	print() const;		void	transform(point* result, const point& p) const;		void	transform_vector(point* result, const point& p) const;		void	transform_by_inverse(point* result, const point& p) const;		void	set_inverse(const matrix& m);		bool	does_flip() const;	// return true if we flip handedness		float	get_determinant() const;	// determinant of the 2x2 rotation/scale part only		float	get_max_scale() const;	// return the maximum scale factor that this transform applies		float	get_x_scale() const;	// return the magnitude scale of our x coord output		float	get_y_scale() const;	// return the magnitude scale of our y coord output		float	get_rotation() const;	// return our rotation component (in radians)	};	//	// point: used by rect which is used by render_handler (otherwise would be in internal gameswf_types.h)	//	struct point	{		float	m_x, m_y;		point() : m_x(0), m_y(0) {}		point(float x, float y) : m_x(x), m_y(y) {}		void	set_lerp(const point& a, const point& b, float t)		// Set to a + (b - a) * t		{			m_x = a.m_x + (b.m_x - a.m_x) * t;			m_y = a.m_y + (b.m_y - a.m_y) * t;		}		bool operator==(const point& p) const { return m_x == p.m_x && m_y == p.m_y; }		bool	bitwise_equal(const point& p) const;	};	//	// rect: rectangle type, used by render handler	//	struct rect	{		float	m_x_min, m_x_max, m_y_min, m_y_max;		void	read(stream* in);		void	print() const;		bool	point_test(float x, float y) const;		void	expand_to_point(float x, float y);		float	width() const { return m_x_max-m_x_min; }		float	height() const { return m_y_max-m_y_min; }		point	get_corner(int i) const;		void	enclose_transformed_rect(const matrix& m, const rect& r);		void	set_lerp(const rect& a, const rect& b, float t);	};	//	// cxform: color transform type, used by render handler	//	struct cxform	{		float	m_[4][2];	// [RGBA][mult, add]		cxform();		void	concatenate(const cxform& c);		rgba	transform(const rgba in) const;		void	read_rgb(stream* in);		void	read_rgba(stream* in);		void	clamp();  // Force component values to be in range.		void	print() const;		static cxform	identity;	};	//	// texture and render callback handler.	//	// Your render_handler creates bitmap_info's for gameswf.  You	// need to subclass bitmap_info in order to add the	// information and functionality your app needs to render	// using textures.	struct bitmap_info : public ref_counted	{		unsigned int	m_texture_id;		// nuke?		int		m_original_width;	// nuke?		int		m_original_height;	// nuke?				bitmap_info()			:			m_texture_id(0),			m_original_width(0),			m_original_height(0)		{		}	};		// You must define a subclass of render_handler, and pass an	// instance to set_render_handler().	struct render_handler	{		virtual ~render_handler() {}		// Your handler should return these with a ref-count of 0.  (@@ is that the right policy?)		virtual bitmap_info*	create_bitmap_info_empty() = 0;	// used when DO_NOT_LOAD_BITMAPS is set		virtual bitmap_info*	create_bitmap_info_alpha(int w, int h, unsigned char* data) = 0;		virtual bitmap_info*	create_bitmap_info_rgb(image::rgb* im) = 0;		virtual bitmap_info*	create_bitmap_info_rgba(image::rgba* im) = 0;		virtual void	delete_bitmap_info(bitmap_info* bi) = 0;				// Bracket the displaying of a frame from a movie.		// Fill the background color, and set up default		// transforms, etc.		virtual void	begin_display(			rgba background_color,			int viewport_x0, int viewport_y0,			int viewport_width, int viewport_height,			float x0, float x1, float y0, float y1) = 0;		virtual void	end_display() = 0;				// Geometric and color transforms for mesh and line_strip rendering.		virtual void	set_matrix(const matrix& m) = 0;		virtual void	set_cxform(const cxform& cx) = 0;				// Draw triangles using the current fill-style 0.		// Clears the style list after rendering.		//		// coords is a list of (x,y) coordinate pairs, in		// triangle-strip order.  The type of the array should		// be Sint16[vertex_count*2]		virtual void	draw_mesh_strip(const void* coords, int vertex_count) = 0;				// Draw a line-strip using the current line style.		// Clear the style list after rendering.		//		// Coords is a list of (x,y) coordinate pairs, in		// sequence.  Each coord is a 16-bit signed integer.		virtual void	draw_line_strip(const void* coords, int vertex_count) = 0;				// Set line and fill styles for mesh & line_strip		// rendering.		enum bitmap_wrap_mode		{			WRAP_REPEAT,			WRAP_CLAMP		};		virtual void	fill_style_disable(int fill_side) = 0;		virtual void	fill_style_color(int fill_side, rgba color) = 0;		virtual void	fill_style_bitmap(int fill_side, const bitmap_info* bi, const matrix& m, bitmap_wrap_mode wm) = 0;				virtual void	line_style_disable() = 0;		virtual void	line_style_color(rgba color) = 0;		virtual void	line_style_width(float width) = 0;				// Special function to draw a rectangular bitmap;		// intended for textured glyph rendering.  Ignores		// current transforms.		virtual void	draw_bitmap(			const matrix&		m,			const bitmap_info*	bi,			const rect&		coords,			const rect&		uv_coords,			rgba			color) = 0;				virtual void	set_antialiased(bool enable) = 0;				virtual void begin_submit_mask() = 0;		virtual void end_submit_mask() = 0;		virtual void disable_mask() = 0;	};		// Keyboard handling	namespace key {		enum code		{			INVALID = 0,			A = 65,			B,			C,			D,			E,			F,			G,			H,			I,			J,			K,			L,			M,			N,			O,			P,			Q,			R,			S,			T,			U,			V,			W,			X,			Y,			Z,			_0 = 48,			_1,			_2,			_3,			_4,			_5,			_6,			_7,			_8,			_9,			KP_0 = 96,			KP_1,			KP_2,			KP_3,			KP_4,			KP_5,			KP_6,			KP_7,			KP_8,			KP_9,			KP_MULTIPLY,			KP_ADD,			KP_ENTER,			KP_SUBTRACT,			KP_DECIMAL,			KP_DIVIDE,			F1 = 112,			F2,			F3,			F4,			F5,			F6,			F7,			F8,			F9,			F10,			F11,			F12,			F13,			F14,			F15,			BACKSPACE = 8,			TAB,			CLEAR = 12,			ENTER,			SHIFT = 16,			CONTROL,			ALT,			CAPSLOCK = 20,			ESCAPE = 27,			SPACE = 32,			PGDN,			PGUP,			END = 35,			HOME,			LEFT,			UP,			RIGHT,			DOWN,			INSERT = 45,			DELETEKEY,			HELP,			NUM_LOCK = 144,			SEMICOLON = 186,			EQUALS = 187,			MINUS = 189,			SLASH = 191,			BACKTICK = 192,			LEFT_BRACKET = 219,			BACKSLASH = 220,			RIGHT_BRACKET = 221,			QUOTE = 222,			KEYCOUNT		};	}	// end namespace key	// Key events are global throughout gameswf.	// @@ Maybe someday make these local to the movie_interface?	void	notify_key_event(key::code k, bool down);	// Some optional helpers.	namespace tools	{		struct process_options		{			bool	m_zip_whole_file;	// @@ not implemented yet (low priority?)			bool	m_remove_image_data;	// removes existing image data; leaves minimal placeholder tags			bool	m_remove_font_glyph_shapes;			process_options()				:				m_zip_whole_file(false),				m_remove_image_data(false),				m_remove_font_glyph_shapes(false)			{			}		};		// Copy tags from *in to *out, applying the given		// options.  *in should be a SWF-format stream.  The		// output will be a SWF-format stream.		//		// Returns 0 on success, or a non-zero error-code on		// failure.		int	process_swf(tu_file* swf_out, tu_file* swf_in, const process_options& options);	}}	// namespace gameswf#endif // GAMESWF_H// Local Variables:// mode: C++// c-basic-offset: 8 // tab-width: 8// indent-tabs-mode: t// End:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品二三区| 亚洲日穴在线视频| 欧美一级免费大片| 欧美三级午夜理伦三级中视频| 99精品热视频| av电影天堂一区二区在线 | 色婷婷精品大在线视频| jvid福利写真一区二区三区| 国产91精品久久久久久久网曝门| 国产成人小视频| 成人午夜视频福利| 成人av小说网| 色综合天天性综合| 欧美在线观看视频在线| 欧美日韩亚洲综合在线| 欧美精品一二三区| 日韩欧美国产高清| 国产亚洲欧美激情| 亚洲欧洲性图库| 亚洲精品国产a| 午夜电影一区二区| 精彩视频一区二区| av电影一区二区| 欧美偷拍一区二区| 日韩欧美一二三四区| 久久亚洲春色中文字幕久久久| 久久精品夜色噜噜亚洲aⅴ| 国产清纯白嫩初高生在线观看91| 国产精品久久久久久久久动漫| 亚洲欧美自拍偷拍| 午夜精品福利在线| 国产精品一二三四| 色偷偷成人一区二区三区91| 欧美肥大bbwbbw高潮| 国产无遮挡一区二区三区毛片日本| 欧美激情在线一区二区| 一区二区三区久久久| 日本在线不卡视频| 福利视频网站一区二区三区| 色综合久久六月婷婷中文字幕| 在线播放日韩导航| 中文字幕欧美区| 亚洲成人你懂的| 国产成人精品1024| 欧美色视频在线观看| 国产视频一区在线观看 | 99国产精品久久久久久久久久久| 在线视频综合导航| 2023国产精品| 亚洲一级二级三级| 国产成人福利片| 欧美日韩视频第一区| 国产区在线观看成人精品| 亚洲一区中文在线| 国产一区二区电影| 欧美日韩一区三区| 国产精品国产三级国产有无不卡| 亚洲成av人片在线| 99热这里都是精品| 欧美精品一区二区三区蜜桃| 亚洲蜜臀av乱码久久精品蜜桃| 激情小说亚洲一区| 欧美日高清视频| 国产精品国产三级国产| 久久99热这里只有精品| 91官网在线免费观看| 久久你懂得1024| 日韩电影免费一区| 在线观看av不卡| 国产精品国产三级国产aⅴ无密码| 蜜臀av性久久久久av蜜臀妖精| 91麻豆自制传媒国产之光| 久久久久亚洲综合| 免费成人性网站| 欧美色中文字幕| 亚洲欧美偷拍另类a∨色屁股| 国产精品主播直播| 日韩欧美中文字幕一区| 亚洲第一激情av| 在线免费观看一区| 国产精品的网站| 国产精品伊人色| 日韩欧美国产1| 亚洲午夜精品久久久久久久久| 99精品在线免费| 欧美激情艳妇裸体舞| 黑人精品欧美一区二区蜜桃| 欧美日韩国产高清一区| 亚洲最快最全在线视频| 成人app下载| 国产精品久久久久久久久图文区 | 色香蕉久久蜜桃| 国产精品不卡视频| 波多野结衣视频一区| 国产午夜精品在线观看| 国产一区欧美一区| 日韩一级视频免费观看在线| 午夜精品久久久久久久久 | 亚洲尤物在线视频观看| 成人午夜av电影| 欧美激情一区二区三区蜜桃视频| 国产一区啦啦啦在线观看| 久久综合色8888| 国产在线播放一区二区三区| 精品日韩在线观看| 精品一区免费av| 久久久久久综合| 国产69精品久久99不卡| 国产精品毛片高清在线完整版 | 精品理论电影在线| 久久99精品久久久久| 久久综合九色综合欧美98| 国产在线国偷精品产拍免费yy| 欧美精品一区二区三区蜜桃视频| 国产一区二区三区不卡在线观看| 国产三级一区二区三区| www.日本不卡| 亚洲一区在线观看视频| 欧美日韩激情一区| 裸体健美xxxx欧美裸体表演| 精品久久一二三区| 成人午夜激情在线| 亚洲在线观看免费视频| 欧美一级艳片视频免费观看| 国模无码大尺度一区二区三区| 国产欧美日本一区二区三区| eeuss影院一区二区三区| 一个色综合av| 日韩美女在线视频| 成人精品鲁一区一区二区| 亚洲视频 欧洲视频| 欧美日本一区二区三区| 狠狠色丁香久久婷婷综| 国产精品蜜臀在线观看| 欧美在线制服丝袜| 免播放器亚洲一区| 中文字幕精品三区| 欧美日韩一区二区在线观看视频| 免费视频一区二区| 国产精品欧美一区二区三区| 日本道色综合久久| 九一九一国产精品| 综合久久久久久| 777欧美精品| 国产成人精品亚洲日本在线桃色 | 成人国产精品免费观看视频| 亚洲乱码国产乱码精品精可以看| 666欧美在线视频| 粉嫩13p一区二区三区| 亚洲最新在线观看| 国产日本一区二区| 91麻豆精品国产91久久久 | 国产成人自拍网| 一级特黄大欧美久久久| 精品久久久久久亚洲综合网| 91在线播放网址| 久久99热这里只有精品| 一区二区三区资源| 久久久久久电影| 欧美日韩不卡一区二区| 成人免费高清在线| 麻豆91精品91久久久的内涵| 亚洲美女电影在线| 久久久久久电影| 欧美一区二区免费观在线| 99精品视频免费在线观看| 久久精品久久精品| 亚洲sss视频在线视频| 国产精品午夜电影| 欧美一区2区视频在线观看| av一本久道久久综合久久鬼色| 秋霞国产午夜精品免费视频| 亚洲精品日日夜夜| 亚洲国产精品ⅴa在线观看| 欧美一卡二卡三卡| 欧美日韩亚洲另类| 色婷婷亚洲婷婷| 成+人+亚洲+综合天堂| 精品中文av资源站在线观看| 午夜影院久久久| 中文字幕在线不卡视频| 久久伊人中文字幕| 777色狠狠一区二区三区| 91福利视频网站| 91麻豆免费观看| 国产91富婆露脸刺激对白| 狠狠狠色丁香婷婷综合激情| 日本大胆欧美人术艺术动态| 一区二区三区自拍| 亚洲免费在线视频一区 二区| 日本一区二区高清| 久久精品网站免费观看| 日韩一区二区高清| 91精品国产色综合久久ai换脸| 91搞黄在线观看| 色婷婷久久综合| 色嗨嗨av一区二区三区| 91麻豆高清视频| 91在线精品一区二区三区| 丁香婷婷综合五月|