xref: /PHP-8.3/ext/gd/gd_arginfo.h (revision b0d8c10f)
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 
579 ZEND_FUNCTION(gd_info);
580 ZEND_FUNCTION(imageloadfont);
581 ZEND_FUNCTION(imagesetstyle);
582 ZEND_FUNCTION(imagecreatetruecolor);
583 ZEND_FUNCTION(imageistruecolor);
584 ZEND_FUNCTION(imagetruecolortopalette);
585 ZEND_FUNCTION(imagepalettetotruecolor);
586 ZEND_FUNCTION(imagecolormatch);
587 ZEND_FUNCTION(imagesetthickness);
588 ZEND_FUNCTION(imagefilledellipse);
589 ZEND_FUNCTION(imagefilledarc);
590 ZEND_FUNCTION(imagealphablending);
591 ZEND_FUNCTION(imagesavealpha);
592 ZEND_FUNCTION(imagelayereffect);
593 ZEND_FUNCTION(imagecolorallocatealpha);
594 ZEND_FUNCTION(imagecolorresolvealpha);
595 ZEND_FUNCTION(imagecolorclosestalpha);
596 ZEND_FUNCTION(imagecolorexactalpha);
597 ZEND_FUNCTION(imagecopyresampled);
598 #if defined(PHP_WIN32)
599 ZEND_FUNCTION(imagegrabwindow);
600 #endif
601 #if defined(PHP_WIN32)
602 ZEND_FUNCTION(imagegrabscreen);
603 #endif
604 ZEND_FUNCTION(imagerotate);
605 ZEND_FUNCTION(imagesettile);
606 ZEND_FUNCTION(imagesetbrush);
607 ZEND_FUNCTION(imagecreate);
608 ZEND_FUNCTION(imagetypes);
609 ZEND_FUNCTION(imagecreatefromstring);
610 #if defined(HAVE_GD_AVIF)
611 ZEND_FUNCTION(imagecreatefromavif);
612 #endif
613 ZEND_FUNCTION(imagecreatefromgif);
614 #if defined(HAVE_GD_JPG)
615 ZEND_FUNCTION(imagecreatefromjpeg);
616 #endif
617 #if defined(HAVE_GD_PNG)
618 ZEND_FUNCTION(imagecreatefrompng);
619 #endif
620 #if defined(HAVE_GD_WEBP)
621 ZEND_FUNCTION(imagecreatefromwebp);
622 #endif
623 ZEND_FUNCTION(imagecreatefromxbm);
624 #if defined(HAVE_GD_XPM)
625 ZEND_FUNCTION(imagecreatefromxpm);
626 #endif
627 ZEND_FUNCTION(imagecreatefromwbmp);
628 ZEND_FUNCTION(imagecreatefromgd);
629 ZEND_FUNCTION(imagecreatefromgd2);
630 ZEND_FUNCTION(imagecreatefromgd2part);
631 #if defined(HAVE_GD_BMP)
632 ZEND_FUNCTION(imagecreatefrombmp);
633 #endif
634 #if defined(HAVE_GD_TGA)
635 ZEND_FUNCTION(imagecreatefromtga);
636 #endif
637 ZEND_FUNCTION(imagexbm);
638 #if defined(HAVE_GD_AVIF)
639 ZEND_FUNCTION(imageavif);
640 #endif
641 ZEND_FUNCTION(imagegif);
642 #if defined(HAVE_GD_PNG)
643 ZEND_FUNCTION(imagepng);
644 #endif
645 #if defined(HAVE_GD_WEBP)
646 ZEND_FUNCTION(imagewebp);
647 #endif
648 #if defined(HAVE_GD_JPG)
649 ZEND_FUNCTION(imagejpeg);
650 #endif
651 ZEND_FUNCTION(imagewbmp);
652 ZEND_FUNCTION(imagegd);
653 ZEND_FUNCTION(imagegd2);
654 #if defined(HAVE_GD_BMP)
655 ZEND_FUNCTION(imagebmp);
656 #endif
657 ZEND_FUNCTION(imagedestroy);
658 ZEND_FUNCTION(imagecolorallocate);
659 ZEND_FUNCTION(imagepalettecopy);
660 ZEND_FUNCTION(imagecolorat);
661 ZEND_FUNCTION(imagecolorclosest);
662 ZEND_FUNCTION(imagecolorclosesthwb);
663 ZEND_FUNCTION(imagecolordeallocate);
664 ZEND_FUNCTION(imagecolorresolve);
665 ZEND_FUNCTION(imagecolorexact);
666 ZEND_FUNCTION(imagecolorset);
667 ZEND_FUNCTION(imagecolorsforindex);
668 ZEND_FUNCTION(imagegammacorrect);
669 ZEND_FUNCTION(imagesetpixel);
670 ZEND_FUNCTION(imageline);
671 ZEND_FUNCTION(imagedashedline);
672 ZEND_FUNCTION(imagerectangle);
673 ZEND_FUNCTION(imagefilledrectangle);
674 ZEND_FUNCTION(imagearc);
675 ZEND_FUNCTION(imageellipse);
676 ZEND_FUNCTION(imagefilltoborder);
677 ZEND_FUNCTION(imagefill);
678 ZEND_FUNCTION(imagecolorstotal);
679 ZEND_FUNCTION(imagecolortransparent);
680 ZEND_FUNCTION(imageinterlace);
681 ZEND_FUNCTION(imagepolygon);
682 ZEND_FUNCTION(imageopenpolygon);
683 ZEND_FUNCTION(imagefilledpolygon);
684 ZEND_FUNCTION(imagefontwidth);
685 ZEND_FUNCTION(imagefontheight);
686 ZEND_FUNCTION(imagechar);
687 ZEND_FUNCTION(imagecharup);
688 ZEND_FUNCTION(imagestring);
689 ZEND_FUNCTION(imagestringup);
690 ZEND_FUNCTION(imagecopy);
691 ZEND_FUNCTION(imagecopymerge);
692 ZEND_FUNCTION(imagecopymergegray);
693 ZEND_FUNCTION(imagecopyresized);
694 ZEND_FUNCTION(imagesx);
695 ZEND_FUNCTION(imagesy);
696 ZEND_FUNCTION(imagesetclip);
697 ZEND_FUNCTION(imagegetclip);
698 #if defined(HAVE_GD_FREETYPE)
699 ZEND_FUNCTION(imageftbbox);
700 #endif
701 #if defined(HAVE_GD_FREETYPE)
702 ZEND_FUNCTION(imagefttext);
703 #endif
704 ZEND_FUNCTION(imagefilter);
705 ZEND_FUNCTION(imageconvolution);
706 ZEND_FUNCTION(imageflip);
707 ZEND_FUNCTION(imageantialias);
708 ZEND_FUNCTION(imagecrop);
709 ZEND_FUNCTION(imagecropauto);
710 ZEND_FUNCTION(imagescale);
711 ZEND_FUNCTION(imageaffine);
712 ZEND_FUNCTION(imageaffinematrixget);
713 ZEND_FUNCTION(imageaffinematrixconcat);
714 ZEND_FUNCTION(imagegetinterpolation);
715 ZEND_FUNCTION(imagesetinterpolation);
716 ZEND_FUNCTION(imageresolution);
717 
718 
719 static const zend_function_entry ext_functions[] = {
720 	ZEND_FE(gd_info, arginfo_gd_info)
721 	ZEND_FE(imageloadfont, arginfo_imageloadfont)
722 	ZEND_FE(imagesetstyle, arginfo_imagesetstyle)
723 	ZEND_FE(imagecreatetruecolor, arginfo_imagecreatetruecolor)
724 	ZEND_FE(imageistruecolor, arginfo_imageistruecolor)
725 	ZEND_FE(imagetruecolortopalette, arginfo_imagetruecolortopalette)
726 	ZEND_FE(imagepalettetotruecolor, arginfo_imagepalettetotruecolor)
727 	ZEND_FE(imagecolormatch, arginfo_imagecolormatch)
728 	ZEND_FE(imagesetthickness, arginfo_imagesetthickness)
729 	ZEND_FE(imagefilledellipse, arginfo_imagefilledellipse)
730 	ZEND_FE(imagefilledarc, arginfo_imagefilledarc)
731 	ZEND_FE(imagealphablending, arginfo_imagealphablending)
732 	ZEND_FE(imagesavealpha, arginfo_imagesavealpha)
733 	ZEND_FE(imagelayereffect, arginfo_imagelayereffect)
734 	ZEND_FE(imagecolorallocatealpha, arginfo_imagecolorallocatealpha)
735 	ZEND_FE(imagecolorresolvealpha, arginfo_imagecolorresolvealpha)
736 	ZEND_FE(imagecolorclosestalpha, arginfo_imagecolorclosestalpha)
737 	ZEND_FE(imagecolorexactalpha, arginfo_imagecolorexactalpha)
738 	ZEND_FE(imagecopyresampled, arginfo_imagecopyresampled)
739 #if defined(PHP_WIN32)
740 	ZEND_FE(imagegrabwindow, arginfo_imagegrabwindow)
741 #endif
742 #if defined(PHP_WIN32)
743 	ZEND_FE(imagegrabscreen, arginfo_imagegrabscreen)
744 #endif
745 	ZEND_FE(imagerotate, arginfo_imagerotate)
746 	ZEND_FE(imagesettile, arginfo_imagesettile)
747 	ZEND_FE(imagesetbrush, arginfo_imagesetbrush)
748 	ZEND_FE(imagecreate, arginfo_imagecreate)
749 	ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(imagetypes, arginfo_imagetypes)
750 	ZEND_FE(imagecreatefromstring, arginfo_imagecreatefromstring)
751 #if defined(HAVE_GD_AVIF)
752 	ZEND_FE(imagecreatefromavif, arginfo_imagecreatefromavif)
753 #endif
754 	ZEND_FE(imagecreatefromgif, arginfo_imagecreatefromgif)
755 #if defined(HAVE_GD_JPG)
756 	ZEND_FE(imagecreatefromjpeg, arginfo_imagecreatefromjpeg)
757 #endif
758 #if defined(HAVE_GD_PNG)
759 	ZEND_FE(imagecreatefrompng, arginfo_imagecreatefrompng)
760 #endif
761 #if defined(HAVE_GD_WEBP)
762 	ZEND_FE(imagecreatefromwebp, arginfo_imagecreatefromwebp)
763 #endif
764 	ZEND_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm)
765 #if defined(HAVE_GD_XPM)
766 	ZEND_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm)
767 #endif
768 	ZEND_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp)
769 	ZEND_FE(imagecreatefromgd, arginfo_imagecreatefromgd)
770 	ZEND_FE(imagecreatefromgd2, arginfo_imagecreatefromgd2)
771 	ZEND_FE(imagecreatefromgd2part, arginfo_imagecreatefromgd2part)
772 #if defined(HAVE_GD_BMP)
773 	ZEND_FE(imagecreatefrombmp, arginfo_imagecreatefrombmp)
774 #endif
775 #if defined(HAVE_GD_TGA)
776 	ZEND_FE(imagecreatefromtga, arginfo_imagecreatefromtga)
777 #endif
778 	ZEND_FE(imagexbm, arginfo_imagexbm)
779 #if defined(HAVE_GD_AVIF)
780 	ZEND_FE(imageavif, arginfo_imageavif)
781 #endif
782 	ZEND_FE(imagegif, arginfo_imagegif)
783 #if defined(HAVE_GD_PNG)
784 	ZEND_FE(imagepng, arginfo_imagepng)
785 #endif
786 #if defined(HAVE_GD_WEBP)
787 	ZEND_FE(imagewebp, arginfo_imagewebp)
788 #endif
789 #if defined(HAVE_GD_JPG)
790 	ZEND_FE(imagejpeg, arginfo_imagejpeg)
791 #endif
792 	ZEND_FE(imagewbmp, arginfo_imagewbmp)
793 	ZEND_FE(imagegd, arginfo_imagegd)
794 	ZEND_FE(imagegd2, arginfo_imagegd2)
795 #if defined(HAVE_GD_BMP)
796 	ZEND_FE(imagebmp, arginfo_imagebmp)
797 #endif
798 	ZEND_FE(imagedestroy, arginfo_imagedestroy)
799 	ZEND_FE(imagecolorallocate, arginfo_imagecolorallocate)
800 	ZEND_FE(imagepalettecopy, arginfo_imagepalettecopy)
801 	ZEND_FE(imagecolorat, arginfo_imagecolorat)
802 	ZEND_FE(imagecolorclosest, arginfo_imagecolorclosest)
803 	ZEND_FE(imagecolorclosesthwb, arginfo_imagecolorclosesthwb)
804 	ZEND_FE(imagecolordeallocate, arginfo_imagecolordeallocate)
805 	ZEND_FE(imagecolorresolve, arginfo_imagecolorresolve)
806 	ZEND_FE(imagecolorexact, arginfo_imagecolorexact)
807 	ZEND_FE(imagecolorset, arginfo_imagecolorset)
808 	ZEND_FE(imagecolorsforindex, arginfo_imagecolorsforindex)
809 	ZEND_FE(imagegammacorrect, arginfo_imagegammacorrect)
810 	ZEND_FE(imagesetpixel, arginfo_imagesetpixel)
811 	ZEND_FE(imageline, arginfo_imageline)
812 	ZEND_FE(imagedashedline, arginfo_imagedashedline)
813 	ZEND_FE(imagerectangle, arginfo_imagerectangle)
814 	ZEND_FE(imagefilledrectangle, arginfo_imagefilledrectangle)
815 	ZEND_FE(imagearc, arginfo_imagearc)
816 	ZEND_FE(imageellipse, arginfo_imageellipse)
817 	ZEND_FE(imagefilltoborder, arginfo_imagefilltoborder)
818 	ZEND_FE(imagefill, arginfo_imagefill)
819 	ZEND_FE(imagecolorstotal, arginfo_imagecolorstotal)
820 	ZEND_FE(imagecolortransparent, arginfo_imagecolortransparent)
821 	ZEND_FE(imageinterlace, arginfo_imageinterlace)
822 	ZEND_FE(imagepolygon, arginfo_imagepolygon)
823 	ZEND_FE(imageopenpolygon, arginfo_imageopenpolygon)
824 	ZEND_FE(imagefilledpolygon, arginfo_imagefilledpolygon)
825 	ZEND_FE(imagefontwidth, arginfo_imagefontwidth)
826 	ZEND_FE(imagefontheight, arginfo_imagefontheight)
827 	ZEND_FE(imagechar, arginfo_imagechar)
828 	ZEND_FE(imagecharup, arginfo_imagecharup)
829 	ZEND_FE(imagestring, arginfo_imagestring)
830 	ZEND_FE(imagestringup, arginfo_imagestringup)
831 	ZEND_FE(imagecopy, arginfo_imagecopy)
832 	ZEND_FE(imagecopymerge, arginfo_imagecopymerge)
833 	ZEND_FE(imagecopymergegray, arginfo_imagecopymergegray)
834 	ZEND_FE(imagecopyresized, arginfo_imagecopyresized)
835 	ZEND_FE(imagesx, arginfo_imagesx)
836 	ZEND_FE(imagesy, arginfo_imagesy)
837 	ZEND_FE(imagesetclip, arginfo_imagesetclip)
838 	ZEND_FE(imagegetclip, arginfo_imagegetclip)
839 #if defined(HAVE_GD_FREETYPE)
840 	ZEND_FE(imageftbbox, arginfo_imageftbbox)
841 #endif
842 #if defined(HAVE_GD_FREETYPE)
843 	ZEND_FE(imagefttext, arginfo_imagefttext)
844 #endif
845 #if defined(HAVE_GD_FREETYPE)
846 	ZEND_FALIAS(imagettfbbox, imageftbbox, arginfo_imagettfbbox)
847 #endif
848 #if defined(HAVE_GD_FREETYPE)
849 	ZEND_FALIAS(imagettftext, imagefttext, arginfo_imagettftext)
850 #endif
851 	ZEND_FE(imagefilter, arginfo_imagefilter)
852 	ZEND_FE(imageconvolution, arginfo_imageconvolution)
853 	ZEND_FE(imageflip, arginfo_imageflip)
854 	ZEND_FE(imageantialias, arginfo_imageantialias)
855 	ZEND_FE(imagecrop, arginfo_imagecrop)
856 	ZEND_FE(imagecropauto, arginfo_imagecropauto)
857 	ZEND_FE(imagescale, arginfo_imagescale)
858 	ZEND_FE(imageaffine, arginfo_imageaffine)
859 	ZEND_FE(imageaffinematrixget, arginfo_imageaffinematrixget)
860 	ZEND_FE(imageaffinematrixconcat, arginfo_imageaffinematrixconcat)
861 	ZEND_FE(imagegetinterpolation, arginfo_imagegetinterpolation)
862 	ZEND_FE(imagesetinterpolation, arginfo_imagesetinterpolation)
863 	ZEND_FE(imageresolution, arginfo_imageresolution)
864 	ZEND_FE_END
865 };
866 
867 
868 static const zend_function_entry class_GdImage_methods[] = {
869 	ZEND_FE_END
870 };
871 
872 
873 static const zend_function_entry class_GdFont_methods[] = {
874 	ZEND_FE_END
875 };
876 
register_gd_symbols(int module_number)877 static void register_gd_symbols(int module_number)
878 {
879 	REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_PERSISTENT);
880 	REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_PERSISTENT);
881 	REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_PERSISTENT);
882 	REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_PERSISTENT);
883 	REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_PERSISTENT);
884 	REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_PERSISTENT);
885 	REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_PERSISTENT);
886 	REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_PERSISTENT);
887 	REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_PERSISTENT);
888 	REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_PERSISTENT);
889 #if defined(gdWebpLossless)
890 	REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_PERSISTENT);
891 #endif
892 	REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_PERSISTENT);
893 	REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_PERSISTENT);
894 	REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_PERSISTENT);
895 	REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_PERSISTENT);
896 	REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_PERSISTENT);
897 	REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_PERSISTENT);
898 	REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_PERSISTENT);
899 	REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_PERSISTENT);
900 	REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_PERSISTENT);
901 	REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_PERSISTENT);
902 	REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_PERSISTENT);
903 	REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_PERSISTENT);
904 	REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_PERSISTENT);
905 	REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_PERSISTENT);
906 	REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_PERSISTENT);
907 	REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_PERSISTENT);
908 	REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_PERSISTENT);
909 	REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_PERSISTENT);
910 	REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_PERSISTENT);
911 #if defined(gdEffectMultiply)
912 	REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_PERSISTENT);
913 #endif
914 	REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_PERSISTENT);
915 	REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_PERSISTENT);
916 	REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_PERSISTENT);
917 	REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_PERSISTENT);
918 	REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_PERSISTENT);
919 	REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_PERSISTENT);
920 	REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_PERSISTENT);
921 	REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_PERSISTENT);
922 	REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_PERSISTENT);
923 	REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_PERSISTENT);
924 	REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_PERSISTENT);
925 	REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_PERSISTENT);
926 	REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_PERSISTENT);
927 	REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_PERSISTENT);
928 	REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_PERSISTENT);
929 	REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_PERSISTENT);
930 	REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_PERSISTENT);
931 	REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_PERSISTENT);
932 	REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_PERSISTENT);
933 	REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_PERSISTENT);
934 	REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_PERSISTENT);
935 	REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_PERSISTENT);
936 	REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_PERSISTENT);
937 	REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_PERSISTENT);
938 	REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_PERSISTENT);
939 	REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_PERSISTENT);
940 	REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_PERSISTENT);
941 	REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_PERSISTENT);
942 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_PERSISTENT);
943 	REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_PERSISTENT);
944 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_PERSISTENT);
945 	REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_PERSISTENT);
946 	REGISTER_LONG_CONSTANT("GD_BUNDLED", GD_BUNDLED, CONST_PERSISTENT);
947 	REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_PERSISTENT);
948 	REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_PERSISTENT);
949 	REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_PERSISTENT);
950 	REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_PERSISTENT);
951 	REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_PERSISTENT);
952 	REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_PERSISTENT);
953 	REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_PERSISTENT);
954 	REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_PERSISTENT);
955 	REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_PERSISTENT);
956 	REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_PERSISTENT);
957 	REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_PERSISTENT);
958 	REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_PERSISTENT);
959 	REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_PERSISTENT);
960 #if defined(GD_VERSION_STRING)
961 	REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_PERSISTENT);
962 #endif
963 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
964 	REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_PERSISTENT);
965 #endif
966 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
967 	REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_PERSISTENT);
968 #endif
969 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
970 	REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_PERSISTENT);
971 #endif
972 #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION))
973 	REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_PERSISTENT);
974 #endif
975 #if defined(HAVE_GD_PNG)
976 	REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0x0, CONST_PERSISTENT);
977 #endif
978 #if defined(HAVE_GD_PNG)
979 	REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 0x8, CONST_PERSISTENT);
980 #endif
981 #if defined(HAVE_GD_PNG)
982 	REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 0x10, CONST_PERSISTENT);
983 #endif
984 #if defined(HAVE_GD_PNG)
985 	REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 0x20, CONST_PERSISTENT);
986 #endif
987 #if defined(HAVE_GD_PNG)
988 	REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 0x40, CONST_PERSISTENT);
989 #endif
990 #if defined(HAVE_GD_PNG)
991 	REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 0x80, CONST_PERSISTENT);
992 #endif
993 #if defined(HAVE_GD_PNG)
994 	REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 0x8 | 0x10 | 0x20 | 0x40 | 0x80, CONST_PERSISTENT);
995 #endif
996 }
997 
register_class_GdImage(void)998 static zend_class_entry *register_class_GdImage(void)
999 {
1000 	zend_class_entry ce, *class_entry;
1001 
1002 	INIT_CLASS_ENTRY(ce, "GdImage", class_GdImage_methods);
1003 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1004 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
1005 
1006 	return class_entry;
1007 }
1008 
register_class_GdFont(void)1009 static zend_class_entry *register_class_GdFont(void)
1010 {
1011 	zend_class_entry ce, *class_entry;
1012 
1013 	INIT_CLASS_ENTRY(ce, "GdFont", class_GdFont_methods);
1014 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1015 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
1016 
1017 	return class_entry;
1018 }
1019