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