From c90a27387e7a3dd420c75786b0144f13dccb3676 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 11 Aug 2019 10:14:51 +0200 Subject: [PATCH] Add GD function stubs --- ext/gd/gd.c | 703 +------------------------------------------- ext/gd/gd.stub.php | 269 +++++++++++++++++ ext/gd/gd_arginfo.h | 577 ++++++++++++++++++++++++++++++++++++ 3 files changed, 847 insertions(+), 702 deletions(-) create mode 100644 ext/gd/gd.stub.php create mode 100644 ext/gd/gd_arginfo.h diff --git a/ext/gd/gd.c b/ext/gd/gd.c index f0137d118b..28762a2684 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -86,6 +86,7 @@ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int, int); #endif #include "gd_ctx.c" +#include "gd_arginfo.h" /* as it is not really public, duplicate declaration here to avoid pointless warnings */ @@ -133,708 +134,6 @@ static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)()); static int _php_image_type(char data[12]); -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO(arginfo_gd_info, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageloadfont, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesetstyle, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, styles) /* ARRAY_INFO(0, styles, 0) */ -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatetruecolor, 0) - ZEND_ARG_INFO(0, x_size) - ZEND_ARG_INFO(0, y_size) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageistruecolor, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagetruecolortopalette, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, ditherFlag) - ZEND_ARG_INFO(0, colorsWanted) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagepalettetotruecolor, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolormatch, 0) - ZEND_ARG_INFO(0, im1) - ZEND_ARG_INFO(0, im2) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesetthickness, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, thickness) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefilledellipse, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, cx) - ZEND_ARG_INFO(0, cy) - ZEND_ARG_INFO(0, w) - ZEND_ARG_INFO(0, h) - ZEND_ARG_INFO(0, color) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefilledarc, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, cx) - ZEND_ARG_INFO(0, cy) - ZEND_ARG_INFO(0, w) - ZEND_ARG_INFO(0, h) - ZEND_ARG_INFO(0, s) - ZEND_ARG_INFO(0, e) - ZEND_ARG_INFO(0, col) - ZEND_ARG_INFO(0, style) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagealphablending, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, blend) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesavealpha, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, save) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagelayereffect, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, effect) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorallocatealpha, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) - ZEND_ARG_INFO(0, alpha) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorresolvealpha, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) - ZEND_ARG_INFO(0, alpha) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorclosestalpha, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) - ZEND_ARG_INFO(0, alpha) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorexactalpha, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) - ZEND_ARG_INFO(0, alpha) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecopyresampled, 0) - ZEND_ARG_INFO(0, dst_im) - ZEND_ARG_INFO(0, src_im) - ZEND_ARG_INFO(0, dst_x) - ZEND_ARG_INFO(0, dst_y) - ZEND_ARG_INFO(0, src_x) - ZEND_ARG_INFO(0, src_y) - ZEND_ARG_INFO(0, dst_w) - ZEND_ARG_INFO(0, dst_h) - ZEND_ARG_INFO(0, src_w) - ZEND_ARG_INFO(0, src_h) -ZEND_END_ARG_INFO() - -#ifdef PHP_WIN32 -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegrabwindow, 0, 0, 1) - ZEND_ARG_INFO(0, handle) - ZEND_ARG_INFO(0, client_area) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagegrabscreen, 0) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagerotate, 0, 0, 3) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, angle) - ZEND_ARG_INFO(0, bgdcolor) - ZEND_ARG_INFO(0, ignoretransparent) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesettile, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, tile) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesetbrush, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, brush) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreate, 0) - ZEND_ARG_INFO(0, x_size) - ZEND_ARG_INFO(0, y_size) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagetypes, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromstring, 0) - ZEND_ARG_INFO(0, image) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromgif, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -#ifdef HAVE_GD_JPG -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromjpeg, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -#ifdef HAVE_GD_PNG -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefrompng, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -#ifdef HAVE_GD_WEBP -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromwebp, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromxbm, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -#if defined(HAVE_GD_XPM) -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromxpm, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromwbmp, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromgd, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromgd2, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromgd2part, 0) - ZEND_ARG_INFO(0, filename) - ZEND_ARG_INFO(0, srcX) - ZEND_ARG_INFO(0, srcY) - ZEND_ARG_INFO(0, width) - ZEND_ARG_INFO(0, height) -ZEND_END_ARG_INFO() - -#if defined(HAVE_GD_BMP) -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefrombmp, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -#if defined(HAVE_GD_TGA) -ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromtga, 0) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagexbm, 0, 0, 2) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, filename) - ZEND_ARG_INFO(0, foreground) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegif, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) -ZEND_END_ARG_INFO() - -#ifdef HAVE_GD_PNG -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagepng, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, quality) - ZEND_ARG_INFO(0, filters) -ZEND_END_ARG_INFO() -#endif - -#ifdef HAVE_GD_WEBP -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagewebp, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, quality) -ZEND_END_ARG_INFO() -#endif - -#ifdef HAVE_GD_JPG -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagejpeg, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, quality) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagewbmp, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, foreground) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegd, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegd2, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, chunk_size) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -#if defined(HAVE_GD_BMP) -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagebmp, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, compressed) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO(arginfo_imagedestroy, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorallocate, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagepalettecopy, 0) - ZEND_ARG_INFO(0, dst) - ZEND_ARG_INFO(0, src) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorat, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorclosest, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorclosesthwb, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolordeallocate, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, index) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorresolve, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorexact, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorset, 0, 0, 5) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, color) - ZEND_ARG_INFO(0, red) - ZEND_ARG_INFO(0, green) - ZEND_ARG_INFO(0, blue) - ZEND_ARG_INFO(0, alpha) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorsforindex, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, index) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagegammacorrect, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, inputgamma) - ZEND_ARG_INFO(0, outputgamma) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesetpixel, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageline, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x1) - ZEND_ARG_INFO(0, y1) - ZEND_ARG_INFO(0, x2) - ZEND_ARG_INFO(0, y2) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagedashedline, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x1) - ZEND_ARG_INFO(0, y1) - ZEND_ARG_INFO(0, x2) - ZEND_ARG_INFO(0, y2) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagerectangle, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x1) - ZEND_ARG_INFO(0, y1) - ZEND_ARG_INFO(0, x2) - ZEND_ARG_INFO(0, y2) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefilledrectangle, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x1) - ZEND_ARG_INFO(0, y1) - ZEND_ARG_INFO(0, x2) - ZEND_ARG_INFO(0, y2) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagearc, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, cx) - ZEND_ARG_INFO(0, cy) - ZEND_ARG_INFO(0, w) - ZEND_ARG_INFO(0, h) - ZEND_ARG_INFO(0, s) - ZEND_ARG_INFO(0, e) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageellipse, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, cx) - ZEND_ARG_INFO(0, cy) - ZEND_ARG_INFO(0, w) - ZEND_ARG_INFO(0, h) - ZEND_ARG_INFO(0, color) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefilltoborder, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, border) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefill, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecolorstotal, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolortransparent, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imageinterlace, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, interlace) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagepolygon, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */ - ZEND_ARG_INFO(0, num_pos) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageopenpolygon, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */ - ZEND_ARG_INFO(0, num_pos) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefilledpolygon, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */ - ZEND_ARG_INFO(0, num_pos) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefontwidth, 0) - ZEND_ARG_INFO(0, font) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagefontheight, 0) - ZEND_ARG_INFO(0, font) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagechar, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, font) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, c) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecharup, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, font) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, c) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagestring, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, font) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagestringup, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, font) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, col) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecopy, 0) - ZEND_ARG_INFO(0, dst_im) - ZEND_ARG_INFO(0, src_im) - ZEND_ARG_INFO(0, dst_x) - ZEND_ARG_INFO(0, dst_y) - ZEND_ARG_INFO(0, src_x) - ZEND_ARG_INFO(0, src_y) - ZEND_ARG_INFO(0, src_w) - ZEND_ARG_INFO(0, src_h) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecopymerge, 0) - ZEND_ARG_INFO(0, src_im) - ZEND_ARG_INFO(0, dst_im) - ZEND_ARG_INFO(0, dst_x) - ZEND_ARG_INFO(0, dst_y) - ZEND_ARG_INFO(0, src_x) - ZEND_ARG_INFO(0, src_y) - ZEND_ARG_INFO(0, src_w) - ZEND_ARG_INFO(0, src_h) - ZEND_ARG_INFO(0, pct) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecopymergegray, 0) - ZEND_ARG_INFO(0, src_im) - ZEND_ARG_INFO(0, dst_im) - ZEND_ARG_INFO(0, dst_x) - ZEND_ARG_INFO(0, dst_y) - ZEND_ARG_INFO(0, src_x) - ZEND_ARG_INFO(0, src_y) - ZEND_ARG_INFO(0, src_w) - ZEND_ARG_INFO(0, src_h) - ZEND_ARG_INFO(0, pct) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecopyresized, 0) - ZEND_ARG_INFO(0, dst_im) - ZEND_ARG_INFO(0, src_im) - ZEND_ARG_INFO(0, dst_x) - ZEND_ARG_INFO(0, dst_y) - ZEND_ARG_INFO(0, src_x) - ZEND_ARG_INFO(0, src_y) - ZEND_ARG_INFO(0, dst_w) - ZEND_ARG_INFO(0, dst_h) - ZEND_ARG_INFO(0, src_w) - ZEND_ARG_INFO(0, src_h) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesx, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesy, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagesetclip, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, x1) - ZEND_ARG_INFO(0, y1) - ZEND_ARG_INFO(0, x2) - ZEND_ARG_INFO(0, y2) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagegetclip, 0) - ZEND_ARG_INFO(0, im) -ZEND_END_ARG_INFO() - -#ifdef HAVE_GD_FREETYPE -ZEND_BEGIN_ARG_INFO_EX(arginfo_imageftbbox, 0, 0, 4) - ZEND_ARG_INFO(0, size) - ZEND_ARG_INFO(0, angle) - ZEND_ARG_INFO(0, font_file) - ZEND_ARG_INFO(0, text) - ZEND_ARG_INFO(0, extrainfo) /* ARRAY_INFO(0, extrainfo, 0) */ -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagefttext, 0, 0, 8) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, size) - ZEND_ARG_INFO(0, angle) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, col) - ZEND_ARG_INFO(0, font_file) - ZEND_ARG_INFO(0, text) - ZEND_ARG_INFO(0, extrainfo) /* ARRAY_INFO(0, extrainfo, 0) */ -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagettfbbox, 0) - ZEND_ARG_INFO(0, size) - ZEND_ARG_INFO(0, angle) - ZEND_ARG_INFO(0, font_file) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagettftext, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, size) - ZEND_ARG_INFO(0, angle) - ZEND_ARG_INFO(0, x) - ZEND_ARG_INFO(0, y) - ZEND_ARG_INFO(0, col) - ZEND_ARG_INFO(0, font_file) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagefilter, 0, 0, 2) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, filtertype) - ZEND_ARG_INFO(0, arg1) - ZEND_ARG_INFO(0, arg2) - ZEND_ARG_INFO(0, arg3) - ZEND_ARG_INFO(0, arg4) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageconvolution, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, matrix3x3) /* ARRAY_INFO(0, matrix3x3, 0) */ - ZEND_ARG_INFO(0, div) - ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageflip, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageantialias, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, on) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imagecrop, 0) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, rect) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecropauto, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, mode) - ZEND_ARG_INFO(0, threshold) - ZEND_ARG_INFO(0, color) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagescale, 0, 0, 2) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, new_width) - ZEND_ARG_INFO(0, new_height) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imageaffine, 0, 0, 2) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, affine) - ZEND_ARG_INFO(0, clip) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imageaffinematrixget, 0, 0, 1) - ZEND_ARG_INFO(0, type) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imageaffinematrixconcat, 0) - ZEND_ARG_INFO(0, m1) - ZEND_ARG_INFO(0, m2) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imagesetinterpolation, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, method) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imageresolution, 0, 0, 1) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, res_x) - ZEND_ARG_INFO(0, res_y) -ZEND_END_ARG_INFO() - -/* }}} */ - /* {{{ gd_functions[] */ static const zend_function_entry gd_functions[] = { diff --git a/ext/gd/gd.stub.php b/ext/gd/gd.stub.php new file mode 100644 index 0000000000..688f8ee622 --- /dev/null +++ b/ext/gd/gd.stub.php @@ -0,0 +1,269 @@ +