mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00

This is necessary for future commits, when we extend the image handling to support extensions adding their own handlers. Also extend the struct with fields for when the width and height are not numbers but strings (e.g. for SVG).
69 lines
2.4 KiB
C
69 lines
2.4 KiB
C
/*
|
|
+----------------------------------------------------------------------+
|
|
| Copyright (c) The PHP Group |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
| available through the world-wide-web at the following url: |
|
|
| https://www.php.net/license/3_01.txt |
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
+----------------------------------------------------------------------+
|
|
| Authors: Rasmus Lerdorf <rasmus@php.net> |
|
|
| Marcus Boerger <helly@php.net> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
#ifndef PHP_IMAGE_H
|
|
#define PHP_IMAGE_H
|
|
|
|
/* {{{ enum image_filetype
|
|
This enum is used to have ext/standard/image.c and ext/exif/exif.c use
|
|
the same constants for file types.
|
|
*/
|
|
typedef enum
|
|
{ IMAGE_FILETYPE_UNKNOWN=0,
|
|
IMAGE_FILETYPE_GIF=1,
|
|
IMAGE_FILETYPE_JPEG,
|
|
IMAGE_FILETYPE_PNG,
|
|
IMAGE_FILETYPE_SWF,
|
|
IMAGE_FILETYPE_PSD,
|
|
IMAGE_FILETYPE_BMP,
|
|
IMAGE_FILETYPE_TIFF_II, /* intel */
|
|
IMAGE_FILETYPE_TIFF_MM, /* motorola */
|
|
IMAGE_FILETYPE_JPC,
|
|
IMAGE_FILETYPE_JP2,
|
|
IMAGE_FILETYPE_JPX,
|
|
IMAGE_FILETYPE_JB2,
|
|
IMAGE_FILETYPE_SWC,
|
|
IMAGE_FILETYPE_IFF,
|
|
IMAGE_FILETYPE_WBMP,
|
|
/* IMAGE_FILETYPE_JPEG2000 is a userland alias for IMAGE_FILETYPE_JPC */
|
|
IMAGE_FILETYPE_XBM,
|
|
IMAGE_FILETYPE_ICO,
|
|
IMAGE_FILETYPE_WEBP,
|
|
IMAGE_FILETYPE_AVIF,
|
|
IMAGE_FILETYPE_HEIF,
|
|
/* WHEN EXTENDING: PLEASE ALSO REGISTER IN basic_function.stub.php */
|
|
IMAGE_FILETYPE_COUNT
|
|
} image_filetype;
|
|
/* }}} */
|
|
|
|
PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype);
|
|
|
|
PHPAPI char * php_image_type_to_mime_type(int image_type);
|
|
|
|
PHPAPI bool php_is_image_avif(php_stream *stream);
|
|
|
|
/* return info as a struct, to make expansion easier */
|
|
struct php_gfxinfo {
|
|
unsigned int width;
|
|
unsigned int height;
|
|
zend_string *width_str;
|
|
zend_string *height_str;
|
|
unsigned int bits;
|
|
unsigned int channels;
|
|
};
|
|
|
|
#endif /* PHP_IMAGE_H */
|