Declare ext/gd constants in stubs (#9180)

This commit is contained in:
Máté Kocsis 2022-07-30 15:18:06 +02:00 committed by GitHub
parent 668dbaf6ab
commit 056e968c54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 615 additions and 152 deletions

View file

@ -103,28 +103,6 @@ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int);
pointless warnings */ pointless warnings */
int overflow2(int a, int b); int overflow2(int a, int b);
/* Section Filters Declarations */
/* IMPORTANT NOTE FOR NEW FILTER
* Do not forget to update:
* IMAGE_FILTER_MAX: define the last filter index
* IMAGE_FILTER_MAX_ARGS: define the biggest amount of arguments
* image_filter array in PHP_FUNCTION(imagefilter)
* */
#define IMAGE_FILTER_NEGATE 0
#define IMAGE_FILTER_GRAYSCALE 1
#define IMAGE_FILTER_BRIGHTNESS 2
#define IMAGE_FILTER_CONTRAST 3
#define IMAGE_FILTER_COLORIZE 4
#define IMAGE_FILTER_EDGEDETECT 5
#define IMAGE_FILTER_EMBOSS 6
#define IMAGE_FILTER_GAUSSIAN_BLUR 7
#define IMAGE_FILTER_SELECTIVE_BLUR 8
#define IMAGE_FILTER_MEAN_REMOVAL 9
#define IMAGE_FILTER_SMOOTH 10
#define IMAGE_FILTER_PIXELATE 11
#define IMAGE_FILTER_SCATTER 12
#define IMAGE_FILTER_MAX 12
#define IMAGE_FILTER_MAX_ARGS 6
static void php_image_filter_negate(INTERNAL_FUNCTION_PARAMETERS); static void php_image_filter_negate(INTERNAL_FUNCTION_PARAMETERS);
static void php_image_filter_grayscale(INTERNAL_FUNCTION_PARAMETERS); static void php_image_filter_grayscale(INTERNAL_FUNCTION_PARAMETERS);
static void php_image_filter_brightness(INTERNAL_FUNCTION_PARAMETERS); static void php_image_filter_brightness(INTERNAL_FUNCTION_PARAMETERS);
@ -367,135 +345,7 @@ PHP_MINIT_FUNCTION(gd)
REGISTER_INI_ENTRIES(); REGISTER_INI_ENTRIES();
REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_CS | CONST_PERSISTENT); register_gd_symbols(module_number);
REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_CS | CONST_PERSISTENT);
#ifdef gdWebpLossless
/* constant for webp encoding */
REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_CS | CONST_PERSISTENT);
#endif
/* special colours for gd */
REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_CS | CONST_PERSISTENT);
/* for imagefilledarc */
REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_CS | CONST_PERSISTENT);
/* GD2 image format types */
REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_CS | CONST_PERSISTENT);
#ifdef gdEffectMultiply
REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_CS | CONST_PERSISTENT);
#endif
REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_CS | CONST_PERSISTENT);
#ifdef HAVE_GD_BUNDLED
REGISTER_LONG_CONSTANT("GD_BUNDLED", 1, CONST_CS | CONST_PERSISTENT);
#else
REGISTER_LONG_CONSTANT("GD_BUNDLED", 0, CONST_CS | CONST_PERSISTENT);
#endif
/* Section Filters */
REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_CS | CONST_PERSISTENT);
/* End Section Filters */
#ifdef GD_VERSION_STRING
REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION)
REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_CS | CONST_PERSISTENT);
REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_CS | CONST_PERSISTENT);
#endif
#ifdef HAVE_GD_PNG
/*
* cannot include #include "png.h"
* /usr/include/pngconf.h:310:2: error: #error png.h already includes setjmp.h with some additional fixup.
* as error, use the values for now...
*/
REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0x00, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 0x08, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 0x10, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 0x20, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 0x40, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 0x80, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 0x08 | 0x10 | 0x20 | 0x40 | 0x80, CONST_CS | CONST_PERSISTENT);
#endif
return SUCCESS; return SUCCESS;
} }

View file

@ -2,6 +2,469 @@
/** @generate-class-entries */ /** @generate-class-entries */
/**
* @var int
* @cvalue PHP_IMG_AVIF
*/
const IMG_AVIF = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_GIF
*/
const IMG_GIF = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_JPG
*/
const IMG_JPG = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_JPEG
*/
const IMG_JPEG = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_PNG
*/
const IMG_PNG = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_WBMP
*/
const IMG_WBMP = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_XPM
*/
const IMG_XPM = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_WEBP
*/
const IMG_WEBP = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_BMP
*/
const IMG_BMP = UNKNOWN;
/**
* @var int
* @cvalue PHP_IMG_TGA
*/
const IMG_TGA = UNKNOWN;
/* constant for webp encoding */
#ifdef gdWebpLossless
/**
* @var int
* @cvalue gdWebpLossless
*/
const IMG_WEBP_LOSSLESS = UNKNOWN;
#endif
/* special colours for gd */
/**
* @var int
* @cvalue gdTiled
*/
const IMG_COLOR_TILED = UNKNOWN;
/**
* @var int
* @cvalue gdStyled
*/
const IMG_COLOR_STYLED = UNKNOWN;
/**
* @var int
* @cvalue gdBrushed
*/
const IMG_COLOR_BRUSHED = UNKNOWN;
/**
* @var int
* @cvalue gdStyledBrushed
*/
const IMG_COLOR_STYLEDBRUSHED = UNKNOWN;
/**
* @var int
* @cvalue gdTransparent
*/
const IMG_COLOR_TRANSPARENT = UNKNOWN;
/* for imagefilledarc */
/**
* @var int
* @cvalue gdArc
*/
const IMG_ARC_ROUNDED = UNKNOWN;
/**
* @var int
* @cvalue gdPie
*/
const IMG_ARC_PIE = UNKNOWN;
/**
* @var int
* @cvalue gdChord
*/
const IMG_ARC_CHORD = UNKNOWN;
/**
* @var int
* @cvalue gdNoFill
*/
const IMG_ARC_NOFILL = UNKNOWN;
/**
* @var int
* @cvalue gdEdged
*/
const IMG_ARC_EDGED = UNKNOWN;
/* GD2 image format types */
/**
* @var int
* @cvalue GD2_FMT_RAW
*/
const IMG_GD2_RAW = UNKNOWN;
/**
* @var int
* @cvalue GD2_FMT_COMPRESSED
*/
const IMG_GD2_COMPRESSED = UNKNOWN;
/**
* @var int
* @cvalue PHP_GD_FLIP_HORIZONTAL
*/
const IMG_FLIP_HORIZONTAL = UNKNOWN;
/**
* @var int
* @cvalue PHP_GD_FLIP_VERTICAL
*/
const IMG_FLIP_VERTICAL = UNKNOWN;
/**
* @var int
* @cvalue PHP_GD_FLIP_BOTH
*/
const IMG_FLIP_BOTH = UNKNOWN;
/**
* @var int
* @cvalue gdEffectReplace
*/
const IMG_EFFECT_REPLACE = UNKNOWN;
/**
* @var int
* @cvalue gdEffectAlphaBlend
*/
const IMG_EFFECT_ALPHABLEND = UNKNOWN;
/**
* @var int
* @cvalue gdEffectNormal
*/
const IMG_EFFECT_NORMAL = UNKNOWN;
/**
* @var int
* @cvalue gdEffectOverlay
*/
const IMG_EFFECT_OVERLAY = UNKNOWN;
#ifdef gdEffectMultiply
/**
* @var int
* @cvalue gdEffectMultiply
*/
const IMG_EFFECT_MULTIPLY = UNKNOWN;
#endif
/**
* @var int
* @cvalue GD_CROP_DEFAULT
*/
const IMG_CROP_DEFAULT = UNKNOWN;
/**
* @var int
* @cvalue GD_CROP_TRANSPARENT
*/
const IMG_CROP_TRANSPARENT = UNKNOWN;
/**
* @var int
* @cvalue GD_CROP_BLACK
*/
const IMG_CROP_BLACK = UNKNOWN;
/**
* @var int
* @cvalue GD_CROP_WHITE
*/
const IMG_CROP_WHITE = UNKNOWN;
/**
* @var int
* @cvalue GD_CROP_SIDES
*/
const IMG_CROP_SIDES = UNKNOWN;
/**
* @var int
* @cvalue GD_CROP_THRESHOLD
*/
const IMG_CROP_THRESHOLD = UNKNOWN;
/**
* @var int
* @cvalue GD_BELL
*/
const IMG_BELL = UNKNOWN;
/**
* @var int
* @cvalue GD_BESSEL
*/
const IMG_BESSEL = UNKNOWN;
/**
* @var int
* @cvalue GD_BILINEAR_FIXED
*/
const IMG_BILINEAR_FIXED = UNKNOWN;
/**
* @var int
* @cvalue GD_BICUBIC
*/
const IMG_BICUBIC = UNKNOWN;
/**
* @var int
* @cvalue GD_BICUBIC_FIXED
*/
const IMG_BICUBIC_FIXED = UNKNOWN;
/**
* @var int
* @cvalue GD_BLACKMAN
*/
const IMG_BLACKMAN = UNKNOWN;
/**
* @var int
* @cvalue GD_BOX
*/
const IMG_BOX = UNKNOWN;
/**
* @var int
* @cvalue GD_BSPLINE
*/
const IMG_BSPLINE = UNKNOWN;
/**
* @var int
* @cvalue GD_CATMULLROM
*/
const IMG_CATMULLROM = UNKNOWN;
/**
* @var int
* @cvalue GD_GAUSSIAN
*/
const IMG_GAUSSIAN = UNKNOWN;
/**
* @var int
* @cvalue GD_GENERALIZED_CUBIC
*/
const IMG_GENERALIZED_CUBIC = UNKNOWN;
/**
* @var int
* @cvalue GD_HERMITE
*/
const IMG_HERMITE = UNKNOWN;
/**
* @var int
* @cvalue GD_HAMMING
*/
const IMG_HAMMING = UNKNOWN;
/**
* @var int
* @cvalue GD_HANNING
*/
const IMG_HANNING = UNKNOWN;
/**
* @var int
* @cvalue GD_MITCHELL
*/
const IMG_MITCHELL = UNKNOWN;
/**
* @var int
* @cvalue GD_POWER
*/
const IMG_POWER = UNKNOWN;
/**
* @var int
* @cvalue GD_QUADRATIC
*/
const IMG_QUADRATIC = UNKNOWN;
/**
* @var int
* @cvalue GD_SINC
*/
const IMG_SINC = UNKNOWN;
/**
* @var int
* @cvalue GD_NEAREST_NEIGHBOUR
*/
const IMG_NEAREST_NEIGHBOUR = UNKNOWN;
/**
* @var int
* @cvalue GD_WEIGHTED4
*/
const IMG_WEIGHTED4 = UNKNOWN;
/**
* @var int
* @cvalue GD_TRIANGLE
*/
const IMG_TRIANGLE = UNKNOWN;
/**
* @var int
* @cvalue GD_AFFINE_TRANSLATE
*/
const IMG_AFFINE_TRANSLATE = UNKNOWN;
/**
* @var int
* @cvalue GD_AFFINE_SCALE
*/
const IMG_AFFINE_SCALE = UNKNOWN;
/**
* @var int
* @cvalue GD_AFFINE_ROTATE
*/
const IMG_AFFINE_ROTATE = UNKNOWN;
/**
* @var int
* @cvalue GD_AFFINE_SHEAR_HORIZONTAL
*/
const IMG_AFFINE_SHEAR_HORIZONTAL = UNKNOWN;
/**
* @var int
* @cvalue GD_AFFINE_SHEAR_VERTICAL
*/
const IMG_AFFINE_SHEAR_VERTICAL = UNKNOWN;
/**
* @var int
* @cvalue GD_BUNDLED
*/
const GD_BUNDLED = UNKNOWN;
/* Section Filters */
/**
* @var int
* @cvalue IMAGE_FILTER_NEGATE
*/
const IMG_FILTER_NEGATE = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_GRAYSCALE
*/
const IMG_FILTER_GRAYSCALE = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_BRIGHTNESS
*/
const IMG_FILTER_BRIGHTNESS = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_CONTRAST
*/
const IMG_FILTER_CONTRAST = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_COLORIZE
*/
const IMG_FILTER_COLORIZE = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_EDGEDETECT
*/
const IMG_FILTER_EDGEDETECT = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_GAUSSIAN_BLUR
*/
const IMG_FILTER_GAUSSIAN_BLUR = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_SELECTIVE_BLUR
*/
const IMG_FILTER_SELECTIVE_BLUR = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_EMBOSS
*/
const IMG_FILTER_EMBOSS = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_MEAN_REMOVAL
*/
const IMG_FILTER_MEAN_REMOVAL = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_SMOOTH
*/
const IMG_FILTER_SMOOTH = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_PIXELATE
*/
const IMG_FILTER_PIXELATE = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILTER_SCATTER
*/
const IMG_FILTER_SCATTER = UNKNOWN;
#ifdef GD_VERSION_STRING
/**
* @var string
* @cvalue GD_VERSION_STRING
*/
const GD_VERSION = UNKNOWN;
#endif
#if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
/**
* @var int
* @cvalue GD_MAJOR_VERSION
*/
const GD_MAJOR_VERSION = UNKNOWN;
/**
* @var int
* @cvalue GD_MINOR_VERSION
*/
const GD_MINOR_VERSION = UNKNOWN;
/**
* @var int
* @cvalue GD_RELEASE_VERSION
*/
const GD_RELEASE_VERSION = UNKNOWN;
/**
* @var string
* @cvalue GD_EXTRA_VERSION
*/
const GD_EXTRA_VERSION = UNKNOWN;
#endif
#ifdef HAVE_GD_PNG
/*
* cannot include #include "png.h"
* /usr/include/pngconf.h:310:2: error: #error png.h already includes setjmp.h with some additional fixup.
* as error, use the values for now...
*/
/** @var int */
const PNG_NO_FILTER = 0x00;
/** @var int */
const PNG_FILTER_NONE = 0x08;
/** @var int */
const PNG_FILTER_SUB = 0x10;
/** @var int */
const PNG_FILTER_UP = 0x20;
/** @var int */
const PNG_FILTER_AVG = 0x40;
/** @var int */
const PNG_FILTER_PAETH = 0x80;
/** @var int */
const PNG_ALL_FILTERS = 0x08 | 0x10 | 0x20 | 0x40 | 0x80;
#endif
/** /**
* @strict-properties * @strict-properties
* @not-serializable * @not-serializable

123
ext/gd/gd_arginfo.h generated
View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. /* This is a generated file, edit the .stub.php file instead.
* Stub hash: a60454e502813da9aba42100fdbfd619c8da54d2 */ * Stub hash: 68be83247e5e142879ce1bc4340c1c5b8a8f670a */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0)
ZEND_END_ARG_INFO() ZEND_END_ARG_INFO()
@ -875,6 +875,127 @@ static const zend_function_entry class_GdFont_methods[] = {
ZEND_FE_END ZEND_FE_END
}; };
static void register_gd_symbols(int module_number)
{
REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_CS | CONST_PERSISTENT);
#if defined(gdWebpLossless)
REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_CS | CONST_PERSISTENT);
#endif
REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_CS | CONST_PERSISTENT);
#if defined(gdEffectMultiply)
REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_CS | CONST_PERSISTENT);
#endif
REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GD_BUNDLED", GD_BUNDLED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_CS | CONST_PERSISTENT);
#if defined(GD_VERSION_STRING)
REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_CS | CONST_PERSISTENT);
#endif
#if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_CS | CONST_PERSISTENT);
#endif
#if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_CS | CONST_PERSISTENT);
#endif
#if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_CS | CONST_PERSISTENT);
#endif
#if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 8, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 16, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 32, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 64, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 128, CONST_CS | CONST_PERSISTENT);
#endif
#if defined(HAVE_GD_PNG)
REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 248, CONST_CS | CONST_PERSISTENT);
#endif
}
static zend_class_entry *register_class_GdImage(void) static zend_class_entry *register_class_GdImage(void)
{ {
zend_class_entry ce, *class_entry; zend_class_entry ce, *class_entry;

View file

@ -55,6 +55,35 @@
#define PHP_IMG_TGA 128 #define PHP_IMG_TGA 128
#define PHP_IMG_AVIF 256 #define PHP_IMG_AVIF 256
/* Section Filters Declarations */
/* IMPORTANT NOTE FOR NEW FILTER
* Do not forget to update:
* IMAGE_FILTER_MAX: define the last filter index
* IMAGE_FILTER_MAX_ARGS: define the biggest amount of arguments
* image_filter array in PHP_FUNCTION(imagefilter)
* */
#define IMAGE_FILTER_NEGATE 0
#define IMAGE_FILTER_GRAYSCALE 1
#define IMAGE_FILTER_BRIGHTNESS 2
#define IMAGE_FILTER_CONTRAST 3
#define IMAGE_FILTER_COLORIZE 4
#define IMAGE_FILTER_EDGEDETECT 5
#define IMAGE_FILTER_EMBOSS 6
#define IMAGE_FILTER_GAUSSIAN_BLUR 7
#define IMAGE_FILTER_SELECTIVE_BLUR 8
#define IMAGE_FILTER_MEAN_REMOVAL 9
#define IMAGE_FILTER_SMOOTH 10
#define IMAGE_FILTER_PIXELATE 11
#define IMAGE_FILTER_SCATTER 12
#define IMAGE_FILTER_MAX 12
#define IMAGE_FILTER_MAX_ARGS 6
#ifdef HAVE_GD_BUNDLED
#define GD_BUNDLED 1
#else
#define GD_BUNDLED 0
#endif
#ifdef PHP_WIN32 #ifdef PHP_WIN32
# ifdef PHP_GD_EXPORTS # ifdef PHP_GD_EXPORTS
# define PHP_GD_API __declspec(dllexport) # define PHP_GD_API __declspec(dllexport)