]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorChristoph M. Becker <cmbecker69@gmx.de>
Sun, 11 Aug 2019 14:17:50 +0000 (16:17 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Sun, 11 Aug 2019 14:18:44 +0000 (16:18 +0200)
* PHP-7.4:
  Fix parameter order

1  2 
ext/gd/gd.c
ext/gd/gd.stub.php
ext/gd/gd_arginfo.h

diff --cc ext/gd/gd.c
Simple merge
index 3c57fa1afd5833410265eba8ab4e1ee32f4791e6,0000000000000000000000000000000000000000..fe7f7aa5f0ba4f7fa18d39f2627360bf73434e49
mode 100644,000000..100644
--- /dev/null
@@@ -1,276 -1,0 +1,276 @@@
- function imagecopymerge($src_im, $dst_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct): bool {}
 +<?php
 +
 +function gd_info(): array {}
 +
 +/** @return int|false */
 +function imageloadfont(string $filename) {}
 +
 +function imagesetstyle($im, array $styles): bool {}
 +
 +/** @return resource|false */
 +function imagecreatetruecolor(int $x_size, int $y_size) {}
 +
 +function imageistruecolor($im): bool {}
 +
 +function imagetruecolortopalette($im, bool $ditherFlag, int $colorWanted): bool {}
 +
 +function imagepalettetotruecolor($im): bool {}
 +
 +function imagecolormatch($im1, $im2): bool {}
 +
 +function imagesetthickness($im, int $thickness): bool {}
 +
 +function imagefilledellipse($im, int $cx, int $cy, int $w, int $h, int $color): bool {}
 +
 +function imagefilledarc($im, int $cx, int $cy, int $w, int $h, int $s, int $e, int $col, int $style): bool {}
 +
 +function imagealphablending($im, bool $blend): bool {}
 +
 +function imagesavealpha($im, bool $save): bool {}
 +
 +function imagelayereffect($im, int $effect): bool {}
 +
 +/** @return int|false */
 +function imagecolorallocatealpha($im, int $red, int $green, int $blue, int $alpha) {}
 +
 +/** @return int|false */
 +function imagecolorresolvealpha($im, int $red, int $green, int $blue, int $alpha) {}
 +
 +/** @return int|false */
 +function imagecolorclosestalpha($im, int $red, int $green, int $blue, int $alpha) {}
 +
 +/** @return int|false */
 +function imagecolorexactalpha($im, int $red, int $green, int $blue, int $alpha) {}
 +
 +function imagecopyresampled($dst_im, $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h): bool {}
 +
 +#ifdef PHP_WIN32
 +
 +/** @return resource|false */
 +function imagegrabwindow(int $handle, int $client_area = 0) {}
 +
 +/** @return resource|false */
 +function imagegrabscreen() {}
 +
 +#endif
 +
 +/** @return resource|false */
 +function imagerotate($im, float $angle, int $bgdcolor, int $ignoretransparent = 0) {}
 +
 +function imagesettile($im, $tile): bool {}
 +
 +function imagesetbrush($im, $brush): bool {}
 +
 +/** @return resource|false */
 +function imagecreate(int $x_size, int $y_size) {}
 +
 +function imagetypes(): int {}
 +
 +/** @return resource|false */
 +function imagecreatefromstring(string $image) {}
 +
 +/** @return resource|false */
 +function imagecreatefromgif(string $filename) {}
 +
 +#ifdef HAVE_GD_JPG
 +/** @return resource|false */
 +function imagecreatefromjpeg(string $filename) {}
 +#endif
 +
 +#ifdef HAVE_GD_PNG
 +/** @return resource|false */
 +function imagecreatefrompng(string $filename) {}
 +#endif
 +
 +#ifdef HAVE_GD_WEBP
 +/** @return resource|false */
 +function imagecreatefromwebp(string $filename) {}
 +#endif
 +
 +/** @return resource|false */
 +function imagecreatefromxbm(string $filename) {}
 +
 +#ifdef HAVE_GD_XPM
 +/** @return resource|false */
 +function imagecreatefromxpm(string $filename) {}
 +#endif
 +
 +/** @return resource|false */
 +function imagecreatefromwbmp(string $filename) {}
 +
 +/** @return resource|false */
 +function imagecreatefromgd(string $filename) {}
 +
 +/** @return resource|false */
 +function imagecreatefromgd2(string $filename) {}
 +
 +/** @return resource|false */
 +function imagecreatefromgd2part(string $filename, int $srcX, int $srcY, int $width, int $height) {}
 +
 +#ifdef HAVE_GD_BMP
 +/** @return resource|false */
 +function imagecreatefrombmp(string $filename) {}
 +#endif
 +    
 +#ifdef HAVE_GD_TGA
 +/** @return resource|false */
 +function imagecreatefromtga(string $filename) {}
 +#endif
 +
 +function imagexbm($im, string $filename, int $foreground = UNKNOWN): bool {}
 +
 +function imagegif($im, $to = NULL): bool {}
 +
 +#ifdef HAVE_GD_PNG
 +function imagepng($im, $to = NULL, int $quality = UNKNOWN, int $filters = UNKNOWN): bool {}
 +#endif
 +
 +#ifdef HAVE_GD_WEBP
 +function imagewebp($im, $to = NULL, int $quality = UNKNOWN): bool {}
 +#endif
 +
 +#ifdef HAVE_GD_JPG
 +function imagejpeg($im, $to = NULL, int $quality = UNKNOWN): bool {}
 +#endif
 +
 +function imagewbmp($im, $to = NULL, int $foreground = UNKNOWN): bool {}
 +
 +function imagegd($im, $to = UNKNOWN): bool {}
 +
 +function imagegd2($im, $to = UNKNOWN, int $chunk_size = UNKNOWN, int $type = UNKNOWN): bool {}
 +
 +#ifdef HAVE_GD_BMP
 +function imagebmp($im, $to = NULL, int $compressed = 1): bool {}
 +#endif
 +
 +function imagedestroy($im): bool {}
 +
 +/** @return int|false */
 +function imagecolorallocate($im, int $red, int $green, int $blue) {}
 +
 +function imagepalettecopy($dst, $src): void {}
 +
 +/** @return int|false */
 +function imagecolorat($im, int $x, int $y) {}
 +
 +/** @return int|false */
 +function imagecolorclosest($im, int $red, int $green, int $blue) {}
 +
 +/** @return int|false */
 +function imagecolorclosesthwb($im, int $red, int $green, int $blue) {}
 +
 +function imagecolordeallocate($im, int $index): bool {}
 +
 +/** @return int|false */
 +function imagecolorresolve($im, int $red, int $green, int $blue) {}
 +
 +/** @return int|false */
 +function imagecolorexact($im, int $red, int $green, int $blue) {}
 +
 +/** @return ?false */
 +function imagecolorset($im, int $color, int $red, int $green, int $blue, int $alpha = 0) {}
 +
 +/** @return array|false */
 +function imagecolorsforindex($im, int $index) {}
 +
 +function imagegammacorrect($im, float $inputgamma, float $outputgamma): bool {}
 +
 +function imagesetpixel($im, int $x, int $y, int $col): bool {}
 +
 +function imageline($im, int $x1, int $y1, int $x2, int $y2, int $col): bool {}
 +
 +function imagedashedline($im, int $x1, int $y1, int $x2, int $y2, int $col): bool {}
 +
 +function imagerectangle($im, int $x1, int $y1, int $x2, int $y2, int $col): bool {}
 +
 +function imagefilledrectangle($im, int $x1, int $y1, int $x2, int $y2, int $col): bool {}
 +
 +function imagearc($im, int $cx, int $cy, int $w, int $h, int $s, int $e, int $col): bool {}
 +
 +function imageellipse($im, int $cx, int $cy, int $w, int $h, int $color): bool {}
 +
 +function imagefilltoborder($im, int $x, int $y, int $border, int $col): bool {}
 +
 +function imagefill($im, int $x, int $y, int $col): bool {}
 +
 +function imagecolorstotal($im): int {}
 +
 +function imagecolortransparent($im, int $col = UNKNOWN): ?int {}
 +
 +function imageinterlace($im, int $interlace = UNKNOWN): ?int {}
 +
 +function imagepolygon($im, array $points, int $num_pos, int $col): bool {}
 +
 +function imageopenpolygon($im, array $points, int $num_pos, int $col): bool {}
 +
 +function imagefilledpolygon($im, array $points, int $num_pos, int $col): bool {}
 +
 +function imagefontwidth(int $font): int {}
 +
 +function imagefontheight(int $font): int {}
 +
 +function imagechar($im, int $font, int $x, int $y, string $c, int $col): bool {}
 +
 +function imagecharup($im, int $font, int $x, int $y, string $c, int $col): bool {}
 +
 +function imagestring($im, int $font, int $x, int $y, string $str, int $col): bool {}
 +
 +function imagestringup($im, int $font, int $x, int $y, string $str, int $col): bool {}
 +
 +function imagecopy($dst_im, $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h): bool {}
 +
- function imagecopymergegray($src_im, $dst_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct): bool {}
++function imagecopymerge($dst_im, $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct): bool {}
 +
++function imagecopymergegray($dst_im, $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct): bool {}
 +
 +function imagecopyresized($dst_im, $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h): bool {}
 +
 +function imagesx($im): int {}
 +
 +function imagesy($im): int {}
 +
 +function imagesetclip($im, int $x1, int $x2, int $y1, int $y2): bool {}
 +
 +function imagegetclip($im): array {}
 +
 +#ifdef HAVE_GD_FREETYPE
 +/** @return array|false */
 +function imageftbbox(float $size, float $angle, string $font_file, string $text, array $extrainfo = UNKNOWN) {}
 +
 +function imagefttext($im, float $size, float $angle, int $x, int $y, int $col, string $font_file, string $text, array $extrainfo = UNKNOWN) {}
 +
 +function imagettfbbox(float $size, float $angle, string $font_file, string $text) {}
 +
 +function imagettftext($im, float $size, float $angle, int $x, int $y, int $col, string $font_file, string $text) {}
 +#endif
 +
 +function imagefilter($im, int $filtertype, $arg1 = UNKNOWN, $arg2 = UNKNOWN, $arg3 = UNKNOWN, $arg4 = UNKNOWN): bool {}
 +
 +function imageconvolution($im, array $matrix3x3, float $div, float $offset): bool {}
 +
 +function imageflip($im, int $mode): bool {}
 +
 +function imageantialias($im, bool $on): bool {}
 +
 +/** @return resource|false */
 +function imagecrop($im, array $rect) {}
 +
 +/** @return resource|false */
 +function imagecropauto($im, int $mode = IMG_CROP_DEFAULT, float $threshold = 0.5, int $color = -1) {}
 +
 +/** @return resource|false */
 +function imagescale($im, int $new_width, int $new_height = UNKNOWN, int $mode = IMG_BILINEAR_FIXED) {}
 +
 +/** @return resource|false */
 +function imageaffine($im, array $affine, array $clip = UNKNOWN) {}
 +
 +/** @return array|false */
 +function imageaffinematrixget(int $type, $options = UNKNOWN) {}
 +
 +/** @return array|false */
 +function imageaffinematrixconcat(array $m1, array $m2) {}
 +
 +function imagesetinterpolation($im, int $method = IMG_BILENEAR_FIXED): bool {}
 +
 +/** @return array|true */
 +function imageresolution($im, int $res_x = UNKNOWN, int $res_y = UNKNOWN) {}
index b9c2afec09d70067a356d1b7c45b70f7b4a1fccd,0000000000000000000000000000000000000000..ac3b68a2f01c8e1d3aa2adfc5bd8e8db047aee79
mode 100644,000000..100644
--- /dev/null
@@@ -1,566 -1,0 +1,566 @@@
-       ZEND_ARG_INFO(0, src_im)
 +/* This is a generated file, edit the .stub.php file instead. */
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageloadfont, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetstyle, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, styles, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatetruecolor, 0, 0, 2)
 +      ZEND_ARG_TYPE_INFO(0, x_size, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y_size, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageistruecolor, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetruecolortopalette, 0, 3, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, ditherFlag, _IS_BOOL, 0)
 +      ZEND_ARG_TYPE_INFO(0, colorWanted, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagepalettetotruecolor arginfo_imageistruecolor
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolormatch, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im1)
 +      ZEND_ARG_INFO(0, im2)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetthickness, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, thickness, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledellipse, 0, 6, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, cx, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, cy, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, h, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledarc, 0, 9, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, cx, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, cy, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, h, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, s, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, e, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagealphablending, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, blend, _IS_BOOL, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesavealpha, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, save, _IS_BOOL, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagelayereffect, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, effect, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorallocatealpha, 0, 0, 5)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecolorresolvealpha arginfo_imagecolorallocatealpha
 +
 +#define arginfo_imagecolorclosestalpha arginfo_imagecolorallocatealpha
 +
 +#define arginfo_imagecolorexactalpha arginfo_imagecolorallocatealpha
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopyresampled, 0, 10, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, dst_im)
 +      ZEND_ARG_INFO(0, src_im)
 +      ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, dst_w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, dst_h, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_h, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#if defined(PHP_WIN32)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegrabwindow, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, handle, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, client_area, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(PHP_WIN32)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagegrabscreen, 0, 0, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagerotate, 0, 0, 3)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, bgdcolor, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, ignoretransparent, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesettile, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, tile)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetbrush, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, brush)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecreate arginfo_imagecreatetruecolor
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetypes, 0, 0, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromstring, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, image, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecreatefromgif arginfo_imageloadfont
 +
 +#if defined(HAVE_GD_JPG)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromjpeg, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_PNG)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefrompng, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_WEBP)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromwebp, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#define arginfo_imagecreatefromxbm arginfo_imageloadfont
 +
 +#if defined(HAVE_GD_XPM)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromxpm, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#define arginfo_imagecreatefromwbmp arginfo_imageloadfont
 +
 +#define arginfo_imagecreatefromgd arginfo_imageloadfont
 +
 +#define arginfo_imagecreatefromgd2 arginfo_imageloadfont
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromgd2part, 0, 0, 5)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, srcX, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, srcY, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#if defined(HAVE_GD_BMP)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefrombmp, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_TGA)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecreatefromtga, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagexbm, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, foreground, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegif, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +ZEND_END_ARG_INFO()
 +
 +#if defined(HAVE_GD_PNG)
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepng, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, quality, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, filters, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_WEBP)
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewebp, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, quality, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_JPG)
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagejpeg, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, quality, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewbmp, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, foreground, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagegd arginfo_imagegif
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegd2, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#if defined(HAVE_GD_BMP)
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagebmp, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_INFO(0, to)
 +      ZEND_ARG_TYPE_INFO(0, compressed, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#define arginfo_imagedestroy arginfo_imageistruecolor
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorallocate, 0, 0, 4)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepalettecopy, 0, 2, IS_VOID, 0)
 +      ZEND_ARG_INFO(0, dst)
 +      ZEND_ARG_INFO(0, src)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorat, 0, 0, 3)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecolorclosest arginfo_imagecolorallocate
 +
 +#define arginfo_imagecolorclosesthwb arginfo_imagecolorallocate
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolordeallocate, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecolorresolve arginfo_imagecolorallocate
 +
 +#define arginfo_imagecolorexact arginfo_imagecolorallocate
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorset, 0, 0, 5)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecolorsforindex, 0, 0, 2)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegammacorrect, 0, 3, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, inputgamma, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, outputgamma, IS_DOUBLE, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetpixel, 0, 4, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageline, 0, 6, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagedashedline arginfo_imageline
 +
 +#define arginfo_imagerectangle arginfo_imageline
 +
 +#define arginfo_imagefilledrectangle arginfo_imageline
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagearc, 0, 8, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, cx, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, cy, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, h, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, s, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, e, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imageellipse arginfo_imagefilledellipse
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilltoborder, 0, 5, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, border, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagefill arginfo_imagesetpixel
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorstotal, 0, 1, IS_LONG, 0)
 +      ZEND_ARG_INFO(0, im)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolortransparent, 0, 1, IS_LONG, 1)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageinterlace, 0, 1, IS_LONG, 1)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, interlace, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepolygon, 0, 4, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, points, IS_ARRAY, 0)
 +      ZEND_ARG_TYPE_INFO(0, num_pos, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imageopenpolygon arginfo_imagepolygon
 +
 +#define arginfo_imagefilledpolygon arginfo_imagepolygon
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefontwidth, 0, 1, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, font, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagefontheight arginfo_imagefontwidth
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagechar, 0, 6, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, font, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, c, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecharup arginfo_imagechar
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagestring, 0, 6, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, font, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagestringup arginfo_imagestring
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopy, 0, 8, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, dst_im)
 +      ZEND_ARG_INFO(0, src_im)
 +      ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_h, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopymerge, 0, 9, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, dst_im)
++      ZEND_ARG_INFO(0, src_im)
 +      ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_w, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, src_h, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, pct, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +#define arginfo_imagecopymergegray arginfo_imagecopymerge
 +
 +#define arginfo_imagecopyresized arginfo_imagecopyresampled
 +
 +#define arginfo_imagesx arginfo_imagecolorstotal
 +
 +#define arginfo_imagesy arginfo_imagecolorstotal
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetclip, 0, 5, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegetclip, 0, 1, IS_ARRAY, 0)
 +      ZEND_ARG_INFO(0, im)
 +ZEND_END_ARG_INFO()
 +
 +#if defined(HAVE_GD_FREETYPE)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageftbbox, 0, 0, 4)
 +      ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, font_file, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, extrainfo, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_FREETYPE)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagefttext, 0, 0, 8)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, font_file, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, extrainfo, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_FREETYPE)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagettfbbox, 0, 0, 4)
 +      ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, font_file, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +#if defined(HAVE_GD_FREETYPE)
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagettftext, 0, 0, 8)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, col, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, font_file, IS_STRING, 0)
 +      ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
 +ZEND_END_ARG_INFO()
 +#endif
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilter, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, filtertype, IS_LONG, 0)
 +      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_WITH_RETURN_TYPE_INFO_EX(arginfo_imageconvolution, 0, 4, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, matrix3x3, IS_ARRAY, 0)
 +      ZEND_ARG_TYPE_INFO(0, div, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, offset, IS_DOUBLE, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageflip, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageantialias, 0, 2, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, on, _IS_BOOL, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecrop, 0, 0, 2)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, rect, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagecropauto, 0, 0, 1)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, threshold, IS_DOUBLE, 0)
 +      ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imagescale, 0, 0, 2)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, new_width, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, new_height, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageaffine, 0, 0, 2)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, affine, IS_ARRAY, 0)
 +      ZEND_ARG_TYPE_INFO(0, clip, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageaffinematrixget, 0, 0, 1)
 +      ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
 +      ZEND_ARG_INFO(0, options)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageaffinematrixconcat, 0, 0, 2)
 +      ZEND_ARG_TYPE_INFO(0, m1, IS_ARRAY, 0)
 +      ZEND_ARG_TYPE_INFO(0, m2, IS_ARRAY, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetinterpolation, 0, 1, _IS_BOOL, 0)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0)
 +ZEND_END_ARG_INFO()
 +
 +ZEND_BEGIN_ARG_INFO_EX(arginfo_imageresolution, 0, 0, 1)
 +      ZEND_ARG_INFO(0, im)
 +      ZEND_ARG_TYPE_INFO(0, res_x, IS_LONG, 0)
 +      ZEND_ARG_TYPE_INFO(0, res_y, IS_LONG, 0)
 +ZEND_END_ARG_INFO()