aboutsummaryrefslogtreecommitdiffstats
path: root/build/stubs/gd.php
diff options
context:
space:
mode:
Diffstat (limited to 'build/stubs/gd.php')
-rw-r--r--build/stubs/gd.php334
1 files changed, 334 insertions, 0 deletions
diff --git a/build/stubs/gd.php b/build/stubs/gd.php
new file mode 100644
index 00000000000..5b48af23761
--- /dev/null
+++ b/build/stubs/gd.php
@@ -0,0 +1,334 @@
+<?php
+
+/** @generate-class-entries */
+
+/**
+ * @strict-properties
+ * @not-serializable
+ */
+final class GdImage {}
+
+/**
+ * @strict-properties
+ * @not-serializable
+ */
+final class GdFont {}
+
+/**
+ * @return array<string, string|bool>
+ * @refcount 1
+ */
+function gd_info(): array {}
+
+function imageloadfont(string $filename): GdFont|false {}
+
+function imagesetstyle(GdImage $image, array $style): bool {}
+
+/** @refcount 1 */
+function imagecreatetruecolor(int $width, int $height): GdImage|false {}
+
+function imageistruecolor(GdImage $image): bool {}
+
+function imagetruecolortopalette(GdImage $image, bool $dither, int $num_colors): bool {}
+
+function imagepalettetotruecolor(GdImage $image): bool {}
+
+function imagecolormatch(GdImage $image1, GdImage $image2): bool {}
+
+function imagesetthickness(GdImage $image, int $thickness): bool {}
+
+function imagefilledellipse(GdImage $image, int $center_x, int $center_y, int $width, int $height, int $color): bool {}
+
+function imagefilledarc(GdImage $image, int $center_x, int $center_y, int $width, int $height, int $start_angle, int $end_angle, int $color, int $style): bool {}
+
+function imagealphablending(GdImage $image, bool $enable): bool {}
+
+function imagesavealpha(GdImage $image, bool $enable): bool {}
+
+function imagelayereffect(GdImage $image, int $effect): bool {}
+
+function imagecolorallocatealpha(GdImage $image, int $red, int $green, int $blue, int $alpha): int|false {}
+
+function imagecolorresolvealpha(GdImage $image, int $red, int $green, int $blue, int $alpha): int {}
+
+function imagecolorclosestalpha(GdImage $image, int $red, int $green, int $blue, int $alpha): int {}
+
+function imagecolorexactalpha(GdImage $image, int $red, int $green, int $blue, int $alpha): int {}
+
+function imagecopyresampled(GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_width, int $dst_height, int $src_width, int $src_height): bool {}
+
+#ifdef PHP_WIN32
+
+/** @refcount 1 */
+function imagegrabwindow(int $handle, bool $client_area = false): GdImage|false {}
+
+/** @refcount 1 */
+function imagegrabscreen(): GdImage|false {}
+
+#endif
+
+// TODO: $ignore_transparent is ignored???
+/** @refcount 1 */
+function imagerotate(GdImage $image, float $angle, int $background_color, bool $ignore_transparent = false): GdImage|false {}
+
+function imagesettile(GdImage $image, GdImage $tile): bool {}
+
+function imagesetbrush(GdImage $image, GdImage $brush): bool {}
+
+/** @refcount 1 */
+function imagecreate(int $width, int $height): GdImage|false {}
+
+function imagetypes(): int {}
+
+/** @refcount 1 */
+function imagecreatefromstring(string $data): GdImage|false {}
+
+#ifdef HAVE_GD_AVIF
+/** @refcount 1 */
+function imagecreatefromavif(string $filename): GdImage|false {}
+#endif
+
+/** @refcount 1 */
+function imagecreatefromgif(string $filename): GdImage|false {}
+
+#ifdef HAVE_GD_JPG
+/** @refcount 1 */
+function imagecreatefromjpeg(string $filename): GdImage|false {}
+#endif
+
+#ifdef HAVE_GD_PNG
+/** @refcount 1 */
+function imagecreatefrompng(string $filename): GdImage|false {}
+#endif
+
+#ifdef HAVE_GD_WEBP
+/** @refcount 1 */
+function imagecreatefromwebp(string $filename): GdImage|false {}
+#endif
+
+/** @refcount 1 */
+function imagecreatefromxbm(string $filename): GdImage|false {}
+
+#ifdef HAVE_GD_XPM
+/** @refcount 1 */
+function imagecreatefromxpm(string $filename): GdImage|false {}
+#endif
+
+/** @refcount 1 */
+function imagecreatefromwbmp(string $filename): GdImage|false {}
+
+/** @refcount 1 */
+function imagecreatefromgd(string $filename): GdImage|false {}
+
+/** @refcount 1 */
+function imagecreatefromgd2(string $filename): GdImage|false {}
+
+/** @refcount 1 */
+function imagecreatefromgd2part(string $filename, int $x, int $y, int $width, int $height): GdImage|false {}
+
+#ifdef HAVE_GD_BMP
+/** @refcount 1 */
+function imagecreatefrombmp(string $filename): GdImage|false {}
+#endif
+
+#ifdef HAVE_GD_TGA
+function imagecreatefromtga(string $filename): GdImage|false {}
+#endif
+
+function imagexbm(GdImage $image, ?string $filename, ?int $foreground_color = null): bool {}
+
+#ifdef HAVE_GD_AVIF
+/** @param resource|string|null $file */
+function imageavif(GdImage $image, $file = null, int $quality = -1, int $speed = -1): bool {}
+#endif
+
+/** @param resource|string|null $file */
+function imagegif(GdImage $image, $file = null): bool {}
+
+#ifdef HAVE_GD_PNG
+/** @param resource|string|null $file */
+function imagepng(GdImage $image, $file = null, int $quality = -1, int $filters = -1): bool {}
+#endif
+
+#ifdef HAVE_GD_WEBP
+/** @param resource|string|null $file */
+function imagewebp(GdImage $image, $file = null, int $quality = -1): bool {}
+#endif
+
+#ifdef HAVE_GD_JPG
+/** @param resource|string|null $file */
+function imagejpeg(GdImage $image, $file = null, int $quality = -1): bool {}
+#endif
+
+/** @param resource|string|null $file */
+function imagewbmp(GdImage $image, $file = null, ?int $foreground_color = null): bool {}
+
+function imagegd(GdImage $image, ?string $file = null): bool {}
+
+function imagegd2(GdImage $image, ?string $file = null, int $chunk_size = UNKNOWN, int $mode = UNKNOWN): bool {}
+
+#ifdef HAVE_GD_BMP
+/** @param resource|string|null $file */
+function imagebmp(GdImage $image, $file = null, bool $compressed = true): bool {}
+#endif
+
+function imagedestroy(GdImage $image): bool {}
+
+function imagecolorallocate(GdImage $image, int $red, int $green, int $blue): int|false {}
+
+function imagepalettecopy(GdImage $dst, GdImage $src): void {}
+
+function imagecolorat(GdImage $image, int $x, int $y): int|false {}
+
+function imagecolorclosest(GdImage $image, int $red, int $green, int $blue): int {}
+
+function imagecolorclosesthwb(GdImage $image, int $red, int $green, int $blue): int {}
+
+function imagecolordeallocate(GdImage $image, int $color): bool {}
+
+function imagecolorresolve(GdImage $image, int $red, int $green, int $blue): int {}
+
+function imagecolorexact(GdImage $image, int $red, int $green, int $blue): int {}
+
+/** @return false|null */
+function imagecolorset(GdImage $image, int $color, int $red, int $green, int $blue, int $alpha = 0): ?bool {}
+
+/**
+ * @return array<string, int>
+ * @refcount 1
+ */
+function imagecolorsforindex(GdImage $image, int $color): array {}
+
+function imagegammacorrect(GdImage $image, float $input_gamma, float $output_gamma): bool {}
+
+function imagesetpixel(GdImage $image, int $x, int $y, int $color): bool {}
+
+function imageline(GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color): bool {}
+
+function imagedashedline(GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color): bool {}
+
+function imagerectangle(GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color): bool {}
+
+function imagefilledrectangle(GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color): bool {}
+
+function imagearc(GdImage $image, int $center_x, int $center_y, int $width, int $height, int $start_angle, int $end_angle, int $color): bool {}
+
+function imageellipse(GdImage $image, int $center_x, int $center_y, int $width, int $height, int $color): bool {}
+
+function imagefilltoborder(GdImage $image, int $x, int $y, int $border_color, int $color): bool {}
+
+function imagefill(GdImage $image, int $x, int $y, int $color): bool {}
+
+function imagecolorstotal(GdImage $image): int {}
+
+function imagecolortransparent(GdImage $image, ?int $color = null): int {}
+
+function imageinterlace(GdImage $image, ?bool $enable = null): bool {}
+
+function imagepolygon(GdImage $image, array $points, int $num_points_or_color, ?int $color = null): bool {}
+
+function imageopenpolygon(GdImage $image, array $points, int $num_points_or_color, ?int $color = null): bool {}
+
+function imagefilledpolygon(GdImage $image, array $points, int $num_points_or_color, ?int $color = null): bool {}
+
+function imagefontwidth(GdFont|int $font): int {}
+
+function imagefontheight(GdFont|int $font): int {}
+
+function imagechar(GdImage $image, GdFont|int $font, int $x, int $y, string $char, int $color): bool {}
+
+function imagecharup(GdImage $image, GdFont|int $font, int $x, int $y, string $char, int $color): bool {}
+
+function imagestring(GdImage $image, GdFont|int $font, int $x, int $y, string $string, int $color): bool {}
+
+function imagestringup(GdImage $image, GdFont|int $font, int $x, int $y, string $string, int $color): bool {}
+
+function imagecopy(GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height): bool {}
+
+function imagecopymerge(GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height, int $pct): bool {}
+
+function imagecopymergegray(GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height, int $pct): bool {}
+
+function imagecopyresized(GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_width, int $dst_height, int $src_width, int $src_height): bool {}
+
+function imagesx(GdImage $image): int {}
+
+function imagesy(GdImage $image): int {}
+
+function imagesetclip(GdImage $image, int $x1, int $y1, int $x2, int $y2): bool {}
+
+/**
+ * @return array<int, int>
+ * @refcount 1
+ */
+function imagegetclip(GdImage $image): array {}
+
+#ifdef HAVE_GD_FREETYPE
+/**
+ * @return array<int, int>|false
+ * @refcount 1
+ */
+function imageftbbox(float $size, float $angle, string $font_filename, string $string, array $options = []): array|false {}
+
+/**
+ * @return array<int, int>|false
+ * @refcount 1
+ */
+function imagefttext(GdImage $image, float $size, float $angle, int $x, int $y, int $color, string $font_filename, string $text, array $options = []): array|false {}
+
+/**
+ * @return array<int, int>|false
+ * @alias imageftbbox
+ */
+function imagettfbbox(float $size, float $angle, string $font_filename, string $string, array $options = []): array|false {}
+
+/**
+ * @return array<int, int>|false
+ * @alias imagefttext
+ */
+function imagettftext(GdImage $image, float $size, float $angle, int $x, int $y, int $color, string $font_filename, string $text, array $options = []): array|false {}
+#endif
+
+/** @param array|int|float|bool $args */
+function imagefilter(GdImage $image, int $filter, ...$args): bool {}
+
+function imageconvolution(GdImage $image, array $matrix, float $divisor, float $offset): bool {}
+
+function imageflip(GdImage $image, int $mode): bool {}
+
+function imageantialias(GdImage $image, bool $enable): bool {}
+
+/** @refcount 1 */
+function imagecrop(GdImage $image, array $rectangle): GdImage|false {}
+
+/** @refcount 1 */
+function imagecropauto(GdImage $image, int $mode = IMG_CROP_DEFAULT, float $threshold = 0.5, int $color = -1): GdImage|false {}
+
+/** @refcount 1 */
+function imagescale(GdImage $image, int $width, int $height = -1, int $mode = IMG_BILINEAR_FIXED): GdImage|false {}
+
+/** @refcount 1 */
+function imageaffine(GdImage $image, array $affine, ?array $clip = null): GdImage|false {}
+
+/**
+ * @param array|float $options
+ * @refcount 1
+ * @return array<int, float>|false
+ */
+function imageaffinematrixget(int $type, $options): array|false {}
+
+/**
+ * @return array<int, float>|false
+ * @refcount 1
+ */
+function imageaffinematrixconcat(array $matrix1, array $matrix2): array|false {}
+
+function imagegetinterpolation(GdImage $image): int {}
+
+function imagesetinterpolation(GdImage $image, int $method = IMG_BILINEAR_FIXED): bool {}
+
+/**
+ * @return array<int, int>|true
+ * @refcount 1
+ */
+function imageresolution(GdImage $image, ?int $resolution_x = null, ?int $resolution_y = null): array|bool {}