xref: /PHP-8.2/ext/gd/gd_arginfo.h (revision 411cd045)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: fb5acd027fb0f41de2315b088d2a1e14677c1355 */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0)
5 ZEND_END_ARG_INFO()
6 
7 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imageloadfont, 0, 1, GdFont, MAY_BE_FALSE)
8 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
9 ZEND_END_ARG_INFO()
10 
11 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetstyle, 0, 2, _IS_BOOL, 0)
12 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
13 	ZEND_ARG_TYPE_INFO(0, style, IS_ARRAY, 0)
14 ZEND_END_ARG_INFO()
15 
16 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatetruecolor, 0, 2, GdImage, MAY_BE_FALSE)
17 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
18 	ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
19 ZEND_END_ARG_INFO()
20 
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageistruecolor, 0, 1, _IS_BOOL, 0)
22 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
23 ZEND_END_ARG_INFO()
24 
25 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetruecolortopalette, 0, 3, _IS_BOOL, 0)
26 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
27 	ZEND_ARG_TYPE_INFO(0, dither, _IS_BOOL, 0)
28 	ZEND_ARG_TYPE_INFO(0, num_colors, IS_LONG, 0)
29 ZEND_END_ARG_INFO()
30 
31 #define arginfo_imagepalettetotruecolor arginfo_imageistruecolor
32 
33 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolormatch, 0, 2, _IS_BOOL, 0)
34 	ZEND_ARG_OBJ_INFO(0, image1, GdImage, 0)
35 	ZEND_ARG_OBJ_INFO(0, image2, GdImage, 0)
36 ZEND_END_ARG_INFO()
37 
38 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetthickness, 0, 2, _IS_BOOL, 0)
39 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
40 	ZEND_ARG_TYPE_INFO(0, thickness, IS_LONG, 0)
41 ZEND_END_ARG_INFO()
42 
43 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledellipse, 0, 6, _IS_BOOL, 0)
44 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
45 	ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
46 	ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
47 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
48 	ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
49 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
50 ZEND_END_ARG_INFO()
51 
52 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledarc, 0, 9, _IS_BOOL, 0)
53 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
54 	ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
55 	ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
56 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
57 	ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
58 	ZEND_ARG_TYPE_INFO(0, start_angle, IS_LONG, 0)
59 	ZEND_ARG_TYPE_INFO(0, end_angle, IS_LONG, 0)
60 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
61 	ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
62 ZEND_END_ARG_INFO()
63 
64 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagealphablending, 0, 2, _IS_BOOL, 0)
65 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
66 	ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
67 ZEND_END_ARG_INFO()
68 
69 #define arginfo_imagesavealpha arginfo_imagealphablending
70 
71 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagelayereffect, 0, 2, _IS_BOOL, 0)
72 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
73 	ZEND_ARG_TYPE_INFO(0, effect, IS_LONG, 0)
74 ZEND_END_ARG_INFO()
75 
76 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorallocatealpha, 0, 5, MAY_BE_LONG|MAY_BE_FALSE)
77 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
78 	ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
79 	ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
80 	ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
81 	ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
82 ZEND_END_ARG_INFO()
83 
84 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorresolvealpha, 0, 5, IS_LONG, 0)
85 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
86 	ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
87 	ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
88 	ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
89 	ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
90 ZEND_END_ARG_INFO()
91 
92 #define arginfo_imagecolorclosestalpha arginfo_imagecolorresolvealpha
93 
94 #define arginfo_imagecolorexactalpha arginfo_imagecolorresolvealpha
95 
96 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopyresampled, 0, 10, _IS_BOOL, 0)
97 	ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
98 	ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
99 	ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
100 	ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
101 	ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
102 	ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
103 	ZEND_ARG_TYPE_INFO(0, dst_width, IS_LONG, 0)
104 	ZEND_ARG_TYPE_INFO(0, dst_height, IS_LONG, 0)
105 	ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
106 	ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
107 ZEND_END_ARG_INFO()
108 
109 #if defined(PHP_WIN32)
110 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagegrabwindow, 0, 1, GdImage, MAY_BE_FALSE)
111 	ZEND_ARG_TYPE_INFO(0, handle, IS_LONG, 0)
112 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, client_area, _IS_BOOL, 0, "false")
113 ZEND_END_ARG_INFO()
114 #endif
115 
116 #if defined(PHP_WIN32)
117 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagegrabscreen, 0, 0, GdImage, MAY_BE_FALSE)
118 ZEND_END_ARG_INFO()
119 #endif
120 
121 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagerotate, 0, 3, GdImage, MAY_BE_FALSE)
122 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
123 	ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
124 	ZEND_ARG_TYPE_INFO(0, background_color, IS_LONG, 0)
125 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore_transparent, _IS_BOOL, 0, "false")
126 ZEND_END_ARG_INFO()
127 
128 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesettile, 0, 2, _IS_BOOL, 0)
129 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
130 	ZEND_ARG_OBJ_INFO(0, tile, GdImage, 0)
131 ZEND_END_ARG_INFO()
132 
133 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetbrush, 0, 2, _IS_BOOL, 0)
134 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
135 	ZEND_ARG_OBJ_INFO(0, brush, GdImage, 0)
136 ZEND_END_ARG_INFO()
137 
138 #define arginfo_imagecreate arginfo_imagecreatetruecolor
139 
140 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetypes, 0, 0, IS_LONG, 0)
141 ZEND_END_ARG_INFO()
142 
143 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromstring, 0, 1, GdImage, MAY_BE_FALSE)
144 	ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
145 ZEND_END_ARG_INFO()
146 
147 #if defined(HAVE_GD_AVIF)
148 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromavif, 0, 1, GdImage, MAY_BE_FALSE)
149 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
150 ZEND_END_ARG_INFO()
151 #endif
152 
153 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromgif, 0, 1, GdImage, MAY_BE_FALSE)
154 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
155 ZEND_END_ARG_INFO()
156 
157 #if defined(HAVE_GD_JPG)
158 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromjpeg, 0, 1, GdImage, MAY_BE_FALSE)
159 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
160 ZEND_END_ARG_INFO()
161 #endif
162 
163 #if defined(HAVE_GD_PNG)
164 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefrompng, 0, 1, GdImage, MAY_BE_FALSE)
165 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
166 ZEND_END_ARG_INFO()
167 #endif
168 
169 #if defined(HAVE_GD_WEBP)
170 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromwebp, 0, 1, GdImage, MAY_BE_FALSE)
171 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
172 ZEND_END_ARG_INFO()
173 #endif
174 
175 #define arginfo_imagecreatefromxbm arginfo_imagecreatefromgif
176 
177 #if defined(HAVE_GD_XPM)
178 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromxpm, 0, 1, GdImage, MAY_BE_FALSE)
179 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
180 ZEND_END_ARG_INFO()
181 #endif
182 
183 #define arginfo_imagecreatefromwbmp arginfo_imagecreatefromgif
184 
185 #define arginfo_imagecreatefromgd arginfo_imagecreatefromgif
186 
187 #define arginfo_imagecreatefromgd2 arginfo_imagecreatefromgif
188 
189 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromgd2part, 0, 5, GdImage, MAY_BE_FALSE)
190 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
191 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
192 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
193 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
194 	ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
195 ZEND_END_ARG_INFO()
196 
197 #if defined(HAVE_GD_BMP)
198 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefrombmp, 0, 1, GdImage, MAY_BE_FALSE)
199 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
200 ZEND_END_ARG_INFO()
201 #endif
202 
203 #if defined(HAVE_GD_TGA)
204 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromtga, 0, 1, GdImage, MAY_BE_FALSE)
205 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
206 ZEND_END_ARG_INFO()
207 #endif
208 
209 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagexbm, 0, 2, _IS_BOOL, 0)
210 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
211 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 1)
212 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, foreground_color, IS_LONG, 1, "null")
213 ZEND_END_ARG_INFO()
214 
215 #if defined(HAVE_GD_AVIF)
216 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageavif, 0, 1, _IS_BOOL, 0)
217 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
218 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
219 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
220 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, speed, IS_LONG, 0, "-1")
221 ZEND_END_ARG_INFO()
222 #endif
223 
224 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegif, 0, 1, _IS_BOOL, 0)
225 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
226 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
227 ZEND_END_ARG_INFO()
228 
229 #if defined(HAVE_GD_PNG)
230 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepng, 0, 1, _IS_BOOL, 0)
231 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
232 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
233 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
234 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, filters, IS_LONG, 0, "-1")
235 ZEND_END_ARG_INFO()
236 #endif
237 
238 #if defined(HAVE_GD_WEBP)
239 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewebp, 0, 1, _IS_BOOL, 0)
240 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
241 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
242 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
243 ZEND_END_ARG_INFO()
244 #endif
245 
246 #if defined(HAVE_GD_JPG)
247 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagejpeg, 0, 1, _IS_BOOL, 0)
248 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
249 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
250 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
251 ZEND_END_ARG_INFO()
252 #endif
253 
254 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewbmp, 0, 1, _IS_BOOL, 0)
255 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
256 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
257 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, foreground_color, IS_LONG, 1, "null")
258 ZEND_END_ARG_INFO()
259 
260 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegd, 0, 1, _IS_BOOL, 0)
261 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
262 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, file, IS_STRING, 1, "null")
263 ZEND_END_ARG_INFO()
264 
265 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegd2, 0, 1, _IS_BOOL, 0)
266 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
267 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, file, IS_STRING, 1, "null")
268 	ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
269 	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
270 ZEND_END_ARG_INFO()
271 
272 #if defined(HAVE_GD_BMP)
273 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagebmp, 0, 1, _IS_BOOL, 0)
274 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
275 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
276 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, compressed, _IS_BOOL, 0, "true")
277 ZEND_END_ARG_INFO()
278 #endif
279 
280 #define arginfo_imagedestroy arginfo_imageistruecolor
281 
282 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorallocate, 0, 4, MAY_BE_LONG|MAY_BE_FALSE)
283 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
284 	ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
285 	ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
286 	ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
287 ZEND_END_ARG_INFO()
288 
289 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepalettecopy, 0, 2, IS_VOID, 0)
290 	ZEND_ARG_OBJ_INFO(0, dst, GdImage, 0)
291 	ZEND_ARG_OBJ_INFO(0, src, GdImage, 0)
292 ZEND_END_ARG_INFO()
293 
294 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorat, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
295 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
296 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
297 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
298 ZEND_END_ARG_INFO()
299 
300 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorclosest, 0, 4, IS_LONG, 0)
301 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
302 	ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
303 	ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
304 	ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
305 ZEND_END_ARG_INFO()
306 
307 #define arginfo_imagecolorclosesthwb arginfo_imagecolorclosest
308 
309 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolordeallocate, 0, 2, _IS_BOOL, 0)
310 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
311 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
312 ZEND_END_ARG_INFO()
313 
314 #define arginfo_imagecolorresolve arginfo_imagecolorclosest
315 
316 #define arginfo_imagecolorexact arginfo_imagecolorclosest
317 
318 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorset, 0, 5, IS_FALSE, 1)
319 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
320 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
321 	ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
322 	ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
323 	ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
324 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, alpha, IS_LONG, 0, "0")
325 ZEND_END_ARG_INFO()
326 
327 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorsforindex, 0, 2, IS_ARRAY, 0)
328 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
329 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
330 ZEND_END_ARG_INFO()
331 
332 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegammacorrect, 0, 3, _IS_BOOL, 0)
333 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
334 	ZEND_ARG_TYPE_INFO(0, input_gamma, IS_DOUBLE, 0)
335 	ZEND_ARG_TYPE_INFO(0, output_gamma, IS_DOUBLE, 0)
336 ZEND_END_ARG_INFO()
337 
338 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetpixel, 0, 4, _IS_BOOL, 0)
339 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
340 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
341 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
342 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
343 ZEND_END_ARG_INFO()
344 
345 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageline, 0, 6, _IS_BOOL, 0)
346 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
347 	ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
348 	ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
349 	ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
350 	ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
351 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
352 ZEND_END_ARG_INFO()
353 
354 #define arginfo_imagedashedline arginfo_imageline
355 
356 #define arginfo_imagerectangle arginfo_imageline
357 
358 #define arginfo_imagefilledrectangle arginfo_imageline
359 
360 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagearc, 0, 8, _IS_BOOL, 0)
361 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
362 	ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
363 	ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
364 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
365 	ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
366 	ZEND_ARG_TYPE_INFO(0, start_angle, IS_LONG, 0)
367 	ZEND_ARG_TYPE_INFO(0, end_angle, IS_LONG, 0)
368 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
369 ZEND_END_ARG_INFO()
370 
371 #define arginfo_imageellipse arginfo_imagefilledellipse
372 
373 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilltoborder, 0, 5, _IS_BOOL, 0)
374 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
375 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
376 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
377 	ZEND_ARG_TYPE_INFO(0, border_color, IS_LONG, 0)
378 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
379 ZEND_END_ARG_INFO()
380 
381 #define arginfo_imagefill arginfo_imagesetpixel
382 
383 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorstotal, 0, 1, IS_LONG, 0)
384 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
385 ZEND_END_ARG_INFO()
386 
387 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolortransparent, 0, 1, IS_LONG, 0)
388 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
389 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 1, "null")
390 ZEND_END_ARG_INFO()
391 
392 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageinterlace, 0, 1, _IS_BOOL, 0)
393 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
394 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 1, "null")
395 ZEND_END_ARG_INFO()
396 
397 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepolygon, 0, 3, _IS_BOOL, 0)
398 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
399 	ZEND_ARG_TYPE_INFO(0, points, IS_ARRAY, 0)
400 	ZEND_ARG_TYPE_INFO(0, num_points_or_color, IS_LONG, 0)
401 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 1, "null")
402 ZEND_END_ARG_INFO()
403 
404 #define arginfo_imageopenpolygon arginfo_imagepolygon
405 
406 #define arginfo_imagefilledpolygon arginfo_imagepolygon
407 
408 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefontwidth, 0, 1, IS_LONG, 0)
409 	ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
410 ZEND_END_ARG_INFO()
411 
412 #define arginfo_imagefontheight arginfo_imagefontwidth
413 
414 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagechar, 0, 6, _IS_BOOL, 0)
415 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
416 	ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
417 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
418 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
419 	ZEND_ARG_TYPE_INFO(0, char, IS_STRING, 0)
420 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
421 ZEND_END_ARG_INFO()
422 
423 #define arginfo_imagecharup arginfo_imagechar
424 
425 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagestring, 0, 6, _IS_BOOL, 0)
426 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
427 	ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
428 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
429 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
430 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
431 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
432 ZEND_END_ARG_INFO()
433 
434 #define arginfo_imagestringup arginfo_imagestring
435 
436 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopy, 0, 8, _IS_BOOL, 0)
437 	ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
438 	ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
439 	ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
440 	ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
441 	ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
442 	ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
443 	ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
444 	ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
445 ZEND_END_ARG_INFO()
446 
447 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopymerge, 0, 9, _IS_BOOL, 0)
448 	ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
449 	ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
450 	ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
451 	ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
452 	ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
453 	ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
454 	ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
455 	ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
456 	ZEND_ARG_TYPE_INFO(0, pct, IS_LONG, 0)
457 ZEND_END_ARG_INFO()
458 
459 #define arginfo_imagecopymergegray arginfo_imagecopymerge
460 
461 #define arginfo_imagecopyresized arginfo_imagecopyresampled
462 
463 #define arginfo_imagesx arginfo_imagecolorstotal
464 
465 #define arginfo_imagesy arginfo_imagecolorstotal
466 
467 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetclip, 0, 5, _IS_BOOL, 0)
468 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
469 	ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
470 	ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
471 	ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
472 	ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
473 ZEND_END_ARG_INFO()
474 
475 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegetclip, 0, 1, IS_ARRAY, 0)
476 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
477 ZEND_END_ARG_INFO()
478 
479 #if defined(HAVE_GD_FREETYPE)
480 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageftbbox, 0, 4, MAY_BE_ARRAY|MAY_BE_FALSE)
481 	ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
482 	ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
483 	ZEND_ARG_TYPE_INFO(0, font_filename, IS_STRING, 0)
484 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
485 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
486 ZEND_END_ARG_INFO()
487 #endif
488 
489 #if defined(HAVE_GD_FREETYPE)
490 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagefttext, 0, 8, MAY_BE_ARRAY|MAY_BE_FALSE)
491 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
492 	ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
493 	ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
494 	ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
495 	ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
496 	ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
497 	ZEND_ARG_TYPE_INFO(0, font_filename, IS_STRING, 0)
498 	ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
499 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
500 ZEND_END_ARG_INFO()
501 #endif
502 
503 #if defined(HAVE_GD_FREETYPE)
504 #define arginfo_imagettfbbox arginfo_imageftbbox
505 #endif
506 
507 #if defined(HAVE_GD_FREETYPE)
508 #define arginfo_imagettftext arginfo_imagefttext
509 #endif
510 
511 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilter, 0, 2, _IS_BOOL, 0)
512 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
513 	ZEND_ARG_TYPE_INFO(0, filter, IS_LONG, 0)
514 	ZEND_ARG_VARIADIC_INFO(0, args)
515 ZEND_END_ARG_INFO()
516 
517 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageconvolution, 0, 4, _IS_BOOL, 0)
518 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
519 	ZEND_ARG_TYPE_INFO(0, matrix, IS_ARRAY, 0)
520 	ZEND_ARG_TYPE_INFO(0, divisor, IS_DOUBLE, 0)
521 	ZEND_ARG_TYPE_INFO(0, offset, IS_DOUBLE, 0)
522 ZEND_END_ARG_INFO()
523 
524 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageflip, 0, 2, _IS_BOOL, 0)
525 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
526 	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
527 ZEND_END_ARG_INFO()
528 
529 #define arginfo_imageantialias arginfo_imagealphablending
530 
531 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecrop, 0, 2, GdImage, MAY_BE_FALSE)
532 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
533 	ZEND_ARG_TYPE_INFO(0, rectangle, IS_ARRAY, 0)
534 ZEND_END_ARG_INFO()
535 
536 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecropauto, 0, 1, GdImage, MAY_BE_FALSE)
537 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
538 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "IMG_CROP_DEFAULT")
539 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, threshold, IS_DOUBLE, 0, "0.5")
540 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 0, "-1")
541 ZEND_END_ARG_INFO()
542 
543 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagescale, 0, 2, GdImage, MAY_BE_FALSE)
544 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
545 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
546 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, height, IS_LONG, 0, "-1")
547 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "IMG_BILINEAR_FIXED")
548 ZEND_END_ARG_INFO()
549 
550 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imageaffine, 0, 2, GdImage, MAY_BE_FALSE)
551 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
552 	ZEND_ARG_TYPE_INFO(0, affine, IS_ARRAY, 0)
553 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, clip, IS_ARRAY, 1, "null")
554 ZEND_END_ARG_INFO()
555 
556 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageaffinematrixget, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
557 	ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
558 	ZEND_ARG_INFO(0, options)
559 ZEND_END_ARG_INFO()
560 
561 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageaffinematrixconcat, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
562 	ZEND_ARG_TYPE_INFO(0, matrix1, IS_ARRAY, 0)
563 	ZEND_ARG_TYPE_INFO(0, matrix2, IS_ARRAY, 0)
564 ZEND_END_ARG_INFO()
565 
566 #define arginfo_imagegetinterpolation arginfo_imagecolorstotal
567 
568 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetinterpolation, 0, 1, _IS_BOOL, 0)
569 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
570 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, method, IS_LONG, 0, "IMG_BILINEAR_FIXED")
571 ZEND_END_ARG_INFO()
572 
573 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageresolution, 0, 1, MAY_BE_ARRAY|MAY_BE_BOOL)
574 	ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
575 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, resolution_x, IS_LONG, 1, "null")
576 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, resolution_y, IS_LONG, 1, "null")
577 ZEND_END_ARG_INFO()
578 
579 
580 ZEND_FUNCTION(gd_info);
581 ZEND_FUNCTION(imageloadfont);
582 ZEND_FUNCTION(imagesetstyle);
583 ZEND_FUNCTION(imagecreatetruecolor);
584 ZEND_FUNCTION(imageistruecolor);
585 ZEND_FUNCTION(imagetruecolortopalette);
586 ZEND_FUNCTION(imagepalettetotruecolor);
587 ZEND_FUNCTION(imagecolormatch);
588 ZEND_FUNCTION(imagesetthickness);
589 ZEND_FUNCTION(imagefilledellipse);
590 ZEND_FUNCTION(imagefilledarc);
591 ZEND_FUNCTION(imagealphablending);
592 ZEND_FUNCTION(imagesavealpha);
593 ZEND_FUNCTION(imagelayereffect);
594 ZEND_FUNCTION(imagecolorallocatealpha);
595 ZEND_FUNCTION(imagecolorresolvealpha);
596 ZEND_FUNCTION(imagecolorclosestalpha);
597 ZEND_FUNCTION(imagecolorexactalpha);
598 ZEND_FUNCTION(imagecopyresampled);
599 #if defined(PHP_WIN32)
600 ZEND_FUNCTION(imagegrabwindow);
601 #endif
602 #if defined(PHP_WIN32)
603 ZEND_FUNCTION(imagegrabscreen);
604 #endif
605 ZEND_FUNCTION(imagerotate);
606 ZEND_FUNCTION(imagesettile);
607 ZEND_FUNCTION(imagesetbrush);
608 ZEND_FUNCTION(imagecreate);
609 ZEND_FUNCTION(imagetypes);
610 ZEND_FUNCTION(imagecreatefromstring);
611 #if defined(HAVE_GD_AVIF)
612 ZEND_FUNCTION(imagecreatefromavif);
613 #endif
614 ZEND_FUNCTION(imagecreatefromgif);
615 #if defined(HAVE_GD_JPG)
616 ZEND_FUNCTION(imagecreatefromjpeg);
617 #endif
618 #if defined(HAVE_GD_PNG)
619 ZEND_FUNCTION(imagecreatefrompng);
620 #endif
621 #if defined(HAVE_GD_WEBP)
622 ZEND_FUNCTION(imagecreatefromwebp);
623 #endif
624 ZEND_FUNCTION(imagecreatefromxbm);
625 #if defined(HAVE_GD_XPM)
626 ZEND_FUNCTION(imagecreatefromxpm);
627 #endif
628 ZEND_FUNCTION(imagecreatefromwbmp);
629 ZEND_FUNCTION(imagecreatefromgd);
630 ZEND_FUNCTION(imagecreatefromgd2);
631 ZEND_FUNCTION(imagecreatefromgd2part);
632 #if defined(HAVE_GD_BMP)
633 ZEND_FUNCTION(imagecreatefrombmp);
634 #endif
635 #if defined(HAVE_GD_TGA)
636 ZEND_FUNCTION(imagecreatefromtga);
637 #endif
638 ZEND_FUNCTION(imagexbm);
639 #if defined(HAVE_GD_AVIF)
640 ZEND_FUNCTION(imageavif);
641 #endif
642 ZEND_FUNCTION(imagegif);
643 #if defined(HAVE_GD_PNG)
644 ZEND_FUNCTION(imagepng);
645 #endif
646 #if defined(HAVE_GD_WEBP)
647 ZEND_FUNCTION(imagewebp);
648 #endif
649 #if defined(HAVE_GD_JPG)
650 ZEND_FUNCTION(imagejpeg);
651 #endif
652 ZEND_FUNCTION(imagewbmp);
653 ZEND_FUNCTION(imagegd);
654 ZEND_FUNCTION(imagegd2);
655 #if defined(HAVE_GD_BMP)
656 ZEND_FUNCTION(imagebmp);
657 #endif
658 ZEND_FUNCTION(imagedestroy);
659 ZEND_FUNCTION(imagecolorallocate);
660 ZEND_FUNCTION(imagepalettecopy);
661 ZEND_FUNCTION(imagecolorat);
662 ZEND_FUNCTION(imagecolorclosest);
663 ZEND_FUNCTION(imagecolorclosesthwb);
664 ZEND_FUNCTION(imagecolordeallocate);
665 ZEND_FUNCTION(imagecolorresolve);
666 ZEND_FUNCTION(imagecolorexact);
667 ZEND_FUNCTION(imagecolorset);
668 ZEND_FUNCTION(imagecolorsforindex);
669 ZEND_FUNCTION(imagegammacorrect);
670 ZEND_FUNCTION(imagesetpixel);
671 ZEND_FUNCTION(imageline);
672 ZEND_FUNCTION(imagedashedline);
673 ZEND_FUNCTION(imagerectangle);
674 ZEND_FUNCTION(imagefilledrectangle);
675 ZEND_FUNCTION(imagearc);
676 ZEND_FUNCTION(imageellipse);
677 ZEND_FUNCTION(imagefilltoborder);
678 ZEND_FUNCTION(imagefill);
679 ZEND_FUNCTION(imagecolorstotal);
680 ZEND_FUNCTION(imagecolortransparent);
681 ZEND_FUNCTION(imageinterlace);
682 ZEND_FUNCTION(imagepolygon);
683 ZEND_FUNCTION(imageopenpolygon);
684 ZEND_FUNCTION(imagefilledpolygon);
685 ZEND_FUNCTION(imagefontwidth);
686 ZEND_FUNCTION(imagefontheight);
687 ZEND_FUNCTION(imagechar);
688 ZEND_FUNCTION(imagecharup);
689 ZEND_FUNCTION(imagestring);
690 ZEND_FUNCTION(imagestringup);
691 ZEND_FUNCTION(imagecopy);
692 ZEND_FUNCTION(imagecopymerge);
693 ZEND_FUNCTION(imagecopymergegray);
694 ZEND_FUNCTION(imagecopyresized);
695 ZEND_FUNCTION(imagesx);
696 ZEND_FUNCTION(imagesy);
697 ZEND_FUNCTION(imagesetclip);
698 ZEND_FUNCTION(imagegetclip);
699 #if defined(HAVE_GD_FREETYPE)
700 ZEND_FUNCTION(imageftbbox);
701 #endif
702 #if defined(HAVE_GD_FREETYPE)
703 ZEND_FUNCTION(imagefttext);
704 #endif
705 ZEND_FUNCTION(imagefilter);
706 ZEND_FUNCTION(imageconvolution);
707 ZEND_FUNCTION(imageflip);
708 ZEND_FUNCTION(imageantialias);
709 ZEND_FUNCTION(imagecrop);
710 ZEND_FUNCTION(imagecropauto);
711 ZEND_FUNCTION(imagescale);
712 ZEND_FUNCTION(imageaffine);
713 ZEND_FUNCTION(imageaffinematrixget);
714 ZEND_FUNCTION(imageaffinematrixconcat);
715 ZEND_FUNCTION(imagegetinterpolation);
716 ZEND_FUNCTION(imagesetinterpolation);
717 ZEND_FUNCTION(imageresolution);
718 
719 
720 static const zend_function_entry ext_functions[] = {
721 	ZEND_FE(gd_info, arginfo_gd_info)
722 	ZEND_FE(imageloadfont, arginfo_imageloadfont)
723 	ZEND_FE(imagesetstyle, arginfo_imagesetstyle)
724 	ZEND_FE(imagecreatetruecolor, arginfo_imagecreatetruecolor)
725 	ZEND_FE(imageistruecolor, arginfo_imageistruecolor)
726 	ZEND_FE(imagetruecolortopalette, arginfo_imagetruecolortopalette)
727 	ZEND_FE(imagepalettetotruecolor, arginfo_imagepalettetotruecolor)
728 	ZEND_FE(imagecolormatch, arginfo_imagecolormatch)
729 	ZEND_FE(imagesetthickness, arginfo_imagesetthickness)
730 	ZEND_FE(imagefilledellipse, arginfo_imagefilledellipse)
731 	ZEND_FE(imagefilledarc, arginfo_imagefilledarc)
732 	ZEND_FE(imagealphablending, arginfo_imagealphablending)
733 	ZEND_FE(imagesavealpha, arginfo_imagesavealpha)
734 	ZEND_FE(imagelayereffect, arginfo_imagelayereffect)
735 	ZEND_FE(imagecolorallocatealpha, arginfo_imagecolorallocatealpha)
736 	ZEND_FE(imagecolorresolvealpha, arginfo_imagecolorresolvealpha)
737 	ZEND_FE(imagecolorclosestalpha, arginfo_imagecolorclosestalpha)
738 	ZEND_FE(imagecolorexactalpha, arginfo_imagecolorexactalpha)
739 	ZEND_FE(imagecopyresampled, arginfo_imagecopyresampled)
740 #if defined(PHP_WIN32)
741 	ZEND_FE(imagegrabwindow, arginfo_imagegrabwindow)
742 #endif
743 #if defined(PHP_WIN32)
744 	ZEND_FE(imagegrabscreen, arginfo_imagegrabscreen)
745 #endif
746 	ZEND_FE(imagerotate, arginfo_imagerotate)
747 	ZEND_FE(imagesettile, arginfo_imagesettile)
748 	ZEND_FE(imagesetbrush, arginfo_imagesetbrush)
749 	ZEND_FE(imagecreate, arginfo_imagecreate)
750 	ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(imagetypes, arginfo_imagetypes)
751 	ZEND_FE(imagecreatefromstring, arginfo_imagecreatefromstring)
752 #if defined(HAVE_GD_AVIF)
753 	ZEND_FE(imagecreatefromavif, arginfo_imagecreatefromavif)
754 #endif
755 	ZEND_FE(imagecreatefromgif, arginfo_imagecreatefromgif)
756 #if defined(HAVE_GD_JPG)
757 	ZEND_FE(imagecreatefromjpeg, arginfo_imagecreatefromjpeg)
758 #endif
759 #if defined(HAVE_GD_PNG)
760 	ZEND_FE(imagecreatefrompng, arginfo_imagecreatefrompng)
761 #endif
762 #if defined(HAVE_GD_WEBP)
763 	ZEND_FE(imagecreatefromwebp, arginfo_imagecreatefromwebp)
764 #endif
765 	ZEND_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm)
766 #if defined(HAVE_GD_XPM)
767 	ZEND_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm)
768 #endif
769 	ZEND_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp)
770 	ZEND_FE(imagecreatefromgd, arginfo_imagecreatefromgd)
771 	ZEND_FE(imagecreatefromgd2, arginfo_imagecreatefromgd2)
772 	ZEND_FE(imagecreatefromgd2part, arginfo_imagecreatefromgd2part)
773 #if defined(HAVE_GD_BMP)
774 	ZEND_FE(imagecreatefrombmp, arginfo_imagecreatefrombmp)
775 #endif
776 #if defined(HAVE_GD_TGA)
777 	ZEND_FE(imagecreatefromtga, arginfo_imagecreatefromtga)
778 #endif
779 	ZEND_FE(imagexbm, arginfo_imagexbm)
780 #if defined(HAVE_GD_AVIF)
781 	ZEND_FE(imageavif, arginfo_imageavif)
782 #endif
783 	ZEND_FE(imagegif, arginfo_imagegif)
784 #if defined(HAVE_GD_PNG)
785 	ZEND_FE(imagepng, arginfo_imagepng)
786 #endif
787 #if defined(HAVE_GD_WEBP)
788 	ZEND_FE(imagewebp, arginfo_imagewebp)
789 #endif
790 #if defined(HAVE_GD_JPG)
791 	ZEND_FE(imagejpeg, arginfo_imagejpeg)
792 #endif
793 	ZEND_FE(imagewbmp, arginfo_imagewbmp)
794 	ZEND_FE(imagegd, arginfo_imagegd)
795 	ZEND_FE(imagegd2, arginfo_imagegd2)
796 #if defined(HAVE_GD_BMP)
797 	ZEND_FE(imagebmp, arginfo_imagebmp)
798 #endif
799 	ZEND_FE(imagedestroy, arginfo_imagedestroy)
800 	ZEND_FE(imagecolorallocate, arginfo_imagecolorallocate)
801 	ZEND_FE(imagepalettecopy, arginfo_imagepalettecopy)
802 	ZEND_FE(imagecolorat, arginfo_imagecolorat)
803 	ZEND_FE(imagecolorclosest, arginfo_imagecolorclosest)
804 	ZEND_FE(imagecolorclosesthwb, arginfo_imagecolorclosesthwb)
805 	ZEND_FE(imagecolordeallocate, arginfo_imagecolordeallocate)
806 	ZEND_FE(imagecolorresolve, arginfo_imagecolorresolve)
807 	ZEND_FE(imagecolorexact, arginfo_imagecolorexact)
808 	ZEND_FE(imagecolorset, arginfo_imagecolorset)
809 	ZEND_FE(imagecolorsforindex, arginfo_imagecolorsforindex)
810 	ZEND_FE(imagegammacorrect, arginfo_imagegammacorrect)
811 	ZEND_FE(imagesetpixel, arginfo_imagesetpixel)
812 	ZEND_FE(imageline, arginfo_imageline)
813 	ZEND_FE(imagedashedline, arginfo_imagedashedline)
814 	ZEND_FE(imagerectangle, arginfo_imagerectangle)
815 	ZEND_FE(imagefilledrectangle, arginfo_imagefilledrectangle)
816 	ZEND_FE(imagearc, arginfo_imagearc)
817 	ZEND_FE(imageellipse, arginfo_imageellipse)
818 	ZEND_FE(imagefilltoborder, arginfo_imagefilltoborder)
819 	ZEND_FE(imagefill, arginfo_imagefill)
820 	ZEND_FE(imagecolorstotal, arginfo_imagecolorstotal)
821 	ZEND_FE(imagecolortransparent, arginfo_imagecolortransparent)
822 	ZEND_FE(imageinterlace, arginfo_imageinterlace)
823 	ZEND_FE(imagepolygon, arginfo_imagepolygon)
824 	ZEND_FE(imageopenpolygon, arginfo_imageopenpolygon)
825 	ZEND_FE(imagefilledpolygon, arginfo_imagefilledpolygon)
826 	ZEND_FE(imagefontwidth, arginfo_imagefontwidth)
827 	ZEND_FE(imagefontheight, arginfo_imagefontheight)
828 	ZEND_FE(imagechar, arginfo_imagechar)
829 	ZEND_FE(imagecharup, arginfo_imagecharup)
830 	ZEND_FE(imagestring, arginfo_imagestring)
831 	ZEND_FE(imagestringup, arginfo_imagestringup)
832 	ZEND_FE(imagecopy, arginfo_imagecopy)
833 	ZEND_FE(imagecopymerge, arginfo_imagecopymerge)
834 	ZEND_FE(imagecopymergegray, arginfo_imagecopymergegray)
835 	ZEND_FE(imagecopyresized, arginfo_imagecopyresized)
836 	ZEND_FE(imagesx, arginfo_imagesx)
837 	ZEND_FE(imagesy, arginfo_imagesy)
838 	ZEND_FE(imagesetclip, arginfo_imagesetclip)
839 	ZEND_FE(imagegetclip, arginfo_imagegetclip)
840 #if defined(HAVE_GD_FREETYPE)
841 	ZEND_FE(imageftbbox, arginfo_imageftbbox)
842 #endif
843 #if defined(HAVE_GD_FREETYPE)
844 	ZEND_FE(imagefttext, arginfo_imagefttext)
845 #endif
846 #if defined(HAVE_GD_FREETYPE)
847 	ZEND_FALIAS(imagettfbbox, imageftbbox, arginfo_imagettfbbox)
848 #endif
849 #if defined(HAVE_GD_FREETYPE)
850 	ZEND_FALIAS(imagettftext, imagefttext, arginfo_imagettftext)
851 #endif
852 	ZEND_FE(imagefilter, arginfo_imagefilter)
853 	ZEND_FE(imageconvolution, arginfo_imageconvolution)
854 	ZEND_FE(imageflip, arginfo_imageflip)
855 	ZEND_FE(imageantialias, arginfo_imageantialias)
856 	ZEND_FE(imagecrop, arginfo_imagecrop)
857 	ZEND_FE(imagecropauto, arginfo_imagecropauto)
858 	ZEND_FE(imagescale, arginfo_imagescale)
859 	ZEND_FE(imageaffine, arginfo_imageaffine)
860 	ZEND_FE(imageaffinematrixget, arginfo_imageaffinematrixget)
861 	ZEND_FE(imageaffinematrixconcat, arginfo_imageaffinematrixconcat)
862 	ZEND_FE(imagegetinterpolation, arginfo_imagegetinterpolation)
863 	ZEND_FE(imagesetinterpolation, arginfo_imagesetinterpolation)
864 	ZEND_FE(imageresolution, arginfo_imageresolution)
865 	ZEND_FE_END
866 };
867 
868 
869 static const zend_function_entry class_GdImage_methods[] = {
870 	ZEND_FE_END
871 };
872 
873 
874 static const zend_function_entry class_GdFont_methods[] = {
875 	ZEND_FE_END
876 };
877 
register_gd_symbols(int module_number)878 static void register_gd_symbols(int module_number)
879 {
880 	REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_PERSISTENT);
881 	REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_PERSISTENT);
882 	REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_PERSISTENT);
883 	REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_PERSISTENT);
884 	REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_PERSISTENT);
885 	REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_PERSISTENT);
886 	REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_PERSISTENT);
887 	REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_PERSISTENT);
888 	REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_PERSISTENT);
889 	REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_PERSISTENT);
890 #if defined(gdWebpLossless)
891 	REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_PERSISTENT);
892 #endif
893 	REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_PERSISTENT);
894 	REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_PERSISTENT);
895 	REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_PERSISTENT);
896 	REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_PERSISTENT);
897 	REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_PERSISTENT);
898 	REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_PERSISTENT);
899 	REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_PERSISTENT);
900 	REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_PERSISTENT);
901 	REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_PERSISTENT);
902 	REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_PERSISTENT);
903 	REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_PERSISTENT);
904 	REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_PERSISTENT);
905 	REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_PERSISTENT);
906 	REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_PERSISTENT);
907 	REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_PERSISTENT);
908 	REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_PERSISTENT);
909 	REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_PERSISTENT);
910 	REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_PERSISTENT);
911 	REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_PERSISTENT);
912 #if defined(gdEffectMultiply)
913 	REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_PERSISTENT);
914 #endif
915 	REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_PERSISTENT);
916 	REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_PERSISTENT);
917 	REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_PERSISTENT);
918 	REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_PERSISTENT);
919 	REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_PERSISTENT);
920 	REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_PERSISTENT);
921 	REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_PERSISTENT);
922 	REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_PERSISTENT);
923 	REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_PERSISTENT);
924 	REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_PERSISTENT);
925 	REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_PERSISTENT);
926 	REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_PERSISTENT);
927 	REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_PERSISTENT);
928 	REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_PERSISTENT);
929 	REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_PERSISTENT);
930 	REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_PERSISTENT);
931 	REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_PERSISTENT);
932 	REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_PERSISTENT);
933 	REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_PERSISTENT);
934 	REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_PERSISTENT);
935 	REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_PERSISTENT);
936 	REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_PERSISTENT);
937 	REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_PERSISTENT);
938 	REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_PERSISTENT);
939 	REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_PERSISTENT);
940 	REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_PERSISTENT);
941 	REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_PERSISTENT);
942 	REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_PERSISTENT);
943 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_PERSISTENT);
944 	REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_PERSISTENT);
945 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_PERSISTENT);
946 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_PERSISTENT);
947 	REGISTER_LONG_CONSTANT("GD_BUNDLED", GD_BUNDLED, CONST_PERSISTENT);
948 	REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_PERSISTENT);
949 	REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_PERSISTENT);
950 	REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_PERSISTENT);
951 	REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_PERSISTENT);
952 	REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_PERSISTENT);
953 	REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_PERSISTENT);
954 	REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_PERSISTENT);
955 	REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_PERSISTENT);
956 	REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_PERSISTENT);
957 	REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_PERSISTENT);
958 	REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_PERSISTENT);
959 	REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_PERSISTENT);
960 	REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_PERSISTENT);
961 #if defined(GD_VERSION_STRING)
962 	REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_PERSISTENT);
963 #endif
964 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
965 	REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_PERSISTENT);
966 #endif
967 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
968 	REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_PERSISTENT);
969 #endif
970 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
971 	REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_PERSISTENT);
972 #endif
973 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
974 	REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_PERSISTENT);
975 #endif
976 #if defined(HAVE_GD_PNG)
977 	REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0, CONST_PERSISTENT);
978 #endif
979 #if defined(HAVE_GD_PNG)
980 	REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 8, CONST_PERSISTENT);
981 #endif
982 #if defined(HAVE_GD_PNG)
983 	REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 16, CONST_PERSISTENT);
984 #endif
985 #if defined(HAVE_GD_PNG)
986 	REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 32, CONST_PERSISTENT);
987 #endif
988 #if defined(HAVE_GD_PNG)
989 	REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 64, CONST_PERSISTENT);
990 #endif
991 #if defined(HAVE_GD_PNG)
992 	REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 128, CONST_PERSISTENT);
993 #endif
994 #if defined(HAVE_GD_PNG)
995 	REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 248, CONST_PERSISTENT);
996 #endif
997 }
998 
register_class_GdImage(void)999 static zend_class_entry *register_class_GdImage(void)
1000 {
1001 	zend_class_entry ce, *class_entry;
1002 
1003 	INIT_CLASS_ENTRY(ce, "GdImage", class_GdImage_methods);
1004 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1005 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
1006 
1007 	return class_entry;
1008 }
1009 
register_class_GdFont(void)1010 static zend_class_entry *register_class_GdFont(void)
1011 {
1012 	zend_class_entry ce, *class_entry;
1013 
1014 	INIT_CLASS_ENTRY(ce, "GdFont", class_GdFont_methods);
1015 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1016 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
1017 
1018 	return class_entry;
1019 }
1020