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