gd_arginfo.h 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898
  1. /* This is a generated file, edit the .stub.php file instead.
  2. * Stub hash: 4de3d369fad259705acc5bf5de0e935b7e142ec7 */
  3. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0)
  4. ZEND_END_ARG_INFO()
  5. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imageloadfont, 0, 1, GdFont, MAY_BE_FALSE)
  6. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  7. ZEND_END_ARG_INFO()
  8. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetstyle, 0, 2, _IS_BOOL, 0)
  9. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  10. ZEND_ARG_TYPE_INFO(0, style, IS_ARRAY, 0)
  11. ZEND_END_ARG_INFO()
  12. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatetruecolor, 0, 2, GdImage, MAY_BE_FALSE)
  13. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  14. ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
  15. ZEND_END_ARG_INFO()
  16. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageistruecolor, 0, 1, _IS_BOOL, 0)
  17. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  18. ZEND_END_ARG_INFO()
  19. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetruecolortopalette, 0, 3, _IS_BOOL, 0)
  20. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  21. ZEND_ARG_TYPE_INFO(0, dither, _IS_BOOL, 0)
  22. ZEND_ARG_TYPE_INFO(0, num_colors, IS_LONG, 0)
  23. ZEND_END_ARG_INFO()
  24. #define arginfo_imagepalettetotruecolor arginfo_imageistruecolor
  25. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolormatch, 0, 2, _IS_BOOL, 0)
  26. ZEND_ARG_OBJ_INFO(0, image1, GdImage, 0)
  27. ZEND_ARG_OBJ_INFO(0, image2, GdImage, 0)
  28. ZEND_END_ARG_INFO()
  29. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetthickness, 0, 2, _IS_BOOL, 0)
  30. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  31. ZEND_ARG_TYPE_INFO(0, thickness, IS_LONG, 0)
  32. ZEND_END_ARG_INFO()
  33. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledellipse, 0, 6, _IS_BOOL, 0)
  34. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  35. ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
  36. ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
  37. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  38. ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
  39. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  40. ZEND_END_ARG_INFO()
  41. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilledarc, 0, 9, _IS_BOOL, 0)
  42. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  43. ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
  44. ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
  45. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  46. ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
  47. ZEND_ARG_TYPE_INFO(0, start_angle, IS_LONG, 0)
  48. ZEND_ARG_TYPE_INFO(0, end_angle, IS_LONG, 0)
  49. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  50. ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
  51. ZEND_END_ARG_INFO()
  52. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagealphablending, 0, 2, _IS_BOOL, 0)
  53. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  54. ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
  55. ZEND_END_ARG_INFO()
  56. #define arginfo_imagesavealpha arginfo_imagealphablending
  57. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagelayereffect, 0, 2, _IS_BOOL, 0)
  58. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  59. ZEND_ARG_TYPE_INFO(0, effect, IS_LONG, 0)
  60. ZEND_END_ARG_INFO()
  61. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorallocatealpha, 0, 5, MAY_BE_LONG|MAY_BE_FALSE)
  62. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  63. ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
  64. ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
  65. ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
  66. ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
  67. ZEND_END_ARG_INFO()
  68. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorresolvealpha, 0, 5, IS_LONG, 0)
  69. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  70. ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
  71. ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
  72. ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
  73. ZEND_ARG_TYPE_INFO(0, alpha, IS_LONG, 0)
  74. ZEND_END_ARG_INFO()
  75. #define arginfo_imagecolorclosestalpha arginfo_imagecolorresolvealpha
  76. #define arginfo_imagecolorexactalpha arginfo_imagecolorresolvealpha
  77. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopyresampled, 0, 10, _IS_BOOL, 0)
  78. ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
  79. ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
  80. ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
  81. ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
  82. ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
  83. ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
  84. ZEND_ARG_TYPE_INFO(0, dst_width, IS_LONG, 0)
  85. ZEND_ARG_TYPE_INFO(0, dst_height, IS_LONG, 0)
  86. ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
  87. ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
  88. ZEND_END_ARG_INFO()
  89. #if defined(PHP_WIN32)
  90. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagegrabwindow, 0, 1, GdImage, MAY_BE_FALSE)
  91. ZEND_ARG_TYPE_INFO(0, handle, IS_LONG, 0)
  92. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, client_area, _IS_BOOL, 0, "false")
  93. ZEND_END_ARG_INFO()
  94. #endif
  95. #if defined(PHP_WIN32)
  96. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagegrabscreen, 0, 0, GdImage, MAY_BE_FALSE)
  97. ZEND_END_ARG_INFO()
  98. #endif
  99. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagerotate, 0, 3, GdImage, MAY_BE_FALSE)
  100. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  101. ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
  102. ZEND_ARG_TYPE_INFO(0, background_color, IS_LONG, 0)
  103. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore_transparent, _IS_BOOL, 0, "false")
  104. ZEND_END_ARG_INFO()
  105. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesettile, 0, 2, _IS_BOOL, 0)
  106. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  107. ZEND_ARG_OBJ_INFO(0, tile, GdImage, 0)
  108. ZEND_END_ARG_INFO()
  109. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetbrush, 0, 2, _IS_BOOL, 0)
  110. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  111. ZEND_ARG_OBJ_INFO(0, brush, GdImage, 0)
  112. ZEND_END_ARG_INFO()
  113. #define arginfo_imagecreate arginfo_imagecreatetruecolor
  114. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagetypes, 0, 0, IS_LONG, 0)
  115. ZEND_END_ARG_INFO()
  116. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromstring, 0, 1, GdImage, MAY_BE_FALSE)
  117. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  118. ZEND_END_ARG_INFO()
  119. #if defined(HAVE_GD_AVIF)
  120. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromavif, 0, 1, GdImage, MAY_BE_FALSE)
  121. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  122. ZEND_END_ARG_INFO()
  123. #endif
  124. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromgif, 0, 1, GdImage, MAY_BE_FALSE)
  125. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  126. ZEND_END_ARG_INFO()
  127. #if defined(HAVE_GD_JPG)
  128. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromjpeg, 0, 1, GdImage, MAY_BE_FALSE)
  129. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  130. ZEND_END_ARG_INFO()
  131. #endif
  132. #if defined(HAVE_GD_PNG)
  133. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefrompng, 0, 1, GdImage, MAY_BE_FALSE)
  134. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  135. ZEND_END_ARG_INFO()
  136. #endif
  137. #if defined(HAVE_GD_WEBP)
  138. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromwebp, 0, 1, GdImage, MAY_BE_FALSE)
  139. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  140. ZEND_END_ARG_INFO()
  141. #endif
  142. #define arginfo_imagecreatefromxbm arginfo_imagecreatefromgif
  143. #if defined(HAVE_GD_XPM)
  144. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromxpm, 0, 1, GdImage, MAY_BE_FALSE)
  145. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  146. ZEND_END_ARG_INFO()
  147. #endif
  148. #define arginfo_imagecreatefromwbmp arginfo_imagecreatefromgif
  149. #define arginfo_imagecreatefromgd arginfo_imagecreatefromgif
  150. #define arginfo_imagecreatefromgd2 arginfo_imagecreatefromgif
  151. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromgd2part, 0, 5, GdImage, MAY_BE_FALSE)
  152. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  153. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  154. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  155. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  156. ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
  157. ZEND_END_ARG_INFO()
  158. #if defined(HAVE_GD_BMP)
  159. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefrombmp, 0, 1, GdImage, MAY_BE_FALSE)
  160. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  161. ZEND_END_ARG_INFO()
  162. #endif
  163. #if defined(HAVE_GD_TGA)
  164. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecreatefromtga, 0, 1, GdImage, MAY_BE_FALSE)
  165. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
  166. ZEND_END_ARG_INFO()
  167. #endif
  168. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagexbm, 0, 2, _IS_BOOL, 0)
  169. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  170. ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 1)
  171. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, foreground_color, IS_LONG, 1, "null")
  172. ZEND_END_ARG_INFO()
  173. #if defined(HAVE_GD_AVIF)
  174. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageavif, 0, 1, _IS_BOOL, 0)
  175. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  176. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  177. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
  178. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, speed, IS_LONG, 0, "-1")
  179. ZEND_END_ARG_INFO()
  180. #endif
  181. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegif, 0, 1, _IS_BOOL, 0)
  182. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  183. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  184. ZEND_END_ARG_INFO()
  185. #if defined(HAVE_GD_PNG)
  186. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepng, 0, 1, _IS_BOOL, 0)
  187. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  188. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  189. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
  190. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, filters, IS_LONG, 0, "-1")
  191. ZEND_END_ARG_INFO()
  192. #endif
  193. #if defined(HAVE_GD_WEBP)
  194. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewebp, 0, 1, _IS_BOOL, 0)
  195. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  196. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  197. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
  198. ZEND_END_ARG_INFO()
  199. #endif
  200. #if defined(HAVE_GD_JPG)
  201. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagejpeg, 0, 1, _IS_BOOL, 0)
  202. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  203. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  204. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, quality, IS_LONG, 0, "-1")
  205. ZEND_END_ARG_INFO()
  206. #endif
  207. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagewbmp, 0, 1, _IS_BOOL, 0)
  208. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  209. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, file, "null")
  210. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, foreground_color, IS_LONG, 1, "null")
  211. ZEND_END_ARG_INFO()
  212. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegd, 0, 1, _IS_BOOL, 0)
  213. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  214. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, file, IS_STRING, 1, "null")
  215. ZEND_END_ARG_INFO()
  216. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegd2, 0, 1, _IS_BOOL, 0)
  217. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  218. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, file, IS_STRING, 1, "null")
  219. ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
  220. ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
  221. ZEND_END_ARG_INFO()
  222. #if defined(HAVE_GD_BMP)
  223. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagebmp, 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_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, compressed, _IS_BOOL, 0, "true")
  227. ZEND_END_ARG_INFO()
  228. #endif
  229. #define arginfo_imagedestroy arginfo_imageistruecolor
  230. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorallocate, 0, 4, MAY_BE_LONG|MAY_BE_FALSE)
  231. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  232. ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
  233. ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
  234. ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
  235. ZEND_END_ARG_INFO()
  236. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepalettecopy, 0, 2, IS_VOID, 0)
  237. ZEND_ARG_OBJ_INFO(0, dst, GdImage, 0)
  238. ZEND_ARG_OBJ_INFO(0, src, GdImage, 0)
  239. ZEND_END_ARG_INFO()
  240. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagecolorat, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
  241. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  242. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  243. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  244. ZEND_END_ARG_INFO()
  245. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorclosest, 0, 4, IS_LONG, 0)
  246. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  247. ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
  248. ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
  249. ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
  250. ZEND_END_ARG_INFO()
  251. #define arginfo_imagecolorclosesthwb arginfo_imagecolorclosest
  252. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolordeallocate, 0, 2, _IS_BOOL, 0)
  253. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  254. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  255. ZEND_END_ARG_INFO()
  256. #define arginfo_imagecolorresolve arginfo_imagecolorclosest
  257. #define arginfo_imagecolorexact arginfo_imagecolorclosest
  258. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorset, 0, 5, _IS_BOOL, 1)
  259. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  260. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  261. ZEND_ARG_TYPE_INFO(0, red, IS_LONG, 0)
  262. ZEND_ARG_TYPE_INFO(0, green, IS_LONG, 0)
  263. ZEND_ARG_TYPE_INFO(0, blue, IS_LONG, 0)
  264. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, alpha, IS_LONG, 0, "0")
  265. ZEND_END_ARG_INFO()
  266. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorsforindex, 0, 2, IS_ARRAY, 0)
  267. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  268. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  269. ZEND_END_ARG_INFO()
  270. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegammacorrect, 0, 3, _IS_BOOL, 0)
  271. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  272. ZEND_ARG_TYPE_INFO(0, input_gamma, IS_DOUBLE, 0)
  273. ZEND_ARG_TYPE_INFO(0, output_gamma, IS_DOUBLE, 0)
  274. ZEND_END_ARG_INFO()
  275. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetpixel, 0, 4, _IS_BOOL, 0)
  276. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  277. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  278. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  279. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  280. ZEND_END_ARG_INFO()
  281. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageline, 0, 6, _IS_BOOL, 0)
  282. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  283. ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
  284. ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
  285. ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
  286. ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
  287. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  288. ZEND_END_ARG_INFO()
  289. #define arginfo_imagedashedline arginfo_imageline
  290. #define arginfo_imagerectangle arginfo_imageline
  291. #define arginfo_imagefilledrectangle arginfo_imageline
  292. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagearc, 0, 8, _IS_BOOL, 0)
  293. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  294. ZEND_ARG_TYPE_INFO(0, center_x, IS_LONG, 0)
  295. ZEND_ARG_TYPE_INFO(0, center_y, IS_LONG, 0)
  296. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  297. ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 0)
  298. ZEND_ARG_TYPE_INFO(0, start_angle, IS_LONG, 0)
  299. ZEND_ARG_TYPE_INFO(0, end_angle, IS_LONG, 0)
  300. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  301. ZEND_END_ARG_INFO()
  302. #define arginfo_imageellipse arginfo_imagefilledellipse
  303. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilltoborder, 0, 5, _IS_BOOL, 0)
  304. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  305. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  306. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  307. ZEND_ARG_TYPE_INFO(0, border_color, IS_LONG, 0)
  308. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  309. ZEND_END_ARG_INFO()
  310. #define arginfo_imagefill arginfo_imagesetpixel
  311. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolorstotal, 0, 1, IS_LONG, 0)
  312. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  313. ZEND_END_ARG_INFO()
  314. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecolortransparent, 0, 1, IS_LONG, 0)
  315. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  316. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 1, "null")
  317. ZEND_END_ARG_INFO()
  318. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageinterlace, 0, 1, _IS_BOOL, 0)
  319. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  320. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 1, "null")
  321. ZEND_END_ARG_INFO()
  322. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagepolygon, 0, 3, _IS_BOOL, 0)
  323. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  324. ZEND_ARG_TYPE_INFO(0, points, IS_ARRAY, 0)
  325. ZEND_ARG_TYPE_INFO(0, num_points_or_color, IS_LONG, 0)
  326. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 1, "null")
  327. ZEND_END_ARG_INFO()
  328. #define arginfo_imageopenpolygon arginfo_imagepolygon
  329. #define arginfo_imagefilledpolygon arginfo_imagepolygon
  330. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefontwidth, 0, 1, IS_LONG, 0)
  331. ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
  332. ZEND_END_ARG_INFO()
  333. #define arginfo_imagefontheight arginfo_imagefontwidth
  334. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagechar, 0, 6, _IS_BOOL, 0)
  335. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  336. ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
  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, char, IS_STRING, 0)
  340. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  341. ZEND_END_ARG_INFO()
  342. #define arginfo_imagecharup arginfo_imagechar
  343. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagestring, 0, 6, _IS_BOOL, 0)
  344. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  345. ZEND_ARG_OBJ_TYPE_MASK(0, font, GdFont, MAY_BE_LONG, NULL)
  346. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  347. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  348. ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
  349. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  350. ZEND_END_ARG_INFO()
  351. #define arginfo_imagestringup arginfo_imagestring
  352. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopy, 0, 8, _IS_BOOL, 0)
  353. ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
  354. ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
  355. ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
  356. ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
  357. ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
  358. ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
  359. ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
  360. ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
  361. ZEND_END_ARG_INFO()
  362. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagecopymerge, 0, 9, _IS_BOOL, 0)
  363. ZEND_ARG_OBJ_INFO(0, dst_image, GdImage, 0)
  364. ZEND_ARG_OBJ_INFO(0, src_image, GdImage, 0)
  365. ZEND_ARG_TYPE_INFO(0, dst_x, IS_LONG, 0)
  366. ZEND_ARG_TYPE_INFO(0, dst_y, IS_LONG, 0)
  367. ZEND_ARG_TYPE_INFO(0, src_x, IS_LONG, 0)
  368. ZEND_ARG_TYPE_INFO(0, src_y, IS_LONG, 0)
  369. ZEND_ARG_TYPE_INFO(0, src_width, IS_LONG, 0)
  370. ZEND_ARG_TYPE_INFO(0, src_height, IS_LONG, 0)
  371. ZEND_ARG_TYPE_INFO(0, pct, IS_LONG, 0)
  372. ZEND_END_ARG_INFO()
  373. #define arginfo_imagecopymergegray arginfo_imagecopymerge
  374. #define arginfo_imagecopyresized arginfo_imagecopyresampled
  375. #define arginfo_imagesx arginfo_imagecolorstotal
  376. #define arginfo_imagesy arginfo_imagecolorstotal
  377. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetclip, 0, 5, _IS_BOOL, 0)
  378. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  379. ZEND_ARG_TYPE_INFO(0, x1, IS_LONG, 0)
  380. ZEND_ARG_TYPE_INFO(0, y1, IS_LONG, 0)
  381. ZEND_ARG_TYPE_INFO(0, x2, IS_LONG, 0)
  382. ZEND_ARG_TYPE_INFO(0, y2, IS_LONG, 0)
  383. ZEND_END_ARG_INFO()
  384. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagegetclip, 0, 1, IS_ARRAY, 0)
  385. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  386. ZEND_END_ARG_INFO()
  387. #if defined(HAVE_GD_FREETYPE)
  388. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageftbbox, 0, 4, MAY_BE_ARRAY|MAY_BE_FALSE)
  389. ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
  390. ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
  391. ZEND_ARG_TYPE_INFO(0, font_filename, IS_STRING, 0)
  392. ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
  393. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
  394. ZEND_END_ARG_INFO()
  395. #endif
  396. #if defined(HAVE_GD_FREETYPE)
  397. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imagefttext, 0, 8, MAY_BE_ARRAY|MAY_BE_FALSE)
  398. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  399. ZEND_ARG_TYPE_INFO(0, size, IS_DOUBLE, 0)
  400. ZEND_ARG_TYPE_INFO(0, angle, IS_DOUBLE, 0)
  401. ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0)
  402. ZEND_ARG_TYPE_INFO(0, y, IS_LONG, 0)
  403. ZEND_ARG_TYPE_INFO(0, color, IS_LONG, 0)
  404. ZEND_ARG_TYPE_INFO(0, font_filename, IS_STRING, 0)
  405. ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0)
  406. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
  407. ZEND_END_ARG_INFO()
  408. #endif
  409. #if defined(HAVE_GD_FREETYPE)
  410. #define arginfo_imagettfbbox arginfo_imageftbbox
  411. #endif
  412. #if defined(HAVE_GD_FREETYPE)
  413. #define arginfo_imagettftext arginfo_imagefttext
  414. #endif
  415. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagefilter, 0, 2, _IS_BOOL, 0)
  416. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  417. ZEND_ARG_TYPE_INFO(0, filter, IS_LONG, 0)
  418. ZEND_ARG_VARIADIC_INFO(0, args)
  419. ZEND_END_ARG_INFO()
  420. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageconvolution, 0, 4, _IS_BOOL, 0)
  421. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  422. ZEND_ARG_TYPE_INFO(0, matrix, IS_ARRAY, 0)
  423. ZEND_ARG_TYPE_INFO(0, divisor, IS_DOUBLE, 0)
  424. ZEND_ARG_TYPE_INFO(0, offset, IS_DOUBLE, 0)
  425. ZEND_END_ARG_INFO()
  426. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imageflip, 0, 2, _IS_BOOL, 0)
  427. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  428. ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
  429. ZEND_END_ARG_INFO()
  430. #define arginfo_imageantialias arginfo_imagealphablending
  431. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecrop, 0, 2, GdImage, MAY_BE_FALSE)
  432. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  433. ZEND_ARG_TYPE_INFO(0, rectangle, IS_ARRAY, 0)
  434. ZEND_END_ARG_INFO()
  435. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagecropauto, 0, 1, GdImage, MAY_BE_FALSE)
  436. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  437. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "IMG_CROP_DEFAULT")
  438. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, threshold, IS_DOUBLE, 0, "0.5")
  439. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, color, IS_LONG, 0, "-1")
  440. ZEND_END_ARG_INFO()
  441. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imagescale, 0, 2, GdImage, MAY_BE_FALSE)
  442. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  443. ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
  444. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, height, IS_LONG, 0, "-1")
  445. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "IMG_BILINEAR_FIXED")
  446. ZEND_END_ARG_INFO()
  447. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imageaffine, 0, 2, GdImage, MAY_BE_FALSE)
  448. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  449. ZEND_ARG_TYPE_INFO(0, affine, IS_ARRAY, 0)
  450. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, clip, IS_ARRAY, 1, "null")
  451. ZEND_END_ARG_INFO()
  452. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageaffinematrixget, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
  453. ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
  454. ZEND_ARG_INFO(0, options)
  455. ZEND_END_ARG_INFO()
  456. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageaffinematrixconcat, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
  457. ZEND_ARG_TYPE_INFO(0, matrix1, IS_ARRAY, 0)
  458. ZEND_ARG_TYPE_INFO(0, matrix2, IS_ARRAY, 0)
  459. ZEND_END_ARG_INFO()
  460. #define arginfo_imagegetinterpolation arginfo_imagecolorstotal
  461. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imagesetinterpolation, 0, 1, _IS_BOOL, 0)
  462. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  463. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, method, IS_LONG, 0, "IMG_BILINEAR_FIXED")
  464. ZEND_END_ARG_INFO()
  465. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageresolution, 0, 1, MAY_BE_ARRAY|MAY_BE_BOOL)
  466. ZEND_ARG_OBJ_INFO(0, image, GdImage, 0)
  467. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, resolution_x, IS_LONG, 1, "null")
  468. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, resolution_y, IS_LONG, 1, "null")
  469. ZEND_END_ARG_INFO()
  470. ZEND_FUNCTION(gd_info);
  471. ZEND_FUNCTION(imageloadfont);
  472. ZEND_FUNCTION(imagesetstyle);
  473. ZEND_FUNCTION(imagecreatetruecolor);
  474. ZEND_FUNCTION(imageistruecolor);
  475. ZEND_FUNCTION(imagetruecolortopalette);
  476. ZEND_FUNCTION(imagepalettetotruecolor);
  477. ZEND_FUNCTION(imagecolormatch);
  478. ZEND_FUNCTION(imagesetthickness);
  479. ZEND_FUNCTION(imagefilledellipse);
  480. ZEND_FUNCTION(imagefilledarc);
  481. ZEND_FUNCTION(imagealphablending);
  482. ZEND_FUNCTION(imagesavealpha);
  483. ZEND_FUNCTION(imagelayereffect);
  484. ZEND_FUNCTION(imagecolorallocatealpha);
  485. ZEND_FUNCTION(imagecolorresolvealpha);
  486. ZEND_FUNCTION(imagecolorclosestalpha);
  487. ZEND_FUNCTION(imagecolorexactalpha);
  488. ZEND_FUNCTION(imagecopyresampled);
  489. #if defined(PHP_WIN32)
  490. ZEND_FUNCTION(imagegrabwindow);
  491. #endif
  492. #if defined(PHP_WIN32)
  493. ZEND_FUNCTION(imagegrabscreen);
  494. #endif
  495. ZEND_FUNCTION(imagerotate);
  496. ZEND_FUNCTION(imagesettile);
  497. ZEND_FUNCTION(imagesetbrush);
  498. ZEND_FUNCTION(imagecreate);
  499. ZEND_FUNCTION(imagetypes);
  500. ZEND_FUNCTION(imagecreatefromstring);
  501. #if defined(HAVE_GD_AVIF)
  502. ZEND_FUNCTION(imagecreatefromavif);
  503. #endif
  504. ZEND_FUNCTION(imagecreatefromgif);
  505. #if defined(HAVE_GD_JPG)
  506. ZEND_FUNCTION(imagecreatefromjpeg);
  507. #endif
  508. #if defined(HAVE_GD_PNG)
  509. ZEND_FUNCTION(imagecreatefrompng);
  510. #endif
  511. #if defined(HAVE_GD_WEBP)
  512. ZEND_FUNCTION(imagecreatefromwebp);
  513. #endif
  514. ZEND_FUNCTION(imagecreatefromxbm);
  515. #if defined(HAVE_GD_XPM)
  516. ZEND_FUNCTION(imagecreatefromxpm);
  517. #endif
  518. ZEND_FUNCTION(imagecreatefromwbmp);
  519. ZEND_FUNCTION(imagecreatefromgd);
  520. ZEND_FUNCTION(imagecreatefromgd2);
  521. ZEND_FUNCTION(imagecreatefromgd2part);
  522. #if defined(HAVE_GD_BMP)
  523. ZEND_FUNCTION(imagecreatefrombmp);
  524. #endif
  525. #if defined(HAVE_GD_TGA)
  526. ZEND_FUNCTION(imagecreatefromtga);
  527. #endif
  528. ZEND_FUNCTION(imagexbm);
  529. #if defined(HAVE_GD_AVIF)
  530. ZEND_FUNCTION(imageavif);
  531. #endif
  532. ZEND_FUNCTION(imagegif);
  533. #if defined(HAVE_GD_PNG)
  534. ZEND_FUNCTION(imagepng);
  535. #endif
  536. #if defined(HAVE_GD_WEBP)
  537. ZEND_FUNCTION(imagewebp);
  538. #endif
  539. #if defined(HAVE_GD_JPG)
  540. ZEND_FUNCTION(imagejpeg);
  541. #endif
  542. ZEND_FUNCTION(imagewbmp);
  543. ZEND_FUNCTION(imagegd);
  544. ZEND_FUNCTION(imagegd2);
  545. #if defined(HAVE_GD_BMP)
  546. ZEND_FUNCTION(imagebmp);
  547. #endif
  548. ZEND_FUNCTION(imagedestroy);
  549. ZEND_FUNCTION(imagecolorallocate);
  550. ZEND_FUNCTION(imagepalettecopy);
  551. ZEND_FUNCTION(imagecolorat);
  552. ZEND_FUNCTION(imagecolorclosest);
  553. ZEND_FUNCTION(imagecolorclosesthwb);
  554. ZEND_FUNCTION(imagecolordeallocate);
  555. ZEND_FUNCTION(imagecolorresolve);
  556. ZEND_FUNCTION(imagecolorexact);
  557. ZEND_FUNCTION(imagecolorset);
  558. ZEND_FUNCTION(imagecolorsforindex);
  559. ZEND_FUNCTION(imagegammacorrect);
  560. ZEND_FUNCTION(imagesetpixel);
  561. ZEND_FUNCTION(imageline);
  562. ZEND_FUNCTION(imagedashedline);
  563. ZEND_FUNCTION(imagerectangle);
  564. ZEND_FUNCTION(imagefilledrectangle);
  565. ZEND_FUNCTION(imagearc);
  566. ZEND_FUNCTION(imageellipse);
  567. ZEND_FUNCTION(imagefilltoborder);
  568. ZEND_FUNCTION(imagefill);
  569. ZEND_FUNCTION(imagecolorstotal);
  570. ZEND_FUNCTION(imagecolortransparent);
  571. ZEND_FUNCTION(imageinterlace);
  572. ZEND_FUNCTION(imagepolygon);
  573. ZEND_FUNCTION(imageopenpolygon);
  574. ZEND_FUNCTION(imagefilledpolygon);
  575. ZEND_FUNCTION(imagefontwidth);
  576. ZEND_FUNCTION(imagefontheight);
  577. ZEND_FUNCTION(imagechar);
  578. ZEND_FUNCTION(imagecharup);
  579. ZEND_FUNCTION(imagestring);
  580. ZEND_FUNCTION(imagestringup);
  581. ZEND_FUNCTION(imagecopy);
  582. ZEND_FUNCTION(imagecopymerge);
  583. ZEND_FUNCTION(imagecopymergegray);
  584. ZEND_FUNCTION(imagecopyresized);
  585. ZEND_FUNCTION(imagesx);
  586. ZEND_FUNCTION(imagesy);
  587. ZEND_FUNCTION(imagesetclip);
  588. ZEND_FUNCTION(imagegetclip);
  589. #if defined(HAVE_GD_FREETYPE)
  590. ZEND_FUNCTION(imageftbbox);
  591. #endif
  592. #if defined(HAVE_GD_FREETYPE)
  593. ZEND_FUNCTION(imagefttext);
  594. #endif
  595. ZEND_FUNCTION(imagefilter);
  596. ZEND_FUNCTION(imageconvolution);
  597. ZEND_FUNCTION(imageflip);
  598. ZEND_FUNCTION(imageantialias);
  599. ZEND_FUNCTION(imagecrop);
  600. ZEND_FUNCTION(imagecropauto);
  601. ZEND_FUNCTION(imagescale);
  602. ZEND_FUNCTION(imageaffine);
  603. ZEND_FUNCTION(imageaffinematrixget);
  604. ZEND_FUNCTION(imageaffinematrixconcat);
  605. ZEND_FUNCTION(imagegetinterpolation);
  606. ZEND_FUNCTION(imagesetinterpolation);
  607. ZEND_FUNCTION(imageresolution);
  608. static const zend_function_entry ext_functions[] = {
  609. ZEND_FE(gd_info, arginfo_gd_info)
  610. ZEND_FE(imageloadfont, arginfo_imageloadfont)
  611. ZEND_FE(imagesetstyle, arginfo_imagesetstyle)
  612. ZEND_FE(imagecreatetruecolor, arginfo_imagecreatetruecolor)
  613. ZEND_FE(imageistruecolor, arginfo_imageistruecolor)
  614. ZEND_FE(imagetruecolortopalette, arginfo_imagetruecolortopalette)
  615. ZEND_FE(imagepalettetotruecolor, arginfo_imagepalettetotruecolor)
  616. ZEND_FE(imagecolormatch, arginfo_imagecolormatch)
  617. ZEND_FE(imagesetthickness, arginfo_imagesetthickness)
  618. ZEND_FE(imagefilledellipse, arginfo_imagefilledellipse)
  619. ZEND_FE(imagefilledarc, arginfo_imagefilledarc)
  620. ZEND_FE(imagealphablending, arginfo_imagealphablending)
  621. ZEND_FE(imagesavealpha, arginfo_imagesavealpha)
  622. ZEND_FE(imagelayereffect, arginfo_imagelayereffect)
  623. ZEND_FE(imagecolorallocatealpha, arginfo_imagecolorallocatealpha)
  624. ZEND_FE(imagecolorresolvealpha, arginfo_imagecolorresolvealpha)
  625. ZEND_FE(imagecolorclosestalpha, arginfo_imagecolorclosestalpha)
  626. ZEND_FE(imagecolorexactalpha, arginfo_imagecolorexactalpha)
  627. ZEND_FE(imagecopyresampled, arginfo_imagecopyresampled)
  628. #if defined(PHP_WIN32)
  629. ZEND_FE(imagegrabwindow, arginfo_imagegrabwindow)
  630. #endif
  631. #if defined(PHP_WIN32)
  632. ZEND_FE(imagegrabscreen, arginfo_imagegrabscreen)
  633. #endif
  634. ZEND_FE(imagerotate, arginfo_imagerotate)
  635. ZEND_FE(imagesettile, arginfo_imagesettile)
  636. ZEND_FE(imagesetbrush, arginfo_imagesetbrush)
  637. ZEND_FE(imagecreate, arginfo_imagecreate)
  638. ZEND_FE(imagetypes, arginfo_imagetypes)
  639. ZEND_FE(imagecreatefromstring, arginfo_imagecreatefromstring)
  640. #if defined(HAVE_GD_AVIF)
  641. ZEND_FE(imagecreatefromavif, arginfo_imagecreatefromavif)
  642. #endif
  643. ZEND_FE(imagecreatefromgif, arginfo_imagecreatefromgif)
  644. #if defined(HAVE_GD_JPG)
  645. ZEND_FE(imagecreatefromjpeg, arginfo_imagecreatefromjpeg)
  646. #endif
  647. #if defined(HAVE_GD_PNG)
  648. ZEND_FE(imagecreatefrompng, arginfo_imagecreatefrompng)
  649. #endif
  650. #if defined(HAVE_GD_WEBP)
  651. ZEND_FE(imagecreatefromwebp, arginfo_imagecreatefromwebp)
  652. #endif
  653. ZEND_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm)
  654. #if defined(HAVE_GD_XPM)
  655. ZEND_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm)
  656. #endif
  657. ZEND_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp)
  658. ZEND_FE(imagecreatefromgd, arginfo_imagecreatefromgd)
  659. ZEND_FE(imagecreatefromgd2, arginfo_imagecreatefromgd2)
  660. ZEND_FE(imagecreatefromgd2part, arginfo_imagecreatefromgd2part)
  661. #if defined(HAVE_GD_BMP)
  662. ZEND_FE(imagecreatefrombmp, arginfo_imagecreatefrombmp)
  663. #endif
  664. #if defined(HAVE_GD_TGA)
  665. ZEND_FE(imagecreatefromtga, arginfo_imagecreatefromtga)
  666. #endif
  667. ZEND_FE(imagexbm, arginfo_imagexbm)
  668. #if defined(HAVE_GD_AVIF)
  669. ZEND_FE(imageavif, arginfo_imageavif)
  670. #endif
  671. ZEND_FE(imagegif, arginfo_imagegif)
  672. #if defined(HAVE_GD_PNG)
  673. ZEND_FE(imagepng, arginfo_imagepng)
  674. #endif
  675. #if defined(HAVE_GD_WEBP)
  676. ZEND_FE(imagewebp, arginfo_imagewebp)
  677. #endif
  678. #if defined(HAVE_GD_JPG)
  679. ZEND_FE(imagejpeg, arginfo_imagejpeg)
  680. #endif
  681. ZEND_FE(imagewbmp, arginfo_imagewbmp)
  682. ZEND_FE(imagegd, arginfo_imagegd)
  683. ZEND_FE(imagegd2, arginfo_imagegd2)
  684. #if defined(HAVE_GD_BMP)
  685. ZEND_FE(imagebmp, arginfo_imagebmp)
  686. #endif
  687. ZEND_FE(imagedestroy, arginfo_imagedestroy)
  688. ZEND_FE(imagecolorallocate, arginfo_imagecolorallocate)
  689. ZEND_FE(imagepalettecopy, arginfo_imagepalettecopy)
  690. ZEND_FE(imagecolorat, arginfo_imagecolorat)
  691. ZEND_FE(imagecolorclosest, arginfo_imagecolorclosest)
  692. ZEND_FE(imagecolorclosesthwb, arginfo_imagecolorclosesthwb)
  693. ZEND_FE(imagecolordeallocate, arginfo_imagecolordeallocate)
  694. ZEND_FE(imagecolorresolve, arginfo_imagecolorresolve)
  695. ZEND_FE(imagecolorexact, arginfo_imagecolorexact)
  696. ZEND_FE(imagecolorset, arginfo_imagecolorset)
  697. ZEND_FE(imagecolorsforindex, arginfo_imagecolorsforindex)
  698. ZEND_FE(imagegammacorrect, arginfo_imagegammacorrect)
  699. ZEND_FE(imagesetpixel, arginfo_imagesetpixel)
  700. ZEND_FE(imageline, arginfo_imageline)
  701. ZEND_FE(imagedashedline, arginfo_imagedashedline)
  702. ZEND_FE(imagerectangle, arginfo_imagerectangle)
  703. ZEND_FE(imagefilledrectangle, arginfo_imagefilledrectangle)
  704. ZEND_FE(imagearc, arginfo_imagearc)
  705. ZEND_FE(imageellipse, arginfo_imageellipse)
  706. ZEND_FE(imagefilltoborder, arginfo_imagefilltoborder)
  707. ZEND_FE(imagefill, arginfo_imagefill)
  708. ZEND_FE(imagecolorstotal, arginfo_imagecolorstotal)
  709. ZEND_FE(imagecolortransparent, arginfo_imagecolortransparent)
  710. ZEND_FE(imageinterlace, arginfo_imageinterlace)
  711. ZEND_FE(imagepolygon, arginfo_imagepolygon)
  712. ZEND_FE(imageopenpolygon, arginfo_imageopenpolygon)
  713. ZEND_FE(imagefilledpolygon, arginfo_imagefilledpolygon)
  714. ZEND_FE(imagefontwidth, arginfo_imagefontwidth)
  715. ZEND_FE(imagefontheight, arginfo_imagefontheight)
  716. ZEND_FE(imagechar, arginfo_imagechar)
  717. ZEND_FE(imagecharup, arginfo_imagecharup)
  718. ZEND_FE(imagestring, arginfo_imagestring)
  719. ZEND_FE(imagestringup, arginfo_imagestringup)
  720. ZEND_FE(imagecopy, arginfo_imagecopy)
  721. ZEND_FE(imagecopymerge, arginfo_imagecopymerge)
  722. ZEND_FE(imagecopymergegray, arginfo_imagecopymergegray)
  723. ZEND_FE(imagecopyresized, arginfo_imagecopyresized)
  724. ZEND_FE(imagesx, arginfo_imagesx)
  725. ZEND_FE(imagesy, arginfo_imagesy)
  726. ZEND_FE(imagesetclip, arginfo_imagesetclip)
  727. ZEND_FE(imagegetclip, arginfo_imagegetclip)
  728. #if defined(HAVE_GD_FREETYPE)
  729. ZEND_FE(imageftbbox, arginfo_imageftbbox)
  730. #endif
  731. #if defined(HAVE_GD_FREETYPE)
  732. ZEND_FE(imagefttext, arginfo_imagefttext)
  733. #endif
  734. #if defined(HAVE_GD_FREETYPE)
  735. ZEND_FALIAS(imagettfbbox, imageftbbox, arginfo_imagettfbbox)
  736. #endif
  737. #if defined(HAVE_GD_FREETYPE)
  738. ZEND_FALIAS(imagettftext, imagefttext, arginfo_imagettftext)
  739. #endif
  740. ZEND_FE(imagefilter, arginfo_imagefilter)
  741. ZEND_FE(imageconvolution, arginfo_imageconvolution)
  742. ZEND_FE(imageflip, arginfo_imageflip)
  743. ZEND_FE(imageantialias, arginfo_imageantialias)
  744. ZEND_FE(imagecrop, arginfo_imagecrop)
  745. ZEND_FE(imagecropauto, arginfo_imagecropauto)
  746. ZEND_FE(imagescale, arginfo_imagescale)
  747. ZEND_FE(imageaffine, arginfo_imageaffine)
  748. ZEND_FE(imageaffinematrixget, arginfo_imageaffinematrixget)
  749. ZEND_FE(imageaffinematrixconcat, arginfo_imageaffinematrixconcat)
  750. ZEND_FE(imagegetinterpolation, arginfo_imagegetinterpolation)
  751. ZEND_FE(imagesetinterpolation, arginfo_imagesetinterpolation)
  752. ZEND_FE(imageresolution, arginfo_imageresolution)
  753. ZEND_FE_END
  754. };
  755. static const zend_function_entry class_GdImage_methods[] = {
  756. ZEND_FE_END
  757. };
  758. static const zend_function_entry class_GdFont_methods[] = {
  759. ZEND_FE_END
  760. };
  761. static zend_class_entry *register_class_GdImage(void)
  762. {
  763. zend_class_entry ce, *class_entry;
  764. INIT_CLASS_ENTRY(ce, "GdImage", class_GdImage_methods);
  765. class_entry = zend_register_internal_class_ex(&ce, NULL);
  766. class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
  767. return class_entry;
  768. }
  769. static zend_class_entry *register_class_GdFont(void)
  770. {
  771. zend_class_entry ce, *class_entry;
  772. INIT_CLASS_ENTRY(ce, "GdFont", class_GdFont_methods);
  773. class_entry = zend_register_internal_class_ex(&ce, NULL);
  774. class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
  775. return class_entry;
  776. }