⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ming-dev.c

📁 flash swf file player
💻 C
📖 第 1 页 / 共 5 页
字号:
PHP_FUNCTION(swffill_moveTo){	zval **x, **y;	if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &x, &y) == FAILURE) {		WRONG_PARAM_COUNT;	}		convert_to_double_ex(x);	convert_to_double_ex(y);	SWFFill_moveTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(x), Z_DVAL_PP(y));}/* }}} *//* {{{ proto void swffill_scaleTo(float xScale [, float yScale])   Scales this SWFFill by xScale in the x direction, yScale in the y, or both to xScale if only one arg */PHP_FUNCTION(swffill_scaleTo){	zval **x, **y;	if (ZEND_NUM_ARGS() == 1) {		if (zend_get_parameters_ex(1, &x) == FAILURE) {			WRONG_PARAM_COUNT;		}		convert_to_double_ex(x);		SWFFill_scaleXYTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(x), Z_DVAL_PP(x));	} else if (ZEND_NUM_ARGS() == 2) {		if (zend_get_parameters_ex(2, &x, &y) == FAILURE) {			WRONG_PARAM_COUNT;		}		convert_to_double_ex(x);		convert_to_double_ex(y);		SWFFill_scaleXYTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(x), Z_DVAL_PP(y));	} else {		WRONG_PARAM_COUNT;	}}/* }}} *//* {{{ proto void swffill_rotateTo(float degrees)   Rotates this SWFFill the given (clockwise) degrees from its original orientation */PHP_FUNCTION(swffill_rotateTo){	zval **degrees;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &degrees) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_double_ex(degrees);	SWFFill_rotateTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(degrees));}/* }}} *//* {{{ proto void swffill_skewXTo(float xSkew)   Sets this SWFFill's x skew value to xSkew */PHP_FUNCTION(swffill_skewXTo){	zval **x;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &x) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_double_ex(x);	SWFFill_skewXTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(x));}/* }}} *//* {{{ proto void swffill_skewYTo(float ySkew)   Sets this SWFFill's y skew value to ySkew */PHP_FUNCTION(swffill_skewYTo){	zval **y;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &y) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_double_ex(y);	SWFFill_skewYTo(getFill(getThis() TSRMLS_CC), Z_DVAL_PP(y));}/* }}} *//* }}} *//* {{{ SWFFont*/static zend_function_entry swffont_functions[] = {	PHP_FALIAS(swffont,          swffont_init,              NULL)	PHP_FALIAS(getwidth,         swffont_getWidth,          NULL)	PHP_FALIAS(getascent,        swffont_getAscent,         NULL)	PHP_FALIAS(getdescent,       swffont_getDescent,        NULL)	PHP_FALIAS(getleading,       swffont_getLeading,        NULL)	{ NULL, NULL, NULL }};/* {{{ internal function SWFText getFont(zval *id)   Returns the Font object in zval *id */static SWFFont getFont(zval *id TSRMLS_DC){	void *font = SWFgetProperty(id, "font", 4, le_swffontp TSRMLS_CC);	if (!font) {		php_error(E_ERROR, "called object is not an SWFFont!");	}	return (SWFFont)font;}/* }}} *//* {{{ proto class swffont_init(string filename)   Returns a new SWFFont object from given file */PHP_FUNCTION(swffont_init){	zval **zfile;	SWFFont font;	int ret;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zfile) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_string_ex(zfile);	if (strcmp(Z_STRVAL_PP(zfile)+Z_STRLEN_PP(zfile)-4, ".fdb") == 0) {		php_stream * stream;		FILE * file;			stream = php_stream_open_wrapper(Z_STRVAL_PP(zfile), "rb", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL);		if (stream == NULL) {			RETURN_FALSE;		}		if (FAILURE == php_stream_cast(stream, PHP_STREAM_AS_STDIO, (void*)&file, REPORT_ERRORS)) {			php_stream_close(stream);			RETURN_FALSE;		}			font = loadSWFFontFromFile(file);		php_stream_close(stream);	} else {		font = newSWFBrowserFont(Z_STRVAL_PP(zfile));	}	ret = zend_list_insert(font, le_swffontp);	object_init_ex(getThis(), &font_class_entry);	add_property_resource(getThis(), "font", ret);	zend_list_addref(ret);}static void destroy_SWFFont_resource(zend_rsrc_list_entry *resource TSRMLS_DC){	destroySWFBlock((SWFBlock)resource->ptr);}/* }}} *//* {{{ proto int swffont_getWidth(string)   Calculates the width of the given string in this font at full height */PHP_FUNCTION(swffont_getWidth){	zval **zstring;	float width;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zstring) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_string_ex(zstring);	width = SWFFont_getStringWidth(getFont(getThis() TSRMLS_CC), Z_STRVAL_PP(zstring));	RETURN_DOUBLE(width);}/* }}} *//* {{{ proto int swffont_getAscent(void)   Returns the ascent of the font, or 0 if not available */PHP_FUNCTION(swffont_getAscent){	RETURN_DOUBLE(SWFFont_getAscent(getFont(getThis() TSRMLS_CC)));}/* }}} *//* {{{ proto int swffont_getDescent(void)   Returns the descent of the font, or 0 if not available */PHP_FUNCTION(swffont_getDescent){	RETURN_DOUBLE(SWFFont_getDescent(getFont(getThis() TSRMLS_CC)));}/* }}} *//* {{{ proto int swffont_getLeading(void)   Returns the leading of the font, or 0 if not available */PHP_FUNCTION(swffont_getLeading){	RETURN_DOUBLE(SWFFont_getLeading(getFont(getThis() TSRMLS_CC)));}/* }}} *//* }}} *//* {{{ SWFGradient*/static zend_function_entry swfgradient_functions[] = {	PHP_FALIAS(swfgradient,  swfgradient_init,      NULL)	PHP_FALIAS(addentry,     swfgradient_addEntry,  NULL)	{ NULL, NULL, NULL }};/* {{{ proto class swfgradient_init(void)   Returns a new SWFGradient object */PHP_FUNCTION(swfgradient_init){	SWFGradient gradient = newSWFGradient();	int ret = zend_list_insert(gradient, le_swfgradientp);	object_init_ex(getThis(), &gradient_class_entry);	add_property_resource(getThis(), "gradient", ret);	zend_list_addref(ret);}static void destroy_SWFGradient_resource(zend_rsrc_list_entry *resource TSRMLS_DC){	destroySWFGradient((SWFGradient)resource->ptr);}/* }}} *//* {{{ internal function getGradient   Returns the SWFGradient object contained in zval *id */static SWFGradient getGradient(zval *id TSRMLS_DC){	void *gradient = SWFgetProperty(id, "gradient", 8, le_swfgradientp TSRMLS_CC);	if (!gradient) {		php_error(E_ERROR, "called object is not an SWFGradient!");	}	return (SWFGradient)gradient;}/* }}} *//* {{{ proto void swfgradient_addEntry(float ratio, string r, string g, string b [, string a])   Adds given entry to the gradient */PHP_FUNCTION(swfgradient_addEntry){	zval **ratio, **r, **g, **b;	byte a = 0xff;	if (ZEND_NUM_ARGS() == 4) {		if (zend_get_parameters_ex(4, &ratio, &r, &g, &b) == FAILURE) {			WRONG_PARAM_COUNT;		}	} else if (ZEND_NUM_ARGS() == 5) {		zval **za;		if (zend_get_parameters_ex(5, &ratio, &r, &g, &b, &za) == FAILURE) {			WRONG_PARAM_COUNT;		}		convert_to_long_ex(za);		a = Z_LVAL_PP(za);	} else {		WRONG_PARAM_COUNT;	}	convert_to_double_ex(ratio);	convert_to_long_ex(r);	convert_to_long_ex(g);	convert_to_long_ex(b);	SWFGradient_addEntry( getGradient(getThis() TSRMLS_CC), 		Z_DVAL_PP(ratio), Z_LVAL_PP(r), Z_LVAL_PP(g), Z_LVAL_PP(b), a	);}/* }}} *//* }}} *//* {{{ SWFMorph */static zend_function_entry swfmorph_functions[] = {	PHP_FALIAS(swfmorph,              swfmorph_init,            NULL)	PHP_FALIAS(getshape1,             swfmorph_getShape1,       NULL)	PHP_FALIAS(getshape2,             swfmorph_getShape2,       NULL)	{ NULL, NULL, NULL }};/* {{{ proto object swfmorph_init(void)   Returns a new SWFMorph object */PHP_FUNCTION(swfmorph_init){	SWFMorph morph = newSWFMorphShape();	int ret = zend_list_insert(morph, le_swfmorphp);	object_init_ex(getThis(), &morph_class_entry);	add_property_resource(getThis(), "morph", ret);	zend_list_addref(ret);}static void destroy_SWFMorph_resource(zend_rsrc_list_entry *resource TSRMLS_DC){	destroySWFMorph((SWFMorph)resource->ptr);}/* }}} *//* {{{ internal function getMorph   Returns the SWFMorph object contained in zval *id */static SWFMorph getMorph(zval *id TSRMLS_DC){	void *morph = SWFgetProperty(id, "morph", 5, le_swfmorphp TSRMLS_CC);	if (!morph) {		php_error(E_ERROR, "called object is not an SWFMorph!");	}	return (SWFMorph)morph;}/* }}} *//* {{{ proto object swfmorph_getShape1(void)   Return's this SWFMorph's start shape object */PHP_FUNCTION(swfmorph_getShape1){	SWFMorph morph = getMorph(getThis() TSRMLS_CC);	SWFShape shape = SWFMorph_getShape1(morph);	int ret = zend_list_insert(shape, le_swfshapep);	object_init_ex(return_value, &shape_class_entry);	add_property_resource(return_value, "shape", ret);	zend_list_addref(ret);}/* }}} *//* {{{ proto object swfmorph_getShape2(void)   Return's this SWFMorph's start shape object */PHP_FUNCTION(swfmorph_getShape2){	SWFMorph morph = getMorph(getThis() TSRMLS_CC);	SWFShape shape = SWFMorph_getShape2(morph);	int ret = zend_list_insert(shape, le_swfshapep);	object_init_ex(return_value, &shape_class_entry);	add_property_resource(return_value, "shape", ret);	zend_list_addref(ret);}/* }}} *//* {{{ SWFMovie*/static zend_function_entry swfmovie_functions[] = {	PHP_FALIAS(swfmovie,          swfmovie_init,              NULL)	PHP_FALIAS(nextframe,         swfmovie_nextFrame,         NULL)	PHP_FALIAS(labelframe,        swfmovie_labelFrame,        NULL)	PHP_FALIAS(add,               swfmovie_add,               NULL)	PHP_FALIAS(remove,            swfmovie_remove,            NULL)	PHP_FALIAS(output,            swfmovie_output,            NULL)	PHP_FALIAS(save,              swfmovie_save,              NULL)	PHP_FALIAS(savetofile,        swfmovie_saveToFile,        NULL)	PHP_FALIAS(setbackground,     swfmovie_setBackground,     NULL)	PHP_FALIAS(protect,           swfmovie_Protect,           NULL)	PHP_FALIAS(setrate,           swfmovie_setRate,           NULL)	PHP_FALIAS(setdimension,      swfmovie_setDimension,      NULL)	PHP_FALIAS(setframes,         swfmovie_setFrames,         NULL)	PHP_FALIAS(streammp3,         swfmovie_streamMp3,         NULL)	{ NULL, NULL, NULL }};/* }}} *//* {{{ swfmovie_init*/PHP_FUNCTION(swfmovie_init){	zval **version;	SWFMovie movie;	int ret;	if (ZEND_NUM_ARGS() == 1) {		if (zend_get_parameters_ex(1, &version) == FAILURE) {			WRONG_PARAM_COUNT;		}		convert_to_long_ex(version);		movie = newSWFMovie(Z_LVAL_PP(version));	} else {		movie = newSWFMovie(4); /* default version 4 */	}		ret = zend_list_insert(movie, le_swfmoviep);		object_init_ex(getThis(), &movie_class_entry);	add_property_resource(getThis(), "movie", ret);	zend_list_addref(ret);}static void destroy_SWFMovie_resource(zend_rsrc_list_entry *resource TSRMLS_DC){	destroySWFMovie((SWFMovie)resource->ptr);}/* }}} *//* {{{ getMovie*/static SWFMovie getMovie(zval *id TSRMLS_DC){	void *movie = SWFgetProperty(id, "movie", 5, le_swfmoviep TSRMLS_CC);	if (!movie) {		php_error(E_ERROR, "called object is not an SWFMovie!");	}	return (SWFMovie)movie;}/* }}} *//* {{{ swfmovie_nextframe*/PHP_FUNCTION(swfmovie_nextFrame){	SWFMovie_nextFrame(getMovie(getThis() TSRMLS_CC));}/* }}} *//* {{{ swfmovie_labelframe*/PHP_FUNCTION(swfmovie_labelFrame){	zval **label;	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &label) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_string_ex(label);	SWFMovie_labelFrame(getMovie(getThis() TSRMLS_CC), Z_STRVAL_PP(label));}/* }}} *//* {{{ swfmovie_add*/PHP_FUNCTION(swfmovie_add){	zval **zchar;	int ret;	SWFBlock block;	SWFDisplayItem item;	SWFMovie movie = getMovie(getThis() TSRMLS_CC);	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zchar) == FAILURE) {		WRONG_PARAM_COUNT;	}		convert_to_object_ex(zchar);	/* XXX - SWFMovie_add deals w/ all block types.  Probably will need to add that.. */	if (Z_OBJCE_PP(zchar) == &action_class_entry) {		block = (SWFBlock) getAction(*zchar TSRMLS_CC);	} else {		block = (SWFBlock) getCharacter(*zchar TSRMLS_CC);	}	item = SWFMovie_add(movie, block);	if(item != NULL) {		/* try and create a displayitem object */		ret = zend_list_insert(item, le_swfdisplayitemp);		object_init_ex(return_value, &displayitem_class_entry);		add_property_resource(return_value, "displayitem", ret);	}}/* }}} *//* {{{ swfmovie_remove*/PHP_FUNCTION(swfmovie_remove){	zval **zchar;	SWFDisplayItem item;	SWFMovie movie = getMovie(getThis() TSRMLS_CC);	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zchar) == FAILURE) {		WRONG_PARAM_COUNT;	}	convert_to_object_ex(zchar);	item = getDisplayItem(*zchar TSRMLS_CC);	SWFMovie_remove(movie, item);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -