mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng15] Remove simplified interface
This commit is contained in:
committed by
Glenn Randers-Pehrson
parent
12fb29f951
commit
4491fa237f
91
pngpriv.h
91
pngpriv.h
@@ -258,26 +258,6 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
|
||||
# define PNG_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifndef PNG_CONST_DATA
|
||||
/* Some compilers fail if given an "extern const" data declaration followed by a
|
||||
* "const" definition, therefore declaring const data in pngpriv.h is
|
||||
* impossible, the following allows a work-round for the problematic compilers
|
||||
* by defining -DPNG_NO_CONST_DATA on the command line (notice that this does
|
||||
* not affect static const definitions, where there is no declaration.)
|
||||
*/
|
||||
# ifndef PNG_NO_CONST_DATA
|
||||
/* List of compilers where "extern const" is known to be OK: */
|
||||
# if defined __GNUC__ || defined _MSC_VER || defined __WATCOMC__
|
||||
# define PNG_CONST_DATA const
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Default to disabling const data declarations: */
|
||||
# ifndef PNG_CONST_DATA
|
||||
# define PNG_CONST_DATA /*const*/
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Some fixed point APIs are still required even if not exported because
|
||||
* they get used by the corresponding floating point APIs. This magic
|
||||
* deals with this:
|
||||
@@ -548,26 +528,6 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
|
||||
abs((int)((c1).green) - (int)((c2).green)) + \
|
||||
abs((int)((c1).blue) - (int)((c2).blue)))
|
||||
|
||||
/* Added to libpng-1.5.7: sRGB conversion tables */
|
||||
#if defined PNG_SIMPLIFIED_READ_SUPPORTED ||\
|
||||
defined PNG_SIMPLIFIED_WRITE_SUPPORTED
|
||||
#ifdef PNG_SIMPLIFIED_READ_SUPPORTED
|
||||
extern /*PRIVATE*/ PNG_CONST_DATA png_uint_16 png_sRGB_table[256];
|
||||
/* Convert from an sRGB encoded value 0..255 to a 16-bit linear value,
|
||||
* 0..65535. This table gives the closes 16-bit answers (no errors).
|
||||
*/
|
||||
#endif
|
||||
|
||||
extern /*PRIVATE*/ PNG_CONST_DATA png_uint_16 png_sRGB_base[512];
|
||||
extern /*PRIVATE*/ PNG_CONST_DATA png_byte png_sRGB_delta[512];
|
||||
|
||||
#define PNG_sRGB_FROM_LINEAR(linear) ((png_sRGB_base[(linear)>>15] +\
|
||||
((((linear)&0x7fff)*png_sRGB_delta[(linear)>>15])>>12)) >> 8)
|
||||
/* Given a value 'linear' in the range 0..255*65535 calculate the 8-bit sRGB
|
||||
* encoded value with maximum error 0.646365. Note that the input is not a
|
||||
* 16-bit value; it has been multiplied by 255! */
|
||||
#endif /* PNG_SIMPLIFIED_READ/WRITE */
|
||||
|
||||
/* Added to libpng-1.2.6 JB */
|
||||
#define PNG_ROWBYTES(pixel_bits, width) \
|
||||
((pixel_bits) >= 8 ? \
|
||||
@@ -1658,59 +1618,8 @@ PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr,
|
||||
int bit_depth));
|
||||
#endif
|
||||
|
||||
/* SIMPLIFIED READ/WRITE SUPPORT */
|
||||
#if defined PNG_SIMPLIFIED_READ_SUPPORTED ||\
|
||||
defined PNG_SIMPLIFIED_WRITE_SUPPORTED
|
||||
/* The internal structure that png_image::opaque points to. */
|
||||
typedef struct png_control
|
||||
{
|
||||
png_structp png_ptr;
|
||||
png_infop info_ptr;
|
||||
png_voidp error_buf; /* Always a jmp_buf at present. */
|
||||
|
||||
png_const_bytep memory; /* Memory buffer. */
|
||||
png_size_t size; /* Size of the memory buffer. */
|
||||
|
||||
unsigned int for_write :1; /* Otherwise it is a read structure */
|
||||
unsigned int owned_file :1; /* We own the file in io_ptr */
|
||||
} png_control;
|
||||
|
||||
/* Return the pointer to the jmp_buf from a png_control: necessary because C
|
||||
* does not reveal the type of the elements of jmp_buf.
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
# define png_control_jmp_buf(pc) (((jmp_buf*)((pc)->error_buf))[0])
|
||||
#else
|
||||
# define png_control_jmp_buf(pc) ((pc)->error_buf)
|
||||
#endif
|
||||
|
||||
/* Utility to safely execute a piece of libpng code catching and logging any
|
||||
* errors that might occur. Returns true on success, false on failure (either
|
||||
* of the function or as a result of a png_error.)
|
||||
*/
|
||||
PNG_FUNCTION(void, png_safe_error, (png_structp png_ptr,
|
||||
png_const_charp error_message), PNG_NORETURN);
|
||||
|
||||
#ifdef PNG_WARNINGS_SUPPORTED
|
||||
PNG_EXTERN void png_safe_warning(png_structp png_ptr,
|
||||
png_const_charp warning_message);
|
||||
#else
|
||||
# define png_safe_warning 0/*dummy argument*/
|
||||
#endif
|
||||
|
||||
PNG_EXTERN int png_safe_execute PNGARG((png_imagep image,
|
||||
int (*function)(png_voidp), png_voidp arg));
|
||||
|
||||
/* Utility to log an error, this also cleans up the png_image, the function
|
||||
* always returns 0 (false).
|
||||
*/
|
||||
PNG_EXTERN int png_image_error(png_imagep image, png_const_charp error_message);
|
||||
|
||||
#endif /* SIMPLIFIED READ/WRITE */
|
||||
|
||||
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
|
||||
|
||||
|
||||
#include "pngdebug.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user