From 6713dc7784c1cf2a77fc62cb6eca0e746d9bb28b Mon Sep 17 00:00:00 2001 From: "fix94.1" Date: Thu, 26 Jan 2012 21:02:06 +0000 Subject: [PATCH] -updated libpng from 1.2.34 to 1.4.4 --- portlibs/include/pngconf.h | 3027 ++++++++++++++++++------------------ portlibs/lib/libpng.a | Bin 919616 -> 231398 bytes source/gui/png.h | 2732 +++++++++++--------------------- source/gui/pngconf.h | 1083 +++++++------ source/gui/pngu.c | 2 +- 5 files changed, 3043 insertions(+), 3801 deletions(-) diff --git a/portlibs/include/pngconf.h b/portlibs/include/pngconf.h index 464458d0..7d178024 100644 --- a/portlibs/include/pngconf.h +++ b/portlibs/include/pngconf.h @@ -1,1487 +1,1540 @@ - -/* pngconf.h - machine configurable file for libpng - * - * libpng version 1.2.34 - December 18, 2008 - * For conditions of distribution and use, see copyright notice in png.h - * Copyright (c) 1998-2008 Glenn Randers-Pehrson - * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) - * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) - */ - -/* Any machine specific code is near the front of this file, so if you - * are configuring libpng for a machine, you may want to read the section - * starting here down to where it starts to typedef png_color, png_text, - * and png_info. - */ - -#ifndef PNGCONF_H -#define PNGCONF_H - -#define PNG_1_2_X - -/* - * PNG_USER_CONFIG has to be defined on the compiler command line. This - * includes the resource compiler for Windows DLL configurations. - */ -#ifdef PNG_USER_CONFIG -# ifndef PNG_USER_PRIVATEBUILD -# define PNG_USER_PRIVATEBUILD -# endif -#include "pngusr.h" -#endif - -/* PNG_CONFIGURE_LIBPNG is set by the "configure" script. */ -#ifdef PNG_CONFIGURE_LIBPNG -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#endif - -/* - * Added at libpng-1.2.8 - * - * If you create a private DLL you need to define in "pngusr.h" the followings: - * #define PNG_USER_PRIVATEBUILD - * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." - * #define PNG_USER_DLLFNAME_POSTFIX - * e.g. // private DLL "libpng13gx.dll" - * #define PNG_USER_DLLFNAME_POSTFIX "gx" - * - * The following macros are also at your disposal if you want to complete the - * DLL VERSIONINFO structure. - * - PNG_USER_VERSIONINFO_COMMENTS - * - PNG_USER_VERSIONINFO_COMPANYNAME - * - PNG_USER_VERSIONINFO_LEGALTRADEMARKS - */ - -#ifdef __STDC__ -#ifdef SPECIALBUILD -# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\ - are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.") -#endif - -#ifdef PRIVATEBUILD -# pragma message("PRIVATEBUILD is deprecated.\ - Use PNG_USER_PRIVATEBUILD instead.") -# define PNG_USER_PRIVATEBUILD PRIVATEBUILD -#endif -#endif /* __STDC__ */ - -#ifndef PNG_VERSION_INFO_ONLY - -/* End of material added to libpng-1.2.8 */ - -/* Added at libpng-1.2.19, removed at libpng-1.2.20 because it caused trouble - Restored at libpng-1.2.21 */ -#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \ - !defined(PNG_WARN_UNINITIALIZED_ROW) -# define PNG_WARN_UNINITIALIZED_ROW 1 -#endif -/* End of material added at libpng-1.2.19/1.2.21 */ - -/* This is the size of the compression buffer, and thus the size of - * an IDAT chunk. Make this whatever size you feel is best for your - * machine. One of these will be allocated per png_struct. When this - * is full, it writes the data to the disk, and does some other - * calculations. Making this an extremely small size will slow - * the library down, but you may want to experiment to determine - * where it becomes significant, if you are concerned with memory - * usage. Note that zlib allocates at least 32Kb also. For readers, - * this describes the size of the buffer available to read the data in. - * Unless this gets smaller than the size of a row (compressed), - * it should not make much difference how big this is. - */ - -#ifndef PNG_ZBUF_SIZE -# define PNG_ZBUF_SIZE 8192 -#endif - -/* Enable if you want a write-only libpng */ - -#ifndef PNG_NO_READ_SUPPORTED -# define PNG_READ_SUPPORTED -#endif - -/* Enable if you want a read-only libpng */ - -#ifndef PNG_NO_WRITE_SUPPORTED -# define PNG_WRITE_SUPPORTED -#endif - -/* Enabled by default in 1.2.0. You can disable this if you don't need to - support PNGs that are embedded in MNG datastreams */ -#if !defined(PNG_1_0_X) && !defined(PNG_NO_MNG_FEATURES) -# ifndef PNG_MNG_FEATURES_SUPPORTED -# define PNG_MNG_FEATURES_SUPPORTED -# endif -#endif - -#ifndef PNG_NO_FLOATING_POINT_SUPPORTED -# ifndef PNG_FLOATING_POINT_SUPPORTED -# define PNG_FLOATING_POINT_SUPPORTED -# endif -#endif - -/* If you are running on a machine where you cannot allocate more - * than 64K of memory at once, uncomment this. While libpng will not - * normally need that much memory in a chunk (unless you load up a very - * large file), zlib needs to know how big of a chunk it can use, and - * libpng thus makes sure to check any memory allocation to verify it - * will fit into memory. -#define PNG_MAX_MALLOC_64K - */ -#if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K) -# define PNG_MAX_MALLOC_64K -#endif - -/* Special munging to support doing things the 'cygwin' way: - * 'Normal' png-on-win32 defines/defaults: - * PNG_BUILD_DLL -- building dll - * PNG_USE_DLL -- building an application, linking to dll - * (no define) -- building static library, or building an - * application and linking to the static lib - * 'Cygwin' defines/defaults: - * PNG_BUILD_DLL -- (ignored) building the dll - * (no define) -- (ignored) building an application, linking to the dll - * PNG_STATIC -- (ignored) building the static lib, or building an - * application that links to the static lib. - * ALL_STATIC -- (ignored) building various static libs, or building an - * application that links to the static libs. - * Thus, - * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and - * this bit of #ifdefs will define the 'correct' config variables based on - * that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but - * unnecessary. - * - * Also, the precedence order is: - * ALL_STATIC (since we can't #undef something outside our namespace) - * PNG_BUILD_DLL - * PNG_STATIC - * (nothing) == PNG_USE_DLL - * - * CYGWIN (2002-01-20): The preceding is now obsolete. With the advent - * of auto-import in binutils, we no longer need to worry about - * __declspec(dllexport) / __declspec(dllimport) and friends. Therefore, - * we don't need to worry about PNG_STATIC or ALL_STATIC when it comes - * to __declspec() stuff. However, we DO need to worry about - * PNG_BUILD_DLL and PNG_STATIC because those change some defaults - * such as CONSOLE_IO and whether GLOBAL_ARRAYS are allowed. - */ -#if defined(__CYGWIN__) -# if defined(ALL_STATIC) -# if defined(PNG_BUILD_DLL) -# undef PNG_BUILD_DLL -# endif -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if defined(PNG_DLL) -# undef PNG_DLL -# endif -# if !defined(PNG_STATIC) -# define PNG_STATIC -# endif -# else -# if defined (PNG_BUILD_DLL) -# if defined(PNG_STATIC) -# undef PNG_STATIC -# endif -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if !defined(PNG_DLL) -# define PNG_DLL -# endif -# else -# if defined(PNG_STATIC) -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if defined(PNG_DLL) -# undef PNG_DLL -# endif -# else -# if !defined(PNG_USE_DLL) -# define PNG_USE_DLL -# endif -# if !defined(PNG_DLL) -# define PNG_DLL -# endif -# endif -# endif -# endif -#endif - -/* This protects us against compilers that run on a windowing system - * and thus don't have or would rather us not use the stdio types: - * stdin, stdout, and stderr. The only one currently used is stderr - * in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will - * prevent these from being compiled and used. #defining PNG_NO_STDIO - * will also prevent these, plus will prevent the entire set of stdio - * macros and functions (FILE *, printf, etc.) from being compiled and used, - * unless (PNG_DEBUG > 0) has been #defined. - * - * #define PNG_NO_CONSOLE_IO - * #define PNG_NO_STDIO - */ - -#if defined(_WIN32_WCE) -# include - /* Console I/O functions are not supported on WindowsCE */ -# define PNG_NO_CONSOLE_IO -# ifdef PNG_DEBUG -# undef PNG_DEBUG -# endif -#endif - -#ifdef PNG_BUILD_DLL -# ifndef PNG_CONSOLE_IO_SUPPORTED -# ifndef PNG_NO_CONSOLE_IO -# define PNG_NO_CONSOLE_IO -# endif -# endif -#endif - -# ifdef PNG_NO_STDIO -# ifndef PNG_NO_CONSOLE_IO -# define PNG_NO_CONSOLE_IO -# endif -# ifdef PNG_DEBUG -# if (PNG_DEBUG > 0) -# include -# endif -# endif -# else -# if !defined(_WIN32_WCE) -/* "stdio.h" functions are not supported on WindowsCE */ -# include -# endif -# endif - -/* This macro protects us against machines that don't have function - * prototypes (ie K&R style headers). If your compiler does not handle - * function prototypes, define this macro and use the included ansi2knr. - * I've always been able to use _NO_PROTO as the indicator, but you may - * need to drag the empty declaration out in front of here, or change the - * ifdef to suit your own needs. - */ -#ifndef PNGARG - -#ifdef OF /* zlib prototype munger */ -# define PNGARG(arglist) OF(arglist) -#else - -#ifdef _NO_PROTO -# define PNGARG(arglist) () -# ifndef PNG_TYPECAST_NULL -# define PNG_TYPECAST_NULL -# endif -#else -# define PNGARG(arglist) arglist -#endif /* _NO_PROTO */ - - -#endif /* OF */ - -#endif /* PNGARG */ - -/* Try to determine if we are compiling on a Mac. Note that testing for - * just __MWERKS__ is not good enough, because the Codewarrior is now used - * on non-Mac platforms. - */ -#ifndef MACOS -# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \ - defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC) -# define MACOS -# endif -#endif - -/* enough people need this for various reasons to include it here */ -#if !defined(MACOS) && !defined(RISCOS) && !defined(_WIN32_WCE) -# include -#endif - -#if !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED) -# define PNG_SETJMP_SUPPORTED -#endif - -#ifdef PNG_SETJMP_SUPPORTED -/* This is an attempt to force a single setjmp behaviour on Linux. If - * the X config stuff didn't define _BSD_SOURCE we wouldn't need this. - */ - -# ifdef __linux__ -# ifdef _BSD_SOURCE -# define PNG_SAVE_BSD_SOURCE -# undef _BSD_SOURCE -# endif -# ifdef _SETJMP_H - /* If you encounter a compiler error here, see the explanation - * near the end of INSTALL. - */ - __pngconf.h__ already includes setjmp.h; - __dont__ include it again.; -# endif -# endif /* __linux__ */ - - /* include setjmp.h for error handling */ -# include - -# ifdef __linux__ -# ifdef PNG_SAVE_BSD_SOURCE -# ifndef _BSD_SOURCE -# define _BSD_SOURCE -# endif -# undef PNG_SAVE_BSD_SOURCE -# endif -# endif /* __linux__ */ -#endif /* PNG_SETJMP_SUPPORTED */ - -#ifdef BSD -# include -#else -# include -#endif - -/* Other defines for things like memory and the like can go here. */ -#ifdef PNG_INTERNAL - -#include - -/* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which - * aren't usually used outside the library (as far as I know), so it is - * debatable if they should be exported at all. In the future, when it is - * possible to have run-time registry of chunk-handling functions, some of - * these will be made available again. -#define PNG_EXTERN extern - */ -#define PNG_EXTERN - -/* Other defines specific to compilers can go here. Try to keep - * them inside an appropriate ifdef/endif pair for portability. - */ - -#if defined(PNG_FLOATING_POINT_SUPPORTED) -# if defined(MACOS) - /* We need to check that hasn't already been included earlier - * as it seems it doesn't agree with , yet we should really use - * if possible. - */ -# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__) -# include -# endif -# else -# include -# endif -# if defined(_AMIGA) && defined(__SASC) && defined(_M68881) - /* Amiga SAS/C: We must include builtin FPU functions when compiling using - * MATH=68881 - */ -# include -# endif -#endif - -/* Codewarrior on NT has linking problems without this. */ -#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__) -# define PNG_ALWAYS_EXTERN -#endif - -/* This provides the non-ANSI (far) memory allocation routines. */ -#if defined(__TURBOC__) && defined(__MSDOS__) -# include -# include -#endif - -/* I have no idea why is this necessary... */ -#if defined(_MSC_VER) && (defined(WIN32) || defined(_Windows) || \ - defined(_WINDOWS) || defined(_WIN32) || defined(__WIN32__)) -# include -#endif - -/* This controls how fine the dithering gets. As this allocates - * a largish chunk of memory (32K), those who are not as concerned - * with dithering quality can decrease some or all of these. - */ -#ifndef PNG_DITHER_RED_BITS -# define PNG_DITHER_RED_BITS 5 -#endif -#ifndef PNG_DITHER_GREEN_BITS -# define PNG_DITHER_GREEN_BITS 5 -#endif -#ifndef PNG_DITHER_BLUE_BITS -# define PNG_DITHER_BLUE_BITS 5 -#endif - -/* This controls how fine the gamma correction becomes when you - * are only interested in 8 bits anyway. Increasing this value - * results in more memory being used, and more pow() functions - * being called to fill in the gamma tables. Don't set this value - * less then 8, and even that may not work (I haven't tested it). - */ - -#ifndef PNG_MAX_GAMMA_8 -# define PNG_MAX_GAMMA_8 11 -#endif - -/* This controls how much a difference in gamma we can tolerate before - * we actually start doing gamma conversion. - */ -#ifndef PNG_GAMMA_THRESHOLD -# define PNG_GAMMA_THRESHOLD 0.05 -#endif - -#endif /* PNG_INTERNAL */ - -/* The following uses const char * instead of char * for error - * and warning message functions, so some compilers won't complain. - * If you do not want to use const, define PNG_NO_CONST here. - */ - -#ifndef PNG_NO_CONST -# define PNG_CONST const -#else -# define PNG_CONST -#endif - -/* The following defines give you the ability to remove code from the - * library that you will not be using. I wish I could figure out how to - * automate this, but I can't do that without making it seriously hard - * on the users. So if you are not using an ability, change the #define - * to and #undef, and that part of the library will not be compiled. If - * your linker can't find a function, you may want to make sure the - * ability is defined here. Some of these depend upon some others being - * defined. I haven't figured out all the interactions here, so you may - * have to experiment awhile to get everything to compile. If you are - * creating or using a shared library, you probably shouldn't touch this, - * as it will affect the size of the structures, and this will cause bad - * things to happen if the library and/or application ever change. - */ - -/* Any features you will not be using can be undef'ed here */ - -/* GR-P, 0.96a: Set "*TRANSFORMS_SUPPORTED as default but allow user - * to turn it off with "*TRANSFORMS_NOT_SUPPORTED" or *PNG_NO_*_TRANSFORMS - * on the compile line, then pick and choose which ones to define without - * having to edit this file. It is safe to use the *TRANSFORMS_NOT_SUPPORTED - * if you only want to have a png-compliant reader/writer but don't need - * any of the extra transformations. This saves about 80 kbytes in a - * typical installation of the library. (PNG_NO_* form added in version - * 1.0.1c, for consistency) - */ - -/* The size of the png_text structure changed in libpng-1.0.6 when - * iTXt support was added. iTXt support was turned off by default through - * libpng-1.2.x, to support old apps that malloc the png_text structure - * instead of calling png_set_text() and letting libpng malloc it. It - * was turned on by default in libpng-1.3.0. - */ - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -# ifndef PNG_NO_iTXt_SUPPORTED -# define PNG_NO_iTXt_SUPPORTED -# endif -# ifndef PNG_NO_READ_iTXt -# define PNG_NO_READ_iTXt -# endif -# ifndef PNG_NO_WRITE_iTXt -# define PNG_NO_WRITE_iTXt -# endif -#endif - -#if !defined(PNG_NO_iTXt_SUPPORTED) -# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt) -# define PNG_READ_iTXt -# endif -# if !defined(PNG_WRITE_iTXt_SUPPORTED) && !defined(PNG_NO_WRITE_iTXt) -# define PNG_WRITE_iTXt -# endif -#endif - -/* The following support, added after version 1.0.0, can be turned off here en - * masse by defining PNG_LEGACY_SUPPORTED in case you need binary compatibility - * with old applications that require the length of png_struct and png_info - * to remain unchanged. - */ - -#ifdef PNG_LEGACY_SUPPORTED -# define PNG_NO_FREE_ME -# define PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_NO_READ_USER_CHUNKS -# define PNG_NO_READ_iCCP -# define PNG_NO_WRITE_iCCP -# define PNG_NO_READ_iTXt -# define PNG_NO_WRITE_iTXt -# define PNG_NO_READ_sCAL -# define PNG_NO_WRITE_sCAL -# define PNG_NO_READ_sPLT -# define PNG_NO_WRITE_sPLT -# define PNG_NO_INFO_IMAGE -# define PNG_NO_READ_RGB_TO_GRAY -# define PNG_NO_READ_USER_TRANSFORM -# define PNG_NO_WRITE_USER_TRANSFORM -# define PNG_NO_USER_MEM -# define PNG_NO_READ_EMPTY_PLTE -# define PNG_NO_MNG_FEATURES -# define PNG_NO_FIXED_POINT_SUPPORTED -#endif - -/* Ignore attempt to turn off both floating and fixed point support */ -#if !defined(PNG_FLOATING_POINT_SUPPORTED) || \ - !defined(PNG_NO_FIXED_POINT_SUPPORTED) -# define PNG_FIXED_POINT_SUPPORTED -#endif - -#ifndef PNG_NO_FREE_ME -# define PNG_FREE_ME_SUPPORTED -#endif - -#if defined(PNG_READ_SUPPORTED) - -#if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \ - !defined(PNG_NO_READ_TRANSFORMS) -# define PNG_READ_TRANSFORMS_SUPPORTED -#endif - -#ifdef PNG_READ_TRANSFORMS_SUPPORTED -# ifndef PNG_NO_READ_EXPAND -# define PNG_READ_EXPAND_SUPPORTED -# endif -# ifndef PNG_NO_READ_SHIFT -# define PNG_READ_SHIFT_SUPPORTED -# endif -# ifndef PNG_NO_READ_PACK -# define PNG_READ_PACK_SUPPORTED -# endif -# ifndef PNG_NO_READ_BGR -# define PNG_READ_BGR_SUPPORTED -# endif -# ifndef PNG_NO_READ_SWAP -# define PNG_READ_SWAP_SUPPORTED -# endif -# ifndef PNG_NO_READ_PACKSWAP -# define PNG_READ_PACKSWAP_SUPPORTED -# endif -# ifndef PNG_NO_READ_INVERT -# define PNG_READ_INVERT_SUPPORTED -# endif -# ifndef PNG_NO_READ_DITHER -# define PNG_READ_DITHER_SUPPORTED -# endif -# ifndef PNG_NO_READ_BACKGROUND -# define PNG_READ_BACKGROUND_SUPPORTED -# endif -# ifndef PNG_NO_READ_16_TO_8 -# define PNG_READ_16_TO_8_SUPPORTED -# endif -# ifndef PNG_NO_READ_FILLER -# define PNG_READ_FILLER_SUPPORTED -# endif -# ifndef PNG_NO_READ_GAMMA -# define PNG_READ_GAMMA_SUPPORTED -# endif -# ifndef PNG_NO_READ_GRAY_TO_RGB -# define PNG_READ_GRAY_TO_RGB_SUPPORTED -# endif -# ifndef PNG_NO_READ_SWAP_ALPHA -# define PNG_READ_SWAP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_INVERT_ALPHA -# define PNG_READ_INVERT_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_STRIP_ALPHA -# define PNG_READ_STRIP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_USER_TRANSFORM -# define PNG_READ_USER_TRANSFORM_SUPPORTED -# endif -# ifndef PNG_NO_READ_RGB_TO_GRAY -# define PNG_READ_RGB_TO_GRAY_SUPPORTED -# endif -#endif /* PNG_READ_TRANSFORMS_SUPPORTED */ - -#if !defined(PNG_NO_PROGRESSIVE_READ) && \ - !defined(PNG_PROGRESSIVE_READ_SUPPORTED) /* if you don't do progressive */ -# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ -#endif /* about interlacing capability! You'll */ - /* still have interlacing unless you change the following line: */ - -#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */ - -#ifndef PNG_NO_READ_COMPOSITE_NODIV -# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */ -# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ -# endif -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, will be removed from version 2.0.0. - Use PNG_MNG_FEATURES_SUPPORTED instead. */ -#ifndef PNG_NO_READ_EMPTY_PLTE -# define PNG_READ_EMPTY_PLTE_SUPPORTED -#endif -#endif - -#endif /* PNG_READ_SUPPORTED */ - -#if defined(PNG_WRITE_SUPPORTED) - -# if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \ - !defined(PNG_NO_WRITE_TRANSFORMS) -# define PNG_WRITE_TRANSFORMS_SUPPORTED -#endif - -#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED -# ifndef PNG_NO_WRITE_SHIFT -# define PNG_WRITE_SHIFT_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_PACK -# define PNG_WRITE_PACK_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_BGR -# define PNG_WRITE_BGR_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_SWAP -# define PNG_WRITE_SWAP_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_PACKSWAP -# define PNG_WRITE_PACKSWAP_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_INVERT -# define PNG_WRITE_INVERT_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_FILLER -# define PNG_WRITE_FILLER_SUPPORTED /* same as WRITE_STRIP_ALPHA */ -# endif -# ifndef PNG_NO_WRITE_SWAP_ALPHA -# define PNG_WRITE_SWAP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_INVERT_ALPHA -# define PNG_WRITE_INVERT_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_USER_TRANSFORM -# define PNG_WRITE_USER_TRANSFORM_SUPPORTED -# endif -#endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */ - -#if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \ - !defined(PNG_WRITE_INTERLACING_SUPPORTED) -#define PNG_WRITE_INTERLACING_SUPPORTED /* not required for PNG-compliant - encoders, but can cause trouble - if left undefined */ -#endif - -#if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \ - !defined(PNG_WRITE_WEIGHTED_FILTER) && \ - defined(PNG_FLOATING_POINT_SUPPORTED) -# define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED -#endif - -#ifndef PNG_NO_WRITE_FLUSH -# define PNG_WRITE_FLUSH_SUPPORTED -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, see PNG_MNG_FEATURES_SUPPORTED, above */ -#ifndef PNG_NO_WRITE_EMPTY_PLTE -# define PNG_WRITE_EMPTY_PLTE_SUPPORTED -#endif -#endif - -#endif /* PNG_WRITE_SUPPORTED */ - -#ifndef PNG_1_0_X -# ifndef PNG_NO_ERROR_NUMBERS -# define PNG_ERROR_NUMBERS_SUPPORTED -# endif -#endif /* PNG_1_0_X */ - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) -# ifndef PNG_NO_USER_TRANSFORM_PTR -# define PNG_USER_TRANSFORM_PTR_SUPPORTED -# endif -#endif - -#ifndef PNG_NO_STDIO -# define PNG_TIME_RFC1123_SUPPORTED -#endif - -/* This adds extra functions in pngget.c for accessing data from the - * info pointer (added in version 0.99) - * png_get_image_width() - * png_get_image_height() - * png_get_bit_depth() - * png_get_color_type() - * png_get_compression_type() - * png_get_filter_type() - * png_get_interlace_type() - * png_get_pixel_aspect_ratio() - * png_get_pixels_per_meter() - * png_get_x_offset_pixels() - * png_get_y_offset_pixels() - * png_get_x_offset_microns() - * png_get_y_offset_microns() - */ -#if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED) -# define PNG_EASY_ACCESS_SUPPORTED -#endif - -/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0 - * and removed from version 1.2.20. The following will be removed - * from libpng-1.4.0 -*/ - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE) -# ifndef PNG_OPTIMIZED_CODE_SUPPORTED -# define PNG_OPTIMIZED_CODE_SUPPORTED -# endif -#endif - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE) -# ifndef PNG_ASSEMBLER_CODE_SUPPORTED -# define PNG_ASSEMBLER_CODE_SUPPORTED -# endif - -# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4) - /* work around 64-bit gcc compiler bugs in gcc-3.x */ -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if defined(__APPLE__) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh)) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_MMX_CODE_SUPPORTED -# endif - -#endif -/* end of obsolete code to be removed from libpng-1.4.0 */ - -#if !defined(PNG_1_0_X) -#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) -# define PNG_USER_MEM_SUPPORTED -#endif -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.2.6 */ -#if !defined(PNG_1_0_X) -#ifndef PNG_SET_USER_LIMITS_SUPPORTED -#if !defined(PNG_NO_SET_USER_LIMITS) && !defined(PNG_SET_USER_LIMITS_SUPPORTED) -# define PNG_SET_USER_LIMITS_SUPPORTED -#endif -#endif -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGS no matter - * how large, set these limits to 0x7fffffffL - */ -#ifndef PNG_USER_WIDTH_MAX -# define PNG_USER_WIDTH_MAX 1000000L -#endif -#ifndef PNG_USER_HEIGHT_MAX -# define PNG_USER_HEIGHT_MAX 1000000L -#endif - - -/* Added at libpng-1.2.34 and 1.4.0 */ -#ifndef PNG_STRING_NEWLINE -#define PNG_STRING_NEWLINE "\n" -#endif - -/* These are currently experimental features, define them if you want */ - -/* very little testing */ -/* -#ifdef PNG_READ_SUPPORTED -# ifndef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED -# define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED -# endif -#endif -*/ - -/* This is only for PowerPC big-endian and 680x0 systems */ -/* some testing */ -/* -#ifndef PNG_READ_BIG_ENDIAN_SUPPORTED -# define PNG_READ_BIG_ENDIAN_SUPPORTED -#endif -*/ - -/* Buggy compilers (e.g., gcc 2.7.2.2) need this */ -/* -#define PNG_NO_POINTER_INDEXING -*/ - -/* These functions are turned off by default, as they will be phased out. */ -/* -#define PNG_USELESS_TESTS_SUPPORTED -#define PNG_CORRECT_PALETTE_SUPPORTED -*/ - -/* Any chunks you are not interested in, you can undef here. The - * ones that allocate memory may be expecially important (hIST, - * tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info - * a bit smaller. - */ - -#if defined(PNG_READ_SUPPORTED) && \ - !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ - !defined(PNG_NO_READ_ANCILLARY_CHUNKS) -# define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED -#endif - -#if defined(PNG_WRITE_SUPPORTED) && \ - !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ - !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS) -# define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED -#endif - -#ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED - -#ifdef PNG_NO_READ_TEXT -# define PNG_NO_READ_iTXt -# define PNG_NO_READ_tEXt -# define PNG_NO_READ_zTXt -#endif -#ifndef PNG_NO_READ_bKGD -# define PNG_READ_bKGD_SUPPORTED -# define PNG_bKGD_SUPPORTED -#endif -#ifndef PNG_NO_READ_cHRM -# define PNG_READ_cHRM_SUPPORTED -# define PNG_cHRM_SUPPORTED -#endif -#ifndef PNG_NO_READ_gAMA -# define PNG_READ_gAMA_SUPPORTED -# define PNG_gAMA_SUPPORTED -#endif -#ifndef PNG_NO_READ_hIST -# define PNG_READ_hIST_SUPPORTED -# define PNG_hIST_SUPPORTED -#endif -#ifndef PNG_NO_READ_iCCP -# define PNG_READ_iCCP_SUPPORTED -# define PNG_iCCP_SUPPORTED -#endif -#ifndef PNG_NO_READ_iTXt -# ifndef PNG_READ_iTXt_SUPPORTED -# define PNG_READ_iTXt_SUPPORTED -# endif -# ifndef PNG_iTXt_SUPPORTED -# define PNG_iTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_READ_oFFs -# define PNG_READ_oFFs_SUPPORTED -# define PNG_oFFs_SUPPORTED -#endif -#ifndef PNG_NO_READ_pCAL -# define PNG_READ_pCAL_SUPPORTED -# define PNG_pCAL_SUPPORTED -#endif -#ifndef PNG_NO_READ_sCAL -# define PNG_READ_sCAL_SUPPORTED -# define PNG_sCAL_SUPPORTED -#endif -#ifndef PNG_NO_READ_pHYs -# define PNG_READ_pHYs_SUPPORTED -# define PNG_pHYs_SUPPORTED -#endif -#ifndef PNG_NO_READ_sBIT -# define PNG_READ_sBIT_SUPPORTED -# define PNG_sBIT_SUPPORTED -#endif -#ifndef PNG_NO_READ_sPLT -# define PNG_READ_sPLT_SUPPORTED -# define PNG_sPLT_SUPPORTED -#endif -#ifndef PNG_NO_READ_sRGB -# define PNG_READ_sRGB_SUPPORTED -# define PNG_sRGB_SUPPORTED -#endif -#ifndef PNG_NO_READ_tEXt -# define PNG_READ_tEXt_SUPPORTED -# define PNG_tEXt_SUPPORTED -#endif -#ifndef PNG_NO_READ_tIME -# define PNG_READ_tIME_SUPPORTED -# define PNG_tIME_SUPPORTED -#endif -#ifndef PNG_NO_READ_tRNS -# define PNG_READ_tRNS_SUPPORTED -# define PNG_tRNS_SUPPORTED -#endif -#ifndef PNG_NO_READ_zTXt -# define PNG_READ_zTXt_SUPPORTED -# define PNG_zTXt_SUPPORTED -#endif -#ifndef PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -#endif -#if !defined(PNG_NO_READ_USER_CHUNKS) && \ - defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) -# define PNG_READ_USER_CHUNKS_SUPPORTED -# define PNG_USER_CHUNKS_SUPPORTED -# ifdef PNG_NO_READ_UNKNOWN_CHUNKS -# undef PNG_NO_READ_UNKNOWN_CHUNKS -# endif -# ifdef PNG_NO_HANDLE_AS_UNKNOWN -# undef PNG_NO_HANDLE_AS_UNKNOWN -# endif -#endif -#ifndef PNG_NO_READ_OPT_PLTE -# define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */ -#endif /* optional PLTE chunk in RGB and RGBA images */ -#if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \ - defined(PNG_READ_zTXt_SUPPORTED) -# define PNG_READ_TEXT_SUPPORTED -# define PNG_TEXT_SUPPORTED -#endif - -#endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */ - -#ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED - -#ifdef PNG_NO_WRITE_TEXT -# define PNG_NO_WRITE_iTXt -# define PNG_NO_WRITE_tEXt -# define PNG_NO_WRITE_zTXt -#endif -#ifndef PNG_NO_WRITE_bKGD -# define PNG_WRITE_bKGD_SUPPORTED -# ifndef PNG_bKGD_SUPPORTED -# define PNG_bKGD_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_cHRM -# define PNG_WRITE_cHRM_SUPPORTED -# ifndef PNG_cHRM_SUPPORTED -# define PNG_cHRM_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_gAMA -# define PNG_WRITE_gAMA_SUPPORTED -# ifndef PNG_gAMA_SUPPORTED -# define PNG_gAMA_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_hIST -# define PNG_WRITE_hIST_SUPPORTED -# ifndef PNG_hIST_SUPPORTED -# define PNG_hIST_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_iCCP -# define PNG_WRITE_iCCP_SUPPORTED -# ifndef PNG_iCCP_SUPPORTED -# define PNG_iCCP_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_iTXt -# ifndef PNG_WRITE_iTXt_SUPPORTED -# define PNG_WRITE_iTXt_SUPPORTED -# endif -# ifndef PNG_iTXt_SUPPORTED -# define PNG_iTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_oFFs -# define PNG_WRITE_oFFs_SUPPORTED -# ifndef PNG_oFFs_SUPPORTED -# define PNG_oFFs_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_pCAL -# define PNG_WRITE_pCAL_SUPPORTED -# ifndef PNG_pCAL_SUPPORTED -# define PNG_pCAL_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sCAL -# define PNG_WRITE_sCAL_SUPPORTED -# ifndef PNG_sCAL_SUPPORTED -# define PNG_sCAL_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_pHYs -# define PNG_WRITE_pHYs_SUPPORTED -# ifndef PNG_pHYs_SUPPORTED -# define PNG_pHYs_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sBIT -# define PNG_WRITE_sBIT_SUPPORTED -# ifndef PNG_sBIT_SUPPORTED -# define PNG_sBIT_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sPLT -# define PNG_WRITE_sPLT_SUPPORTED -# ifndef PNG_sPLT_SUPPORTED -# define PNG_sPLT_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sRGB -# define PNG_WRITE_sRGB_SUPPORTED -# ifndef PNG_sRGB_SUPPORTED -# define PNG_sRGB_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tEXt -# define PNG_WRITE_tEXt_SUPPORTED -# ifndef PNG_tEXt_SUPPORTED -# define PNG_tEXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tIME -# define PNG_WRITE_tIME_SUPPORTED -# ifndef PNG_tIME_SUPPORTED -# define PNG_tIME_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tRNS -# define PNG_WRITE_tRNS_SUPPORTED -# ifndef PNG_tRNS_SUPPORTED -# define PNG_tRNS_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_zTXt -# define PNG_WRITE_zTXt_SUPPORTED -# ifndef PNG_zTXt_SUPPORTED -# define PNG_zTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -# endif -#endif -#if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \ - defined(PNG_WRITE_zTXt_SUPPORTED) -# define PNG_WRITE_TEXT_SUPPORTED -# ifndef PNG_TEXT_SUPPORTED -# define PNG_TEXT_SUPPORTED -# endif -#endif - -#endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */ - -/* Turn this off to disable png_read_png() and - * png_write_png() and leave the row_pointers member - * out of the info structure. - */ -#ifndef PNG_NO_INFO_IMAGE -# define PNG_INFO_IMAGE_SUPPORTED -#endif - -/* need the time information for reading tIME chunks */ -#if defined(PNG_tIME_SUPPORTED) -# if !defined(_WIN32_WCE) - /* "time.h" functions are not supported on WindowsCE */ -# include -# endif -#endif - -/* Some typedefs to get us started. These should be safe on most of the - * common platforms. The typedefs should be at least as large as the - * numbers suggest (a png_uint_32 must be at least 32 bits long), but they - * don't have to be exactly that size. Some compilers dislike passing - * unsigned shorts as function parameters, so you may be better off using - * unsigned int for png_uint_16. Likewise, for 64-bit systems, you may - * want to have unsigned int for png_uint_32 instead of unsigned long. - */ - -typedef unsigned long png_uint_32; -typedef long png_int_32; -typedef unsigned short png_uint_16; -typedef short png_int_16; -typedef unsigned char png_byte; - -/* This is usually size_t. It is typedef'ed just in case you need it to - change (I'm not sure if you will or not, so I thought I'd be safe) */ -#ifdef PNG_SIZE_T - typedef PNG_SIZE_T png_size_t; -# define png_sizeof(x) png_convert_size(sizeof(x)) -#else - typedef size_t png_size_t; -# define png_sizeof(x) sizeof(x) -#endif - -/* The following is needed for medium model support. It cannot be in the - * PNG_INTERNAL section. Needs modification for other compilers besides - * MSC. Model independent support declares all arrays and pointers to be - * large using the far keyword. The zlib version used must also support - * model independent data. As of version zlib 1.0.4, the necessary changes - * have been made in zlib. The USE_FAR_KEYWORD define triggers other - * changes that are needed. (Tim Wegner) - */ - -/* Separate compiler dependencies (problem here is that zlib.h always - defines FAR. (SJT) */ -#ifdef __BORLANDC__ -# if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) -# define LDATA 1 -# else -# define LDATA 0 -# endif - /* GRR: why is Cygwin in here? Cygwin is not Borland C... */ -# if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__) -# define PNG_MAX_MALLOC_64K -# if (LDATA != 1) -# ifndef FAR -# define FAR __far -# endif -# define USE_FAR_KEYWORD -# endif /* LDATA != 1 */ - /* Possibly useful for moving data out of default segment. - * Uncomment it if you want. Could also define FARDATA as - * const if your compiler supports it. (SJT) -# define FARDATA FAR - */ -# endif /* __WIN32__, __FLAT__, __CYGWIN__ */ -#endif /* __BORLANDC__ */ - - -/* Suggest testing for specific compiler first before testing for - * FAR. The Watcom compiler defines both __MEDIUM__ and M_I86MM, - * making reliance oncertain keywords suspect. (SJT) - */ - -/* MSC Medium model */ -#if defined(FAR) -# if defined(M_I86MM) -# define USE_FAR_KEYWORD -# define FARDATA FAR -# include -# endif -#endif - -/* SJT: default case */ -#ifndef FAR -# define FAR -#endif - -/* At this point FAR is always defined */ -#ifndef FARDATA -# define FARDATA -#endif - -/* Typedef for floating-point numbers that are converted - to fixed-point with a multiple of 100,000, e.g., int_gamma */ -typedef png_int_32 png_fixed_point; - -/* Add typedefs for pointers */ -typedef void FAR * png_voidp; -typedef png_byte FAR * png_bytep; -typedef png_uint_32 FAR * png_uint_32p; -typedef png_int_32 FAR * png_int_32p; -typedef png_uint_16 FAR * png_uint_16p; -typedef png_int_16 FAR * png_int_16p; -typedef PNG_CONST char FAR * png_const_charp; -typedef char FAR * png_charp; -typedef png_fixed_point FAR * png_fixed_point_p; - -#ifndef PNG_NO_STDIO -#if defined(_WIN32_WCE) -typedef HANDLE png_FILE_p; -#else -typedef FILE * png_FILE_p; -#endif -#endif - -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double FAR * png_doublep; -#endif - -/* Pointers to pointers; i.e. arrays */ -typedef png_byte FAR * FAR * png_bytepp; -typedef png_uint_32 FAR * FAR * png_uint_32pp; -typedef png_int_32 FAR * FAR * png_int_32pp; -typedef png_uint_16 FAR * FAR * png_uint_16pp; -typedef png_int_16 FAR * FAR * png_int_16pp; -typedef PNG_CONST char FAR * FAR * png_const_charpp; -typedef char FAR * FAR * png_charpp; -typedef png_fixed_point FAR * FAR * png_fixed_point_pp; -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double FAR * FAR * png_doublepp; -#endif - -/* Pointers to pointers to pointers; i.e., pointer to array */ -typedef char FAR * FAR * FAR * png_charppp; - -#if defined(PNG_1_0_X) || defined(PNG_1_2_X) -/* SPC - Is this stuff deprecated? */ -/* It'll be removed as of libpng-1.3.0 - GR-P */ -/* libpng typedefs for types in zlib. If zlib changes - * or another compression library is used, then change these. - * Eliminates need to change all the source files. - */ -typedef charf * png_zcharp; -typedef charf * FAR * png_zcharpp; -typedef z_stream FAR * png_zstreamp; -#endif /* (PNG_1_0_X) || defined(PNG_1_2_X) */ - -/* - * Define PNG_BUILD_DLL if the module being built is a Windows - * LIBPNG DLL. - * - * Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL. - * It is equivalent to Microsoft predefined macro _DLL that is - * automatically defined when you compile using the share - * version of the CRT (C Run-Time library) - * - * The cygwin mods make this behavior a little different: - * Define PNG_BUILD_DLL if you are building a dll for use with cygwin - * Define PNG_STATIC if you are building a static library for use with cygwin, - * -or- if you are building an application that you want to link to the - * static library. - * PNG_USE_DLL is defined by default (no user action needed) unless one of - * the other flags is defined. - */ - -#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL)) -# define PNG_DLL -#endif -/* If CYGWIN, then disallow GLOBAL ARRAYS unless building a static lib. - * When building a static lib, default to no GLOBAL ARRAYS, but allow - * command-line override - */ -#if defined(__CYGWIN__) -# if !defined(PNG_STATIC) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -# else -# if defined(PNG_USE_LOCAL_ARRAYS) || defined(PNG_NO_GLOBAL_ARRAYS) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# endif -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -#endif - -/* Do not use global arrays (helps with building DLL's) - * They are no longer used in libpng itself, since version 1.0.5c, - * but might be required for some pre-1.0.5c applications. - */ -#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# if defined(PNG_NO_GLOBAL_ARRAYS) || \ - (defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER) -# define PNG_USE_LOCAL_ARRAYS -# else -# define PNG_USE_GLOBAL_ARRAYS -# endif -#endif - -#if defined(__CYGWIN__) -# undef PNGAPI -# define PNGAPI __cdecl -# undef PNG_IMPEXP -# define PNG_IMPEXP -#endif - -/* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall", - * you may get warnings regarding the linkage of png_zalloc and png_zfree. - * Don't ignore those warnings; you must also reset the default calling - * convention in your compiler to match your PNGAPI, and you must build - * zlib and your applications the same way you build libpng. - */ - -#if defined(__MINGW32__) && !defined(PNG_MODULEDEF) -# ifndef PNG_NO_MODULEDEF -# define PNG_NO_MODULEDEF -# endif -#endif - -#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF) -# define PNG_IMPEXP -#endif - -#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \ - (( defined(_Windows) || defined(_WINDOWS) || \ - defined(WIN32) || defined(_WIN32) || defined(__WIN32__) )) - -# ifndef PNGAPI -# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800)) -# define PNGAPI __cdecl -# else -# define PNGAPI _cdecl -# endif -# endif - -# if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \ - 0 /* WINCOMPILER_WITH_NO_SUPPORT_FOR_DECLIMPEXP */) -# define PNG_IMPEXP -# endif - -# if !defined(PNG_IMPEXP) - -# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol -# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol - - /* Borland/Microsoft */ -# if defined(_MSC_VER) || defined(__BORLANDC__) -# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500) -# define PNG_EXPORT PNG_EXPORT_TYPE1 -# else -# define PNG_EXPORT PNG_EXPORT_TYPE2 -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __export -# else -# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in - VC++ */ -# endif /* Exists in Borland C++ for - C++ classes (== huge) */ -# endif -# endif - -# if !defined(PNG_IMPEXP) -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __declspec(dllexport) -# else -# define PNG_IMPEXP __declspec(dllimport) -# endif -# endif -# endif /* PNG_IMPEXP */ -#else /* !(DLL || non-cygwin WINDOWS) */ -# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) -# ifndef PNGAPI -# define PNGAPI _System -# endif -# else -# if 0 /* ... other platforms, with other meanings */ -# endif -# endif -#endif - -#ifndef PNGAPI -# define PNGAPI -#endif -#ifndef PNG_IMPEXP -# define PNG_IMPEXP -#endif - -#ifdef PNG_BUILDSYMS -# ifndef PNG_EXPORT -# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END -# endif -# ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT -# endif -# endif -#endif - -#ifndef PNG_EXPORT -# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol -#endif - -#ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type -# endif -#endif - -/* User may want to use these so they are not in PNG_INTERNAL. Any library - * functions that are passed far data must be model independent. - */ - -#ifndef PNG_ABORT -# define PNG_ABORT() abort() -#endif - -#ifdef PNG_SETJMP_SUPPORTED -# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) -#else -# define png_jmpbuf(png_ptr) \ - (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED) -#endif - -#if defined(USE_FAR_KEYWORD) /* memory model independent fns */ -/* use this to make far-to-near assignments */ -# define CHECK 1 -# define NOCHECK 0 -# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) -# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) -# define png_snprintf _fsnprintf /* Added to v 1.2.19 */ -# define png_strlen _fstrlen -# define png_memcmp _fmemcmp /* SJT: added */ -# define png_memcpy _fmemcpy -# define png_memset _fmemset -#else /* use the usual functions */ -# define CVT_PTR(ptr) (ptr) -# define CVT_PTR_NOCHECK(ptr) (ptr) -# ifndef PNG_NO_SNPRINTF -# ifdef _MSC_VER -# define png_snprintf _snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 _snprintf -# define png_snprintf6 _snprintf -# else -# define png_snprintf snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 snprintf -# define png_snprintf6 snprintf -# endif -# else - /* You don't have or don't want to use snprintf(). Caution: Using - * sprintf instead of snprintf exposes your application to accidental - * or malevolent buffer overflows. If you don't have snprintf() - * as a general rule you should provide one (you can get one from - * Portable OpenSSH). */ -# define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1) -# define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2) -# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \ - sprintf(s1,fmt,x1,x2,x3,x4,x5,x6) -# endif -# define png_strlen strlen -# define png_memcmp memcmp /* SJT: added */ -# define png_memcpy memcpy -# define png_memset memset -#endif -/* End of memory model independent support */ - -/* Just a little check that someone hasn't tried to define something - * contradictory. - */ -#if (PNG_ZBUF_SIZE > 65536L) && defined(PNG_MAX_MALLOC_64K) -# undef PNG_ZBUF_SIZE -# define PNG_ZBUF_SIZE 65536L -#endif - -/* Added at libpng-1.2.8 */ -#endif /* PNG_VERSION_INFO_ONLY */ - -#endif /* PNGCONF_H */ + +/* pngconf.h - machine configurable file for libpng + * + * libpng version 1.4.4 - September 23, 2010 + * For conditions of distribution and use, see copyright notice in png.h + * Copyright (c) 1998-2010 Glenn Randers-Pehrson + * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) + * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) + * + * This code is released under the libpng license. + * For conditions of distribution and use, see the disclaimer + * and license in png.h + * + */ + +/* Any machine specific code is near the front of this file, so if you + * are configuring libpng for a machine, you may want to read the section + * starting here down to where it starts to typedef png_color, png_text, + * and png_info. + */ + +#ifndef PNGCONF_H +#define PNGCONF_H + +#ifndef PNG_NO_LIMITS_H +# include +#endif + +/* Added at libpng-1.2.9 */ + +/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure" + * script. + */ +#ifdef PNG_CONFIGURE_LIBPNG +# ifdef HAVE_CONFIG_H +# include "config.h" +# endif +#endif + +/* + * Added at libpng-1.2.8 + * + * PNG_USER_CONFIG has to be defined on the compiler command line. This + * includes the resource compiler for Windows DLL configurations. + */ +#ifdef PNG_USER_CONFIG +# include "pngusr.h" +# ifndef PNG_USER_PRIVATEBUILD +# define PNG_USER_PRIVATEBUILD +# endif +#endif + +/* + * If you create a private DLL you should define in "pngusr.h" the following: + * #define PNG_USER_PRIVATEBUILD + * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." + * #define PNG_USER_DLLFNAME_POSTFIX + * e.g. // private DLL "libpng14gx.dll" + * #define PNG_USER_DLLFNAME_POSTFIX "gx" + * + * The following macros are also at your disposal if you want to complete the + * DLL VERSIONINFO structure. + * - PNG_USER_VERSIONINFO_COMMENTS + * - PNG_USER_VERSIONINFO_COMPANYNAME + * - PNG_USER_VERSIONINFO_LEGALTRADEMARKS + */ + +#ifdef __STDC__ +# ifdef SPECIALBUILD +# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\ + are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.") +# endif + +# ifdef PRIVATEBUILD +# pragma message("PRIVATEBUILD is deprecated.\ + Use PNG_USER_PRIVATEBUILD instead.") +# define PNG_USER_PRIVATEBUILD PRIVATEBUILD +# endif +#endif /* __STDC__ */ + +/* End of material added to libpng-1.2.8 */ + +#ifndef PNG_VERSION_INFO_ONLY + +/* This is the size of the compression buffer, and thus the size of + * an IDAT chunk. Make this whatever size you feel is best for your + * machine. One of these will be allocated per png_struct. When this + * is full, it writes the data to the disk, and does some other + * calculations. Making this an extremely small size will slow + * the library down, but you may want to experiment to determine + * where it becomes significant, if you are concerned with memory + * usage. Note that zlib allocates at least 32Kb also. For readers, + * this describes the size of the buffer available to read the data in. + * Unless this gets smaller than the size of a row (compressed), + * it should not make much difference how big this is. + */ + +#ifndef PNG_ZBUF_SIZE +# define PNG_ZBUF_SIZE 8192 +#endif + +/* Enable if you want a write-only libpng */ + +#ifndef PNG_NO_READ_SUPPORTED +# define PNG_READ_SUPPORTED +#endif + +/* Enable if you want a read-only libpng */ + +#ifndef PNG_NO_WRITE_SUPPORTED +# define PNG_WRITE_SUPPORTED +#endif + +/* Enabled in 1.4.0. */ +#ifdef PNG_ALLOW_BENIGN_ERRORS +# define png_benign_error png_warning +# define png_chunk_benign_error png_chunk_warning +#else +# ifndef PNG_BENIGN_ERRORS_SUPPORTED +# define png_benign_error png_error +# define png_chunk_benign_error png_chunk_error +# endif +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_WARNINGS) && !defined(PNG_WARNINGS_SUPPORTED) +# define PNG_WARNINGS_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_ERROR_TEXT) && !defined(PNG_ERROR_TEXT_SUPPORTED) +# define PNG_ERROR_TEXT_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_CHECK_cHRM) && !defined(PNG_CHECK_cHRM_SUPPORTED) +# define PNG_CHECK_cHRM_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_ALIGNED_MEMORY) && !defined(PNG_ALIGNED_MEMORY_SUPPORTED) +# define PNG_ALIGNED_MEMORY_SUPPORTED +#endif + +/* Enabled by default in 1.2.0. You can disable this if you don't need to + support PNGs that are embedded in MNG datastreams */ +#ifndef PNG_NO_MNG_FEATURES +# ifndef PNG_MNG_FEATURES_SUPPORTED +# define PNG_MNG_FEATURES_SUPPORTED +# endif +#endif + +/* Added at libpng version 1.4.0 */ +#ifndef PNG_NO_FLOATING_POINT_SUPPORTED +# ifndef PNG_FLOATING_POINT_SUPPORTED +# define PNG_FLOATING_POINT_SUPPORTED +# endif +#endif + +/* Added at libpng-1.4.0beta49 for testing (this test is no longer used + in libpng and png_calloc() is always present) + */ +#define PNG_CALLOC_SUPPORTED + +/* If you are running on a machine where you cannot allocate more + * than 64K of memory at once, uncomment this. While libpng will not + * normally need that much memory in a chunk (unless you load up a very + * large file), zlib needs to know how big of a chunk it can use, and + * libpng thus makes sure to check any memory allocation to verify it + * will fit into memory. +#define PNG_MAX_MALLOC_64K + */ +#if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K) +# define PNG_MAX_MALLOC_64K +#endif + +/* Special munging to support doing things the 'cygwin' way: + * 'Normal' png-on-win32 defines/defaults: + * PNG_BUILD_DLL -- building dll + * PNG_USE_DLL -- building an application, linking to dll + * (no define) -- building static library, or building an + * application and linking to the static lib + * 'Cygwin' defines/defaults: + * PNG_BUILD_DLL -- (ignored) building the dll + * (no define) -- (ignored) building an application, linking to the dll + * PNG_STATIC -- (ignored) building the static lib, or building an + * application that links to the static lib. + * ALL_STATIC -- (ignored) building various static libs, or building an + * application that links to the static libs. + * Thus, + * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and + * this bit of #ifdefs will define the 'correct' config variables based on + * that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but + * unnecessary. + * + * Also, the precedence order is: + * ALL_STATIC (since we can't #undef something outside our namespace) + * PNG_BUILD_DLL + * PNG_STATIC + * (nothing) == PNG_USE_DLL + * + * CYGWIN (2002-01-20): The preceding is now obsolete. With the advent + * of auto-import in binutils, we no longer need to worry about + * __declspec(dllexport) / __declspec(dllimport) and friends. Therefore, + * we don't need to worry about PNG_STATIC or ALL_STATIC when it comes + * to __declspec() stuff. However, we DO need to worry about + * PNG_BUILD_DLL and PNG_STATIC because those change some defaults + * such as CONSOLE_IO. + */ +#ifdef __CYGWIN__ +# ifdef ALL_STATIC +# ifdef PNG_BUILD_DLL +# undef PNG_BUILD_DLL +# endif +# ifdef PNG_USE_DLL +# undef PNG_USE_DLL +# endif +# ifdef PNG_DLL +# undef PNG_DLL +# endif +# ifndef PNG_STATIC +# define PNG_STATIC +# endif +# else +# ifdef PNG_BUILD_DLL +# ifdef PNG_STATIC +# undef PNG_STATIC +# endif +# ifdef PNG_USE_DLL +# undef PNG_USE_DLL +# endif +# ifndef PNG_DLL +# define PNG_DLL +# endif +# else +# ifdef PNG_STATIC +# ifdef PNG_USE_DLL +# undef PNG_USE_DLL +# endif +# ifdef PNG_DLL +# undef PNG_DLL +# endif +# else +# ifndef PNG_USE_DLL +# define PNG_USE_DLL +# endif +# ifndef PNG_DLL +# define PNG_DLL +# endif +# endif +# endif +# endif +#endif + +/* This protects us against compilers that run on a windowing system + * and thus don't have or would rather us not use the stdio types: + * stdin, stdout, and stderr. The only one currently used is stderr + * in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will + * prevent these from being compiled and used. #defining PNG_NO_STDIO + * will also prevent these, plus will prevent the entire set of stdio + * macros and functions (FILE *, printf, etc.) from being compiled and used, + * unless (PNG_DEBUG > 0) has been #defined. + * + * #define PNG_NO_CONSOLE_IO + * #define PNG_NO_STDIO + */ + +#ifdef _WIN32_WCE +# define PNG_NO_CONSOLE_IO +# define PNG_NO_STDIO +# define PNG_NO_TIME_RFC1123 +# ifdef PNG_DEBUG +# undef PNG_DEBUG +# endif +#endif + +#if !defined(PNG_NO_STDIO) && !defined(PNG_STDIO_SUPPORTED) +# define PNG_STDIO_SUPPORTED +#endif + +#ifdef PNG_BUILD_DLL +# if !defined(PNG_CONSOLE_IO_SUPPORTED) && !defined(PNG_NO_CONSOLE_IO) +# define PNG_NO_CONSOLE_IO +# endif +#endif + +# ifdef PNG_NO_STDIO +# ifndef PNG_NO_CONSOLE_IO +# define PNG_NO_CONSOLE_IO +# endif +# ifdef PNG_DEBUG +# if (PNG_DEBUG > 0) +# include +# endif +# endif +# else +# include +# endif + +#if !(defined PNG_NO_CONSOLE_IO) && !defined(PNG_CONSOLE_IO_SUPPORTED) +# define PNG_CONSOLE_IO_SUPPORTED +#endif + +/* This macro protects us against machines that don't have function + * prototypes (ie K&R style headers). If your compiler does not handle + * function prototypes, define this macro and use the included ansi2knr. + * I've always been able to use _NO_PROTO as the indicator, but you may + * need to drag the empty declaration out in front of here, or change the + * ifdef to suit your own needs. + */ +#ifndef PNGARG + +#ifdef OF /* zlib prototype munger */ +# define PNGARG(arglist) OF(arglist) +#else + +#ifdef _NO_PROTO +# define PNGARG(arglist) () +#else +# define PNGARG(arglist) arglist +#endif /* _NO_PROTO */ + +#endif /* OF */ + +#endif /* PNGARG */ + +/* Try to determine if we are compiling on a Mac. Note that testing for + * just __MWERKS__ is not good enough, because the Codewarrior is now used + * on non-Mac platforms. + */ +#ifndef MACOS +# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \ + defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC) +# define MACOS +# endif +#endif + +/* Enough people need this for various reasons to include it here */ +#if !defined(MACOS) && !defined(RISCOS) +# include +#endif + +/* PNG_SETJMP_NOT_SUPPORTED and PNG_NO_SETJMP_SUPPORTED are deprecated. */ +#if !defined(PNG_NO_SETJMP) && \ + !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED) +# define PNG_SETJMP_SUPPORTED +#endif + +#ifdef PNG_SETJMP_SUPPORTED +/* This is an attempt to force a single setjmp behaviour on Linux. If + * the X config stuff didn't define _BSD_SOURCE we wouldn't need this. + * + * You can bypass this test if you know that your application uses exactly + * the same setjmp.h that was included when libpng was built. Only define + * PNG_SKIP_SETJMP_CHECK while building your application, prior to the + * application's '#include "png.h"'. Don't define PNG_SKIP_SETJMP_CHECK + * while building a separate libpng library for general use. + */ + +# ifndef PNG_SKIP_SETJMP_CHECK +# ifdef __linux__ +# ifdef _BSD_SOURCE +# define PNG_SAVE_BSD_SOURCE +# undef _BSD_SOURCE +# endif +# ifdef _SETJMP_H + /* If you encounter a compiler error here, see the explanation + * near the end of INSTALL. + */ + __pngconf.h__ in libpng already includes setjmp.h; + __dont__ include it again.; +# endif +# endif /* __linux__ */ +# endif /* PNG_SKIP_SETJMP_CHECK */ + + /* Include setjmp.h for error handling */ +# include + +# ifdef __linux__ +# ifdef PNG_SAVE_BSD_SOURCE +# ifdef _BSD_SOURCE +# undef _BSD_SOURCE +# endif +# define _BSD_SOURCE +# undef PNG_SAVE_BSD_SOURCE +# endif +# endif /* __linux__ */ +#endif /* PNG_SETJMP_SUPPORTED */ + +#ifdef BSD +# include +#else +# include +#endif + +/* Other defines for things like memory and the like can go here. */ + +/* This controls how fine the quantizing gets. As this allocates + * a largish chunk of memory (32K), those who are not as concerned + * with quantizing quality can decrease some or all of these. + */ + +/* Prior to libpng-1.4.2, these were PNG_DITHER_*_BITS + * These migration aids will be removed from libpng-1.5.0. + */ +#ifdef PNG_DITHER_RED_BITS +# define PNG_QUANTIZE_RED_BITS PNG_DITHER_RED_BITS +#endif +#ifdef PNG_DITHER_GREEN_BITS +# define PNG_QUANTIZE_GREEN_BITS PNG_DITHER_GREEN_BITS +#endif +#ifdef PNG_DITHER_BLUE_BITS +# define PNG_QUANTIZE_BLUE_BITS PNG_DITHER_BLUE_BITS +#endif + +#ifndef PNG_QUANTIZE_RED_BITS +# define PNG_QUANTIZE_RED_BITS 5 +#endif +#ifndef PNG_QUANTIZE_GREEN_BITS +# define PNG_QUANTIZE_GREEN_BITS 5 +#endif +#ifndef PNG_QUANTIZE_BLUE_BITS +# define PNG_QUANTIZE_BLUE_BITS 5 +#endif + +/* This controls how fine the gamma correction becomes when you + * are only interested in 8 bits anyway. Increasing this value + * results in more memory being used, and more pow() functions + * being called to fill in the gamma tables. Don't set this value + * less then 8, and even that may not work (I haven't tested it). + */ + +#ifndef PNG_MAX_GAMMA_8 +# define PNG_MAX_GAMMA_8 11 +#endif + +/* This controls how much a difference in gamma we can tolerate before + * we actually start doing gamma conversion. + */ +#ifndef PNG_GAMMA_THRESHOLD +# define PNG_GAMMA_THRESHOLD 0.05 +#endif + +/* The following uses const char * instead of char * for error + * and warning message functions, so some compilers won't complain. + * If you do not want to use const, define PNG_NO_CONST. + */ + +#ifndef PNG_CONST +# ifndef PNG_NO_CONST +# define PNG_CONST const +# else +# define PNG_CONST +# endif +#endif + +/* The following defines give you the ability to remove code from the + * library that you will not be using. I wish I could figure out how to + * automate this, but I can't do that without making it seriously hard + * on the users. So if you are not using an ability, change the #define + * to an #undef, or pass in PNG_NO_feature and that part of the library + * will not be compiled. + + * If your linker can't find a function, you may want to make sure the + * ability is defined here. Some of these depend upon some others being + * defined. I haven't figured out all the interactions here, so you may + * have to experiment awhile to get everything to compile. If you are + * creating or using a shared library, you probably shouldn't touch this, + * as it will affect the size of the structures, and this will cause bad + * things to happen if the library and/or application ever change. + */ + +/* Any features you will not be using can be undef'ed here */ + +/* GR-P, 0.96a: Set "*TRANSFORMS_SUPPORTED as default but allow user + * to turn it off with PNG_NO_READ|WRITE_TRANSFORMS on the compile line, + * then pick and choose which ones to define without having to edit this + * file. It is safe to use the PNG_NO_READ|WRITE_TRANSFORMS + * if you only want to have a png-compliant reader/writer but don't need + * any of the extra transformations. This saves about 80 kbytes in a + * typical installation of the library. (PNG_NO_* form added in version + * 1.0.1c, for consistency; PNG_*_TRANSFORMS_NOT_SUPPORTED deprecated in + * 1.4.0) + */ + +/* Ignore attempt to turn off both floating and fixed point support */ +#if !defined(PNG_FLOATING_POINT_SUPPORTED) || \ + !defined(PNG_NO_FIXED_POINT_SUPPORTED) +# define PNG_FIXED_POINT_SUPPORTED +#endif + +#ifdef PNG_READ_SUPPORTED + +/* PNG_READ_TRANSFORMS_NOT_SUPPORTED is deprecated. */ +#if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \ + !defined(PNG_NO_READ_TRANSFORMS) +# define PNG_READ_TRANSFORMS_SUPPORTED +#endif + +#ifdef PNG_READ_TRANSFORMS_SUPPORTED +# ifndef PNG_NO_READ_EXPAND +# define PNG_READ_EXPAND_SUPPORTED +# endif +# ifndef PNG_NO_READ_SHIFT +# define PNG_READ_SHIFT_SUPPORTED +# endif +# ifndef PNG_NO_READ_PACK +# define PNG_READ_PACK_SUPPORTED +# endif +# ifndef PNG_NO_READ_BGR +# define PNG_READ_BGR_SUPPORTED +# endif +# ifndef PNG_NO_READ_SWAP +# define PNG_READ_SWAP_SUPPORTED +# endif +# ifndef PNG_NO_READ_PACKSWAP +# define PNG_READ_PACKSWAP_SUPPORTED +# endif +# ifndef PNG_NO_READ_INVERT +# define PNG_READ_INVERT_SUPPORTED +# endif +# ifndef PNG_NO_READ_QUANTIZE + /* Prior to libpng-1.4.0 this was PNG_READ_DITHER_SUPPORTED */ +# ifndef PNG_NO_READ_DITHER /* This migration aid will be removed */ +# define PNG_READ_QUANTIZE_SUPPORTED +# endif +# endif +# ifndef PNG_NO_READ_BACKGROUND +# define PNG_READ_BACKGROUND_SUPPORTED +# endif +# ifndef PNG_NO_READ_16_TO_8 +# define PNG_READ_16_TO_8_SUPPORTED +# endif +# ifndef PNG_NO_READ_FILLER +# define PNG_READ_FILLER_SUPPORTED +# endif +# ifndef PNG_NO_READ_GAMMA +# define PNG_READ_GAMMA_SUPPORTED +# endif +# ifndef PNG_NO_READ_GRAY_TO_RGB +# define PNG_READ_GRAY_TO_RGB_SUPPORTED +# endif +# ifndef PNG_NO_READ_SWAP_ALPHA +# define PNG_READ_SWAP_ALPHA_SUPPORTED +# endif +# ifndef PNG_NO_READ_INVERT_ALPHA +# define PNG_READ_INVERT_ALPHA_SUPPORTED +# endif +# ifndef PNG_NO_READ_STRIP_ALPHA +# define PNG_READ_STRIP_ALPHA_SUPPORTED +# endif +# ifndef PNG_NO_READ_USER_TRANSFORM +# define PNG_READ_USER_TRANSFORM_SUPPORTED +# endif +# ifndef PNG_NO_READ_RGB_TO_GRAY +# define PNG_READ_RGB_TO_GRAY_SUPPORTED +# endif +#endif /* PNG_READ_TRANSFORMS_SUPPORTED */ + +/* PNG_PROGRESSIVE_READ_NOT_SUPPORTED is deprecated. */ +#if !defined(PNG_NO_PROGRESSIVE_READ) && \ + !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */ +# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ +#endif /* about interlacing capability! You'll */ + /* still have interlacing unless you change the following define: */ + +#define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */ + +/* PNG_NO_SEQUENTIAL_READ_SUPPORTED is deprecated. */ +#if !defined(PNG_NO_SEQUENTIAL_READ) && \ + !defined(PNG_SEQUENTIAL_READ_SUPPORTED) && \ + !defined(PNG_NO_SEQUENTIAL_READ_SUPPORTED) +# define PNG_SEQUENTIAL_READ_SUPPORTED +#endif + +#ifndef PNG_NO_READ_COMPOSITE_NODIV +# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */ +# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ +# endif +#endif + +#if !defined(PNG_NO_GET_INT_32) || defined(PNG_READ_oFFS_SUPPORTED) || \ + defined(PNG_READ_pCAL_SUPPORTED) +# ifndef PNG_GET_INT_32_SUPPORTED +# define PNG_GET_INT_32_SUPPORTED +# endif +#endif + +#endif /* PNG_READ_SUPPORTED */ + +#ifdef PNG_WRITE_SUPPORTED + +/* PNG_WRITE_TRANSFORMS_NOT_SUPPORTED is deprecated. */ +#if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \ + !defined(PNG_NO_WRITE_TRANSFORMS) +# define PNG_WRITE_TRANSFORMS_SUPPORTED +#endif + +#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED +# ifndef PNG_NO_WRITE_SHIFT +# define PNG_WRITE_SHIFT_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_PACK +# define PNG_WRITE_PACK_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_BGR +# define PNG_WRITE_BGR_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_SWAP +# define PNG_WRITE_SWAP_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_PACKSWAP +# define PNG_WRITE_PACKSWAP_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_INVERT +# define PNG_WRITE_INVERT_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_FILLER +# define PNG_WRITE_FILLER_SUPPORTED /* same as WRITE_STRIP_ALPHA */ +# endif +# ifndef PNG_NO_WRITE_SWAP_ALPHA +# define PNG_WRITE_SWAP_ALPHA_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_INVERT_ALPHA +# define PNG_WRITE_INVERT_ALPHA_SUPPORTED +# endif +# ifndef PNG_NO_WRITE_USER_TRANSFORM +# define PNG_WRITE_USER_TRANSFORM_SUPPORTED +# endif +#endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */ + +#if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \ + !defined(PNG_WRITE_INTERLACING_SUPPORTED) + /* This is not required for PNG-compliant encoders, but can cause + * trouble if left undefined + */ +# define PNG_WRITE_INTERLACING_SUPPORTED +#endif + +#if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \ + !defined(PNG_WRITE_WEIGHTED_FILTER) && \ + defined(PNG_FLOATING_POINT_SUPPORTED) +# define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED +#endif + +#ifndef PNG_NO_WRITE_FLUSH +# define PNG_WRITE_FLUSH_SUPPORTED +#endif + +#if !defined(PNG_NO_SAVE_INT_32) || defined(PNG_WRITE_oFFS_SUPPORTED) || \ + defined(PNG_WRITE_pCAL_SUPPORTED) +# ifndef PNG_SAVE_INT_32_SUPPORTED +# define PNG_SAVE_INT_32_SUPPORTED +# endif +#endif + +#endif /* PNG_WRITE_SUPPORTED */ + +#define PNG_NO_ERROR_NUMBERS + +#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) +# ifndef PNG_NO_USER_TRANSFORM_PTR +# define PNG_USER_TRANSFORM_PTR_SUPPORTED +# endif +#endif + +#if defined(PNG_STDIO_SUPPORTED) && !defined(PNG_TIME_RFC1123_SUPPORTED) +# define PNG_TIME_RFC1123_SUPPORTED +#endif + +/* This adds extra functions in pngget.c for accessing data from the + * info pointer (added in version 0.99) + * png_get_image_width() + * png_get_image_height() + * png_get_bit_depth() + * png_get_color_type() + * png_get_compression_type() + * png_get_filter_type() + * png_get_interlace_type() + * png_get_pixel_aspect_ratio() + * png_get_pixels_per_meter() + * png_get_x_offset_pixels() + * png_get_y_offset_pixels() + * png_get_x_offset_microns() + * png_get_y_offset_microns() + */ +#if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED) +# define PNG_EASY_ACCESS_SUPPORTED +#endif + +/* Added at libpng-1.2.0 */ +#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) +# define PNG_USER_MEM_SUPPORTED +#endif + +/* Added at libpng-1.2.6 */ +#ifndef PNG_NO_SET_USER_LIMITS +# ifndef PNG_SET_USER_LIMITS_SUPPORTED +# define PNG_SET_USER_LIMITS_SUPPORTED +# endif + /* Feature added at libpng-1.4.0, this flag added at 1.4.1 */ +# ifndef PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +# define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +# endif + /* Feature added at libpng-1.4.1, this flag added at 1.4.1 */ +# ifndef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +# define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +# endif +#endif + +/* Added at libpng-1.2.43 */ +#ifndef PNG_USER_LIMITS_SUPPORTED +# ifndef PNG_NO_USER_LIMITS +# define PNG_USER_LIMITS_SUPPORTED +# endif +#endif + +/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter + * how large, set these two limits to 0x7fffffffL + */ +#ifndef PNG_USER_WIDTH_MAX +# define PNG_USER_WIDTH_MAX 1000000L +#endif +#ifndef PNG_USER_HEIGHT_MAX +# define PNG_USER_HEIGHT_MAX 1000000L +#endif + +/* Added at libpng-1.2.43. To accept all valid PNGs no matter + * how large, set these two limits to 0. + */ +#ifndef PNG_USER_CHUNK_CACHE_MAX +# define PNG_USER_CHUNK_CACHE_MAX 0 +#endif + +/* Added at libpng-1.2.43 */ +#ifndef PNG_USER_CHUNK_MALLOC_MAX +# define PNG_USER_CHUNK_MALLOC_MAX 0 +#endif + +/* Added at libpng-1.4.0 */ +#if !defined(PNG_NO_IO_STATE) && !defined(PNG_IO_STATE_SUPPORTED) +# define PNG_IO_STATE_SUPPORTED +#endif + +#ifndef PNG_LITERAL_SHARP +# define PNG_LITERAL_SHARP 0x23 +#endif +#ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET +# define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b +#endif +#ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET +# define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d +#endif +#ifndef PNG_STRING_NEWLINE +#define PNG_STRING_NEWLINE "\n" +#endif + +/* These are currently experimental features, define them if you want */ + +/* Very little testing */ +/* +#ifdef PNG_READ_SUPPORTED +# ifndef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED +# define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED +# endif +#endif +*/ + +/* This is only for PowerPC big-endian and 680x0 systems */ +/* some testing */ +/* +#ifndef PNG_READ_BIG_ENDIAN_SUPPORTED +# define PNG_READ_BIG_ENDIAN_SUPPORTED +#endif +*/ + +#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) +# define PNG_USE_READ_MACROS +#endif + +/* Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING */ + +#if !defined(PNG_NO_POINTER_INDEXING) && \ + !defined(PNG_POINTER_INDEXING_SUPPORTED) +# define PNG_POINTER_INDEXING_SUPPORTED +#endif + + +/* Any chunks you are not interested in, you can undef here. The + * ones that allocate memory may be expecially important (hIST, + * tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info + * a bit smaller. + */ + +/* The size of the png_text structure changed in libpng-1.0.6 when + * iTXt support was added. iTXt support was turned off by default through + * libpng-1.2.x, to support old apps that malloc the png_text structure + * instead of calling png_set_text() and letting libpng malloc it. It + * was turned on by default in libpng-1.4.0. + */ + +/* PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */ +#if defined(PNG_READ_SUPPORTED) && \ + !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ + !defined(PNG_NO_READ_ANCILLARY_CHUNKS) +# define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED +#endif + +/* PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */ +#if defined(PNG_WRITE_SUPPORTED) && \ + !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ + !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS) +# define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED +#endif + +#ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED + +#ifdef PNG_NO_READ_TEXT +# define PNG_NO_READ_iTXt +# define PNG_NO_READ_tEXt +# define PNG_NO_READ_zTXt +#endif + +#ifndef PNG_NO_READ_bKGD +# define PNG_READ_bKGD_SUPPORTED +# define PNG_bKGD_SUPPORTED +#endif +#ifndef PNG_NO_READ_cHRM +# define PNG_READ_cHRM_SUPPORTED +# define PNG_cHRM_SUPPORTED +#endif +#ifndef PNG_NO_READ_gAMA +# define PNG_READ_gAMA_SUPPORTED +# define PNG_gAMA_SUPPORTED +#endif +#ifndef PNG_NO_READ_hIST +# define PNG_READ_hIST_SUPPORTED +# define PNG_hIST_SUPPORTED +#endif +#ifndef PNG_NO_READ_iCCP +# define PNG_READ_iCCP_SUPPORTED +# define PNG_iCCP_SUPPORTED +#endif +#ifndef PNG_NO_READ_iTXt +# ifndef PNG_READ_iTXt_SUPPORTED +# define PNG_READ_iTXt_SUPPORTED +# endif +# ifndef PNG_iTXt_SUPPORTED +# define PNG_iTXt_SUPPORTED +# endif +#endif +#ifndef PNG_NO_READ_oFFs +# define PNG_READ_oFFs_SUPPORTED +# define PNG_oFFs_SUPPORTED +#endif +#ifndef PNG_NO_READ_pCAL +# define PNG_READ_pCAL_SUPPORTED +# define PNG_pCAL_SUPPORTED +#endif +#ifndef PNG_NO_READ_sCAL +# define PNG_READ_sCAL_SUPPORTED +# define PNG_sCAL_SUPPORTED +#endif +#ifndef PNG_NO_READ_pHYs +# define PNG_READ_pHYs_SUPPORTED +# define PNG_pHYs_SUPPORTED +#endif +#ifndef PNG_NO_READ_sBIT +# define PNG_READ_sBIT_SUPPORTED +# define PNG_sBIT_SUPPORTED +#endif +#ifndef PNG_NO_READ_sPLT +# define PNG_READ_sPLT_SUPPORTED +# define PNG_sPLT_SUPPORTED +#endif +#ifndef PNG_NO_READ_sRGB +# define PNG_READ_sRGB_SUPPORTED +# define PNG_sRGB_SUPPORTED +#endif +#ifndef PNG_NO_READ_tEXt +# define PNG_READ_tEXt_SUPPORTED +# define PNG_tEXt_SUPPORTED +#endif +#ifndef PNG_NO_READ_tIME +# define PNG_READ_tIME_SUPPORTED +# define PNG_tIME_SUPPORTED +#endif +#ifndef PNG_NO_READ_tRNS +# define PNG_READ_tRNS_SUPPORTED +# define PNG_tRNS_SUPPORTED +#endif +#ifndef PNG_NO_READ_zTXt +# define PNG_READ_zTXt_SUPPORTED +# define PNG_zTXt_SUPPORTED +#endif +#ifndef PNG_NO_READ_OPT_PLTE +# define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */ +#endif /* optional PLTE chunk in RGB and RGBA images */ +#if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \ + defined(PNG_READ_zTXt_SUPPORTED) +# define PNG_READ_TEXT_SUPPORTED +# define PNG_TEXT_SUPPORTED +#endif + +#endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */ + +#ifndef PNG_NO_READ_UNKNOWN_CHUNKS +# ifndef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +# endif +# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_UNKNOWN_CHUNKS_SUPPORTED +# endif +# ifndef PNG_READ_USER_CHUNKS_SUPPORTED +# define PNG_READ_USER_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_READ_USER_CHUNKS +# ifndef PNG_READ_USER_CHUNKS_SUPPORTED +# define PNG_READ_USER_CHUNKS_SUPPORTED +# endif +# ifndef PNG_USER_CHUNKS_SUPPORTED +# define PNG_USER_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_HANDLE_AS_UNKNOWN +# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# endif +#endif + +#ifdef PNG_WRITE_SUPPORTED +#ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED + +#ifdef PNG_NO_WRITE_TEXT +# define PNG_NO_WRITE_iTXt +# define PNG_NO_WRITE_tEXt +# define PNG_NO_WRITE_zTXt +#endif +#ifndef PNG_NO_WRITE_bKGD +# define PNG_WRITE_bKGD_SUPPORTED +# ifndef PNG_bKGD_SUPPORTED +# define PNG_bKGD_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_cHRM +# define PNG_WRITE_cHRM_SUPPORTED +# ifndef PNG_cHRM_SUPPORTED +# define PNG_cHRM_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_gAMA +# define PNG_WRITE_gAMA_SUPPORTED +# ifndef PNG_gAMA_SUPPORTED +# define PNG_gAMA_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_hIST +# define PNG_WRITE_hIST_SUPPORTED +# ifndef PNG_hIST_SUPPORTED +# define PNG_hIST_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_iCCP +# define PNG_WRITE_iCCP_SUPPORTED +# ifndef PNG_iCCP_SUPPORTED +# define PNG_iCCP_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_iTXt +# ifndef PNG_WRITE_iTXt_SUPPORTED +# define PNG_WRITE_iTXt_SUPPORTED +# endif +# ifndef PNG_iTXt_SUPPORTED +# define PNG_iTXt_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_oFFs +# define PNG_WRITE_oFFs_SUPPORTED +# ifndef PNG_oFFs_SUPPORTED +# define PNG_oFFs_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_pCAL +# define PNG_WRITE_pCAL_SUPPORTED +# ifndef PNG_pCAL_SUPPORTED +# define PNG_pCAL_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_sCAL +# define PNG_WRITE_sCAL_SUPPORTED +# ifndef PNG_sCAL_SUPPORTED +# define PNG_sCAL_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_pHYs +# define PNG_WRITE_pHYs_SUPPORTED +# ifndef PNG_pHYs_SUPPORTED +# define PNG_pHYs_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_sBIT +# define PNG_WRITE_sBIT_SUPPORTED +# ifndef PNG_sBIT_SUPPORTED +# define PNG_sBIT_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_sPLT +# define PNG_WRITE_sPLT_SUPPORTED +# ifndef PNG_sPLT_SUPPORTED +# define PNG_sPLT_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_sRGB +# define PNG_WRITE_sRGB_SUPPORTED +# ifndef PNG_sRGB_SUPPORTED +# define PNG_sRGB_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_tEXt +# define PNG_WRITE_tEXt_SUPPORTED +# ifndef PNG_tEXt_SUPPORTED +# define PNG_tEXt_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_tIME +# define PNG_WRITE_tIME_SUPPORTED +# ifndef PNG_tIME_SUPPORTED +# define PNG_tIME_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_tRNS +# define PNG_WRITE_tRNS_SUPPORTED +# ifndef PNG_tRNS_SUPPORTED +# define PNG_tRNS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_WRITE_zTXt +# define PNG_WRITE_zTXt_SUPPORTED +# ifndef PNG_zTXt_SUPPORTED +# define PNG_zTXt_SUPPORTED +# endif +#endif +#if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \ + defined(PNG_WRITE_zTXt_SUPPORTED) +# define PNG_WRITE_TEXT_SUPPORTED +# ifndef PNG_TEXT_SUPPORTED +# define PNG_TEXT_SUPPORTED +# endif +#endif + +#ifdef PNG_WRITE_tIME_SUPPORTED +# ifndef PNG_NO_CONVERT_tIME +# ifndef _WIN32_WCE +/* The "tm" structure is not supported on WindowsCE */ +# ifndef PNG_CONVERT_tIME_SUPPORTED +# define PNG_CONVERT_tIME_SUPPORTED +# endif +# endif +# endif +#endif + +#endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */ + +#ifndef PNG_NO_WRITE_FILTER +# ifndef PNG_WRITE_FILTER_SUPPORTED +# define PNG_WRITE_FILTER_SUPPORTED +# endif +#endif + +#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS +# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_UNKNOWN_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_HANDLE_AS_UNKNOWN +# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# endif +#endif +#endif /* PNG_WRITE_SUPPORTED */ + +/* Turn this off to disable png_read_png() and + * png_write_png() and leave the row_pointers member + * out of the info structure. + */ +#ifndef PNG_NO_INFO_IMAGE +# define PNG_INFO_IMAGE_SUPPORTED +#endif + +/* Need the time information for converting tIME chunks */ +#ifdef PNG_CONVERT_tIME_SUPPORTED + /* "time.h" functions are not supported on WindowsCE */ +# include +#endif + +/* Some typedefs to get us started. These should be safe on most of the + * common platforms. The typedefs should be at least as large as the + * numbers suggest (a png_uint_32 must be at least 32 bits long), but they + * don't have to be exactly that size. Some compilers dislike passing + * unsigned shorts as function parameters, so you may be better off using + * unsigned int for png_uint_16. + */ + +#if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL) +typedef unsigned int png_uint_32; +typedef int png_int_32; +#else +typedef unsigned long png_uint_32; +typedef long png_int_32; +#endif +typedef unsigned short png_uint_16; +typedef short png_int_16; +typedef unsigned char png_byte; + +#ifdef PNG_NO_SIZE_T + typedef unsigned int png_size_t; +#else + typedef size_t png_size_t; +#endif +#define png_sizeof(x) (sizeof (x)) + +/* The following is needed for medium model support. It cannot be in the + * pngpriv.h header. Needs modification for other compilers besides + * MSC. Model independent support declares all arrays and pointers to be + * large using the far keyword. The zlib version used must also support + * model independent data. As of version zlib 1.0.4, the necessary changes + * have been made in zlib. The USE_FAR_KEYWORD define triggers other + * changes that are needed. (Tim Wegner) + */ + +/* Separate compiler dependencies (problem here is that zlib.h always + * defines FAR. (SJT) + */ +#ifdef __BORLANDC__ +# if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) +# define LDATA 1 +# else +# define LDATA 0 +# endif + /* GRR: why is Cygwin in here? Cygwin is not Borland C... */ +# if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__) +# define PNG_MAX_MALLOC_64K +# if (LDATA != 1) +# ifndef FAR +# define FAR __far +# endif +# define USE_FAR_KEYWORD +# endif /* LDATA != 1 */ + /* Possibly useful for moving data out of default segment. + * Uncomment it if you want. Could also define FARDATA as + * const if your compiler supports it. (SJT) +# define FARDATA FAR + */ +# endif /* __WIN32__, __FLAT__, __CYGWIN__ */ +#endif /* __BORLANDC__ */ + + +/* Suggest testing for specific compiler first before testing for + * FAR. The Watcom compiler defines both __MEDIUM__ and M_I86MM, + * making reliance oncertain keywords suspect. (SJT) + */ + +/* MSC Medium model */ +#ifdef FAR +# ifdef M_I86MM +# define USE_FAR_KEYWORD +# define FARDATA FAR +# include +# endif +#endif + +/* SJT: default case */ +#ifndef FAR +# define FAR +#endif + +/* At this point FAR is always defined */ +#ifndef FARDATA +# define FARDATA +#endif + +/* Typedef for floating-point numbers that are converted + to fixed-point with a multiple of 100,000, e.g., int_gamma */ +typedef png_int_32 png_fixed_point; + +/* Add typedefs for pointers */ +typedef void FAR * png_voidp; +typedef png_byte FAR * png_bytep; +typedef png_uint_32 FAR * png_uint_32p; +typedef png_int_32 FAR * png_int_32p; +typedef png_uint_16 FAR * png_uint_16p; +typedef png_int_16 FAR * png_int_16p; +typedef PNG_CONST char FAR * png_const_charp; +typedef char FAR * png_charp; +typedef png_fixed_point FAR * png_fixed_point_p; + +#ifndef PNG_NO_STDIO +typedef FILE * png_FILE_p; +#endif + +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double FAR * png_doublep; +#endif + +/* Pointers to pointers; i.e. arrays */ +typedef png_byte FAR * FAR * png_bytepp; +typedef png_uint_32 FAR * FAR * png_uint_32pp; +typedef png_int_32 FAR * FAR * png_int_32pp; +typedef png_uint_16 FAR * FAR * png_uint_16pp; +typedef png_int_16 FAR * FAR * png_int_16pp; +typedef PNG_CONST char FAR * FAR * png_const_charpp; +typedef char FAR * FAR * png_charpp; +typedef png_fixed_point FAR * FAR * png_fixed_point_pp; +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double FAR * FAR * png_doublepp; +#endif + +/* Pointers to pointers to pointers; i.e., pointer to array */ +typedef char FAR * FAR * FAR * png_charppp; + +/* Define PNG_BUILD_DLL if the module being built is a Windows + * LIBPNG DLL. + * + * Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL. + * It is equivalent to Microsoft predefined macro _DLL that is + * automatically defined when you compile using the share + * version of the CRT (C Run-Time library) + * + * The cygwin mods make this behavior a little different: + * Define PNG_BUILD_DLL if you are building a dll for use with cygwin + * Define PNG_STATIC if you are building a static library for use with cygwin, + * -or- if you are building an application that you want to link to the + * static library. + * PNG_USE_DLL is defined by default (no user action needed) unless one of + * the other flags is defined. + */ + +#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL)) +# define PNG_DLL +#endif + +/* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall", + * you may get warnings regarding the linkage of png_zalloc and png_zfree. + * Don't ignore those warnings; you must also reset the default calling + * convention in your compiler to match your PNGAPI, and you must build + * zlib and your applications the same way you build libpng. + */ + +#ifdef __CYGWIN__ +# undef PNGAPI +# define PNGAPI __cdecl +# undef PNG_IMPEXP +# define PNG_IMPEXP +#endif + +#ifdef __WATCOMC__ +# ifndef PNGAPI +# define PNGAPI +# endif +#endif + +#if defined(__MINGW32__) && !defined(PNG_MODULEDEF) +# ifndef PNG_NO_MODULEDEF +# define PNG_NO_MODULEDEF +# endif +#endif + +#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF) +# define PNG_IMPEXP +#endif + +#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \ + (( defined(_Windows) || defined(_WINDOWS) || \ + defined(WIN32) || defined(_WIN32) || defined(__WIN32__) )) + +# ifndef PNGAPI +# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800)) +# define PNGAPI __cdecl +# else +# define PNGAPI _cdecl +# endif +# endif + +# if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \ + 0 /* WINCOMPILER_WITH_NO_SUPPORT_FOR_DECLIMPEXP */) +# define PNG_IMPEXP +# endif + +# ifndef PNG_IMPEXP + +# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol +# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol + + /* Borland/Microsoft */ +# if defined(_MSC_VER) || defined(__BORLANDC__) +# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500) +# define PNG_EXPORT PNG_EXPORT_TYPE1 +# else +# define PNG_EXPORT PNG_EXPORT_TYPE2 +# ifdef PNG_BUILD_DLL +# define PNG_IMPEXP __export +# else +# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in VC++ */ +# endif /* Exists in Borland C++ for + C++ classes (== huge) */ +# endif +# endif + +# ifndef PNG_IMPEXP +# ifdef PNG_BUILD_DLL +# define PNG_IMPEXP __declspec(dllexport) +# else +# define PNG_IMPEXP __declspec(dllimport) +# endif +# endif +# endif /* PNG_IMPEXP */ +#else /* !(DLL || non-cygwin WINDOWS) */ +# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) +# ifndef PNGAPI +# define PNGAPI _System +# endif +# else +# if 0 /* ... other platforms, with other meanings */ +# endif +# endif +#endif + +#ifndef PNGAPI +# define PNGAPI +#endif +#ifndef PNG_IMPEXP +# define PNG_IMPEXP +#endif + +#ifdef PNG_BUILDSYMS +# ifndef PNG_EXPORT +# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END +# endif +#endif + +#ifndef PNG_EXPORT +# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol +#endif + +#define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */ + +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. + * + * Added at libpng-1.2.41. + */ + +#ifndef PNG_NO_PEDANTIC_WARNINGS +# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED +# define PNG_PEDANTIC_WARNINGS_SUPPORTED +# endif +#endif + +#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. Added at libpng + * version 1.2.41. + */ +# ifdef __GNUC__ +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif + + /* This specifically protects structure members that should only be + * accessed from within the library, therefore should be empty during + * a library build. + */ +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_DEPSTRUCT +# define PNG_DEPSTRUCT __attribute__((__deprecated__)) +# endif +# ifndef PNG_PRIVATE +# if 0 /* Doesn't work so we use deprecated instead*/ +# define PNG_PRIVATE \ + __attribute__((warning("This function is not exported by libpng."))) +# else +# define PNG_PRIVATE \ + __attribute__((__deprecated__)) +# endif +# endif /* PNG_PRIVATE */ +# endif /* __GNUC__ */ +#endif /* PNG_PEDANTIC_WARNINGS */ + +#ifndef PNG_DEPRECATED +# define PNG_DEPRECATED /* Use of this function is deprecated */ +#endif +#ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* The result of this function must be checked */ +#endif +#ifndef PNG_NORETURN +# define PNG_NORETURN /* This function does not return */ +#endif +#ifndef PNG_ALLOCATED +# define PNG_ALLOCATED /* The result of the function is new memory */ +#endif +#ifndef PNG_DEPSTRUCT +# define PNG_DEPSTRUCT /* Access to this struct member is deprecated */ +#endif +#ifndef PNG_PRIVATE +# define PNG_PRIVATE /* This is a private libpng function */ +#endif + +/* Users may want to use these so they are not private. Any library + * functions that are passed far data must be model-independent. + */ + +/* memory model/platform independent fns */ +#ifndef PNG_ABORT +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) +# define PNG_ABORT() ExitProcess(0) +# else +# define PNG_ABORT() abort() +# endif +#endif + +#ifdef USE_FAR_KEYWORD +/* Use this to make far-to-near assignments */ +# define CHECK 1 +# define NOCHECK 0 +# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) +# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) +# define png_strcpy _fstrcpy +# define png_strncpy _fstrncpy /* Added to v 1.2.6 */ +# define png_strlen _fstrlen +# define png_memcmp _fmemcmp /* SJT: added */ +# define png_memcpy _fmemcpy +# define png_memset _fmemset +# define png_sprintf sprintf +#else +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) +# /* Favor Windows over C runtime fns */ +# define CVT_PTR(ptr) (ptr) +# define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_strcpy lstrcpyA +# define png_strncpy lstrcpynA +# define png_strlen lstrlenA +# define png_memcmp memcmp +# define png_memcpy CopyMemory +# define png_memset memset +# define png_sprintf wsprintfA +# else +# define CVT_PTR(ptr) (ptr) +# define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_strcpy strcpy +# define png_strncpy strncpy /* Added to v 1.2.6 */ +# define png_strlen strlen +# define png_memcmp memcmp /* SJT: added */ +# define png_memcpy memcpy +# define png_memset memset +# define png_sprintf sprintf +# endif +#endif + +#ifndef PNG_NO_SNPRINTF +# ifdef _MSC_VER +# define png_snprintf _snprintf /* Added to v 1.2.19 */ +# define png_snprintf2 _snprintf +# define png_snprintf6 _snprintf +# else +# define png_snprintf snprintf /* Added to v 1.2.19 */ +# define png_snprintf2 snprintf +# define png_snprintf6 snprintf +# endif +#else + /* You don't have or don't want to use snprintf(). Caution: Using + * sprintf instead of snprintf exposes your application to accidental + * or malevolent buffer overflows. If you don't have snprintf() + * as a general rule you should provide one (you can get one from + * Portable OpenSSH). + */ +# define png_snprintf(s1,n,fmt,x1) png_sprintf(s1,fmt,x1) +# define png_snprintf2(s1,n,fmt,x1,x2) png_sprintf(s1,fmt,x1,x2) +# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \ + png_sprintf(s1,fmt,x1,x2,x3,x4,x5,x6) +#endif + +/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, + * and no smaller than png_uint_32. Casts from png_size_t or png_uint_32 + * to png_alloc_size_t are not necessary; in fact, it is recommended + * not to use them at all so that the compiler can complain when something + * turns out to be problematic. + * Casts in the other direction (from png_alloc_size_t to png_size_t or + * png_uint_32) should be explicitly applied; however, we do not expect + * to encounter practical situations that require such conversions. + */ +#if defined(__TURBOC__) && !defined(__FLAT__) + typedef unsigned long png_alloc_size_t; +#else +# if defined(_MSC_VER) && defined(MAXSEG_64K) + typedef unsigned long png_alloc_size_t; +# else + /* This is an attempt to detect an old Windows system where (int) is + * actually 16 bits, in that case png_malloc must have an argument with a + * bigger size to accomodate the requirements of the library. + */ +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) && \ + (!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL) + typedef DWORD png_alloc_size_t; +# else + typedef png_size_t png_alloc_size_t; +# endif +# endif +#endif +/* End of memory model/platform independent support */ + +/* Just a little check that someone hasn't tried to define something + * contradictory. + */ +#if (PNG_ZBUF_SIZE > 65536L) && defined(PNG_MAX_MALLOC_64K) +# undef PNG_ZBUF_SIZE +# define PNG_ZBUF_SIZE 65536L +#endif + + +/* Added at libpng-1.2.8 */ +#endif /* PNG_VERSION_INFO_ONLY */ + +#endif /* PNGCONF_H */ diff --git a/portlibs/lib/libpng.a b/portlibs/lib/libpng.a index cc07e34f81adfe1f78b7a12d2d35b29a52598ae7..92e54031aab0f51ca5fbc433c0b0fff4aa0d77f8 100644 GIT binary patch literal 231398 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%0AOT?{a3jWcvV1j43cJ_-#H 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 h&pl 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 literal 919616 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≪n6C14Pm^EFWdyjE-QE) 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�k#$^!J@WX3 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

)Z4eFOYl7%06**74Wsr@nYy75BQT}# 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%0D?~q=U>=~u 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 c=0xYOwcv%QR|)XG4o3JcxM0q080j{od5s; diff --git a/source/gui/png.h b/source/gui/png.h index e0cec0c2..f46e97ce 100644 --- a/source/gui/png.h +++ b/source/gui/png.h @@ -1,14 +1,17 @@ + /* png.h - header file for PNG reference library * - * libpng version 1.2.29 - May 8, 2008 - * Copyright (c) 1998-2008 Glenn Randers-Pehrson + * libpng version 1.4.4 - September 23, 2010 + * Copyright (c) 1998-2010 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * + * This code is released under the libpng license (See LICENSE, below) + * * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.2.29 - May 8, 2008: Glenn + * libpng versions 0.97, January 1998, through 1.4.4 - September 23, 2010: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -102,96 +105,48 @@ * 1.0.16 10 10016 10.so.0.1.0.16 * 1.2.6 13 10206 12.so.0.1.2.6 * 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2 - * 1.0.17rc1 10 10017 10.so.0.1.0.17rc1 + * 1.0.17rc1 10 10017 12.so.0.1.0.17rc1 * 1.2.7rc1 13 10207 12.so.0.1.2.7rc1 - * 1.0.17 10 10017 10.so.0.1.0.17 + * 1.0.17 10 10017 12.so.0.1.0.17 * 1.2.7 13 10207 12.so.0.1.2.7 * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 - * 1.0.18rc1-5 10 10018 10.so.0.1.0.18rc1-5 + * 1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5 * 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5 - * 1.0.18 10 10018 10.so.0.1.0.18 + * 1.0.18 10 10018 12.so.0.1.0.18 * 1.2.8 13 10208 12.so.0.1.2.8 * 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3 * 1.2.9beta4-11 13 10209 12.so.0.9[.0] * 1.2.9rc1 13 10209 12.so.0.9[.0] * 1.2.9 13 10209 12.so.0.9[.0] - * 1.2.10beta1-8 13 10210 12.so.0.10[.0] - * 1.2.10rc1-3 13 10210 12.so.0.10[.0] + * 1.2.10beta1-7 13 10210 12.so.0.10[.0] + * 1.2.10rc1-2 13 10210 12.so.0.10[.0] * 1.2.10 13 10210 12.so.0.10[.0] + * 1.4.0beta1-5 14 10400 14.so.0.0[.0] * 1.2.11beta1-4 13 10211 12.so.0.11[.0] - * 1.0.19rc1-5 10 10019 10.so.0.19[.0] - * 1.2.11rc1-5 13 10211 12.so.0.11[.0] - * 1.0.19 10 10019 10.so.0.19[.0] + * 1.4.0beta7-8 14 10400 14.so.0.0[.0] * 1.2.11 13 10211 12.so.0.11[.0] - * 1.0.20 10 10020 10.so.0.20[.0] * 1.2.12 13 10212 12.so.0.12[.0] - * 1.2.13beta1 13 10213 12.so.0.13[.0] - * 1.0.21 10 10021 10.so.0.21[.0] + * 1.4.0beta9-14 14 10400 14.so.0.0[.0] * 1.2.13 13 10213 12.so.0.13[.0] - * 1.2.14beta1-2 13 10214 12.so.0.14[.0] - * 1.0.22rc1 10 10022 10.so.0.22[.0] - * 1.2.14rc1 13 10214 12.so.0.14[.0] - * 1.0.22 10 10022 10.so.0.22[.0] - * 1.2.14 13 10214 12.so.0.14[.0] - * 1.2.15beta1-6 13 10215 12.so.0.15[.0] - * 1.0.23rc1-5 10 10023 10.so.0.23[.0] - * 1.2.15rc1-5 13 10215 12.so.0.15[.0] - * 1.0.23 10 10023 10.so.0.23[.0] - * 1.2.15 13 10215 12.so.0.15[.0] - * 1.2.16beta1-2 13 10216 12.so.0.16[.0] - * 1.2.16rc1 13 10216 12.so.0.16[.0] - * 1.0.24 10 10024 10.so.0.24[.0] - * 1.2.16 13 10216 12.so.0.16[.0] - * 1.2.17beta1-2 13 10217 12.so.0.17[.0] - * 1.0.25rc1 10 10025 10.so.0.25[.0] - * 1.2.17rc1-3 13 10217 12.so.0.17[.0] - * 1.0.25 10 10025 10.so.0.25[.0] - * 1.2.17 13 10217 12.so.0.17[.0] - * 1.0.26 10 10026 10.so.0.26[.0] - * 1.2.18 13 10218 12.so.0.18[.0] - * 1.2.19beta1-31 13 10219 12.so.0.19[.0] - * 1.0.27rc1-6 10 10027 10.so.0.27[.0] - * 1.2.19rc1-6 13 10219 12.so.0.19[.0] - * 1.0.27 10 10027 10.so.0.27[.0] - * 1.2.19 13 10219 12.so.0.19[.0] - * 1.2.20beta01-04 13 10220 12.so.0.20[.0] - * 1.0.28rc1-6 10 10028 10.so.0.28[.0] - * 1.2.20rc1-6 13 10220 12.so.0.20[.0] - * 1.0.28 10 10028 10.so.0.28[.0] - * 1.2.20 13 10220 12.so.0.20[.0] - * 1.2.21beta1-2 13 10221 12.so.0.21[.0] - * 1.2.21rc1-3 13 10221 12.so.0.21[.0] - * 1.0.29 10 10029 10.so.0.29[.0] - * 1.2.21 13 10221 12.so.0.21[.0] - * 1.2.22beta1-4 13 10222 12.so.0.22[.0] - * 1.0.30rc1 10 10030 10.so.0.30[.0] - * 1.2.22rc1 13 10222 12.so.0.22[.0] - * 1.0.30 10 10030 10.so.0.30[.0] - * 1.2.22 13 10222 12.so.0.22[.0] - * 1.2.23beta01-05 13 10223 12.so.0.23[.0] - * 1.2.23rc01 13 10223 12.so.0.23[.0] - * 1.2.23 13 10223 12.so.0.23[.0] - * 1.2.24beta01-02 13 10224 12.so.0.24[.0] - * 1.2.24rc01 13 10224 12.so.0.24[.0] - * 1.2.24 13 10224 12.so.0.24[.0] - * 1.2.25beta01-06 13 10225 12.so.0.25[.0] - * 1.2.25rc01-02 13 10225 12.so.0.25[.0] - * 1.0.31 10 10031 10.so.0.31[.0] - * 1.2.25 13 10225 12.so.0.25[.0] - * 1.2.26beta01-06 13 10226 12.so.0.26[.0] - * 1.2.26rc01 13 10226 12.so.0.26[.0] - * 1.2.26 13 10226 12.so.0.26[.0] - * 1.0.32 10 10032 10.so.0.32[.0] - * 1.2.27beta01-06 13 10227 12.so.0.27[.0] - * 1.2.27rc01 13 10227 12.so.0.27[.0] - * 1.0.33 10 10033 10.so.0.33[.0] - * 1.2.27 13 10227 12.so.0.27[.0] - * 1.0.34 10 10034 10.so.0.34[.0] - * 1.2.28 13 10228 12.so.0.28[.0] - * 1.2.29beta01-03 13 10229 12.so.0.29[.0] - * 1.2.29rc01 13 10229 12.so.0.29[.0] - * 1.0.35 10 10035 10.so.0.35[.0] - * 1.2.29 13 10229 12.so.0.29[.0] + * 1.4.0beta15-36 14 10400 14.so.0.0[.0] + * 1.4.0beta37-87 14 10400 14.so.14.0[.0] + * 1.4.0rc01 14 10400 14.so.14.0[.0] + * 1.4.0beta88-109 14 10400 14.so.14.0[.0] + * 1.4.0rc02-08 14 10400 14.so.14.0[.0] + * 1.4.0 14 10400 14.so.14.0[.0] + * 1.4.1beta01-03 14 10401 14.so.14.1[.0] + * 1.4.1rc01 14 10401 14.so.14.1[.0] + * 1.4.1beta04-12 14 10401 14.so.14.1[.0] + * 1.4.1rc02-04 14 10401 14.so.14.1[.0] + * 1.4.1 14 10401 14.so.14.1[.0] + * 1.4.2beta01 14 10402 14.so.14.2[.0] + * 1.4.2rc02-06 14 10402 14.so.14.2[.0] + * 1.4.2 14 10402 14.so.14.2[.0] + * 1.4.3beta01-05 14 10403 14.so.14.3[.0] + * 1.4.3rc01-03 14 10403 14.so.14.3[.0] + * 1.4.3 14 10403 14.so.14.3[.0] + * 1.4.4beta01-08 14 10404 14.so.14.4[.0] + * 1.4.4rc01-06 14 10404 14.so.14.4[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -201,7 +156,7 @@ * to the source version x.y.z (leading zeros in y and z). Beta versions * were given the previous public release number plus a letter, until * version 1.0.6j; from then on they were given the upcoming public - * release number plus "betaNN" or "rcNN". + * release number plus "betaNN" or "rcN". * * Binary incompatibility exists only when applications make direct access * to the info_ptr or png_ptr members through png.h, and the compiled @@ -221,8 +176,10 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.2.29, May 8, 2008, are - * Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are + * This code is released under the libpng license. + * + * libpng versions 1.2.6, August 15, 2004, through 1.4.4, September 23, 2010, are + * Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: * @@ -310,7 +267,7 @@ * A "png_get_copyright" function is available, for convenient use in "about" * boxes and the like: * - * printf("%s",png_get_copyright(NULL)); + * printf("%s",png_get_copyright(NULL)); * * Also, the PNG logo (in PNG format, of course) is supplied in the * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). @@ -333,13 +290,13 @@ * Y2K compliance in libpng: * ========================= * - * May 8, 2008 + * September 23, 2010 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.2.29 are Y2K compliant. It is my belief that earlier + * upward through 1.4.4 are Y2K compliant. It is my belief that earlier * versions were also Y2K compliant. * * Libpng only has three year fields. One is a 2-byte unsigned integer @@ -395,19 +352,20 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.29" +#define PNG_LIBPNG_VER_STRING "1.4.4" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.29 - May 8, 2008\n" + " libpng version 1.4.4 - September 23, 2010\n" -#define PNG_LIBPNG_VER_SONUM 0 -#define PNG_LIBPNG_VER_DLLNUM 13 +#define PNG_LIBPNG_VER_SONUM 14 +#define PNG_LIBPNG_VER_DLLNUM 14 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 -#define PNG_LIBPNG_VER_MINOR 2 -#define PNG_LIBPNG_VER_RELEASE 29 +#define PNG_LIBPNG_VER_MINOR 4 +#define PNG_LIBPNG_VER_RELEASE 4 /* This should match the numeric part of the final component of - * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ + * PNG_LIBPNG_VER_STRING, omitting any leading zero: + */ #define PNG_LIBPNG_VER_BUILD 0 @@ -417,7 +375,7 @@ #define PNG_LIBPNG_BUILD_RC 3 #define PNG_LIBPNG_BUILD_STABLE 4 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 - + /* Release-Specific Flags */ #define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with PNG_LIBPNG_BUILD_STABLE only */ @@ -426,41 +384,43 @@ #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with PNG_LIBPNG_BUILD_PRIVATE */ -#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE +#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only * version 1.0.0 was mis-numbered 100 instead of 10000). From - * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10229 /* 1.2.29 */ + * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release + */ +#define PNG_LIBPNG_VER 10404 /* 1.4.4 */ #ifndef PNG_VERSION_INFO_ONLY -/* include the compression library's header */ +/* Include the compression library's header */ #include "zlib.h" #endif -/* include all user configurable info, including optional assembler routines */ +/* Include all user configurable info, including optional assembler routines */ #include "pngconf.h" /* - * Added at libpng-1.2.8 */ -/* Ref MSDN: Private as priority over Special + * Added at libpng-1.2.8 + * + * Ref MSDN: Private as priority over Special * VS_FF_PRIVATEBUILD File *was not* built using standard release * procedures. If this value is given, the StringFileInfo block must - * contain a PrivateBuild string. + * contain a PrivateBuild string. * * VS_FF_SPECIALBUILD File *was* built by the original company using * standard release procedures but is a variation of the standard * file of the same version number. If this value is given, the - * StringFileInfo block must contain a SpecialBuild string. + * StringFileInfo block must contain a SpecialBuild string. */ -#if defined(PNG_USER_PRIVATEBUILD) +#ifdef PNG_USER_PRIVATEBUILD # define PNG_LIBPNG_BUILD_TYPE \ (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_PRIVATE) #else -# if defined(PNG_LIBPNG_SPECIALBUILD) +# ifdef PNG_LIBPNG_SPECIALBUILD # define PNG_LIBPNG_BUILD_TYPE \ (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_SPECIAL) # else @@ -481,65 +441,12 @@ extern "C" { * which applications aren't expected to use directly. */ -#ifndef PNG_NO_TYPECAST_NULL -#define int_p_NULL (int *)NULL -#define png_bytep_NULL (png_bytep)NULL -#define png_bytepp_NULL (png_bytepp)NULL -#define png_doublep_NULL (png_doublep)NULL -#define png_error_ptr_NULL (png_error_ptr)NULL -#define png_flush_ptr_NULL (png_flush_ptr)NULL -#define png_free_ptr_NULL (png_free_ptr)NULL -#define png_infopp_NULL (png_infopp)NULL -#define png_malloc_ptr_NULL (png_malloc_ptr)NULL -#define png_read_status_ptr_NULL (png_read_status_ptr)NULL -#define png_rw_ptr_NULL (png_rw_ptr)NULL -#define png_structp_NULL (png_structp)NULL -#define png_uint_16p_NULL (png_uint_16p)NULL -#define png_voidp_NULL (png_voidp)NULL -#define png_write_status_ptr_NULL (png_write_status_ptr)NULL -#else -#define int_p_NULL NULL -#define png_bytep_NULL NULL -#define png_bytepp_NULL NULL -#define png_doublep_NULL NULL -#define png_error_ptr_NULL NULL -#define png_flush_ptr_NULL NULL -#define png_free_ptr_NULL NULL -#define png_infopp_NULL NULL -#define png_malloc_ptr_NULL NULL -#define png_read_status_ptr_NULL NULL -#define png_rw_ptr_NULL NULL -#define png_structp_NULL NULL -#define png_uint_16p_NULL NULL -#define png_voidp_NULL NULL -#define png_write_status_ptr_NULL NULL -#endif - -/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */ +/* Variables declared in png.c - only it needs to define PNG_NO_EXTERN */ #if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN) /* Version information for C files, stored in png.c. This had better match * the version above. */ -#ifdef PNG_USE_GLOBAL_ARRAYS -PNG_EXPORT_VAR (PNG_CONST char) png_libpng_ver[18]; - /* need room for 99.99.99beta99z */ -#else #define png_libpng_ver png_get_header_ver(NULL) -#endif - -#ifdef PNG_USE_GLOBAL_ARRAYS -/* This was removed in version 1.0.5c */ -/* Structures to facilitate easy interlacing. See png.c for more details */ -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_start[7]; -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_inc[7]; -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_ystart[7]; -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_yinc[7]; -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_mask[7]; -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_dsp_mask[7]; -/* This isn't currently used. If you need it, see png.c for more details. -PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_height[7]; -*/ -#endif #endif /* PNG_NO_EXTERN */ @@ -668,16 +575,16 @@ typedef struct png_time_struct typedef png_time FAR * png_timep; typedef png_time FAR * FAR * png_timepp; -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) +#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \ + defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED) /* png_unknown_chunk is a structure to hold queued chunks for which there is * no specific support. The idea is that we can use this to queue * up private chunks for output even though the library doesn't actually * know about their semantics. */ -#define PNG_CHUNK_NAME_LENGTH 5 typedef struct png_unknown_chunk_t { - png_byte name[PNG_CHUNK_NAME_LENGTH]; + png_byte name[5]; png_byte *data; png_size_t size; @@ -731,25 +638,38 @@ typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp; typedef struct png_info_struct { /* the following are necessary for every PNG file */ - png_uint_32 width; /* width of image in pixels (from IHDR) */ - png_uint_32 height; /* height of image in pixels (from IHDR) */ - png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */ - png_uint_32 rowbytes; /* bytes needed to hold an untransformed row */ - png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */ - png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */ - png_uint_16 num_trans; /* number of transparent palette color (tRNS) */ - png_byte bit_depth; /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */ - png_byte color_type; /* see PNG_COLOR_TYPE_ below (from IHDR) */ + png_uint_32 width PNG_DEPSTRUCT; /* width of image in pixels (from IHDR) */ + png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels (from IHDR) */ + png_uint_32 valid PNG_DEPSTRUCT; /* valid chunk data (see PNG_INFO_ + below) */ + png_size_t rowbytes PNG_DEPSTRUCT; /* bytes needed to hold an untransformed + row */ + png_colorp palette PNG_DEPSTRUCT; /* array of color values + (valid & PNG_INFO_PLTE) */ + png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in + "palette" (PLTE) */ + png_uint_16 num_trans PNG_DEPSTRUCT; /* number of transparent palette + color (tRNS) */ + png_byte bit_depth PNG_DEPSTRUCT; /* 1, 2, 4, 8, or 16 bits/channel + (from IHDR) */ + png_byte color_type PNG_DEPSTRUCT; /* see PNG_COLOR_TYPE_ below + (from IHDR) */ /* The following three should have been named *_method not *_type */ - png_byte compression_type; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */ - png_byte filter_type; /* must be PNG_FILTER_TYPE_BASE (from IHDR) */ - png_byte interlace_type; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */ + png_byte compression_type PNG_DEPSTRUCT; /* must be + PNG_COMPRESSION_TYPE_BASE (IHDR) */ + png_byte filter_type PNG_DEPSTRUCT; /* must be PNG_FILTER_TYPE_BASE + (from IHDR) */ + png_byte interlace_type PNG_DEPSTRUCT; /* One of PNG_INTERLACE_NONE, + PNG_INTERLACE_ADAM7 */ /* The following is informational only on read, and not used on writes. */ - png_byte channels; /* number of data channels per pixel (1, 2, 3, 4) */ - png_byte pixel_depth; /* number of bits per pixel */ - png_byte spare_byte; /* to align the data, and for future use */ - png_byte signature[8]; /* magic bytes read by libpng from start of file */ + png_byte channels PNG_DEPSTRUCT; /* number of data channels per + pixel (1, 2, 3, 4) */ + png_byte pixel_depth PNG_DEPSTRUCT; /* number of bits per pixel */ + png_byte spare_byte PNG_DEPSTRUCT; /* to align the data, and for + future use */ + png_byte signature[8] PNG_DEPSTRUCT; /* magic bytes read by libpng + from start of file */ /* The rest of the data is optional. If you are reading, check the * valid field to see if the information in these are valid. If you @@ -762,16 +682,18 @@ typedef struct png_info_struct * on which the image was created, normally in the range [1.0, 2.5]. * Data is valid if (valid & PNG_INFO_gAMA) is non-zero. */ - float gamma; /* gamma value of image, if (valid & PNG_INFO_gAMA) */ + float gamma PNG_DEPSTRUCT; /* gamma value of image, + if (valid & PNG_INFO_gAMA) */ #endif -#if defined(PNG_sRGB_SUPPORTED) +#ifdef PNG_sRGB_SUPPORTED /* GR-P, 0.96a */ /* Data valid if (valid & PNG_INFO_sRGB) non-zero. */ - png_byte srgb_intent; /* sRGB rendering intent [0, 1, 2, or 3] */ + png_byte srgb_intent PNG_DEPSTRUCT; /* sRGB rendering intent + [0, 1, 2, or 3] */ #endif -#if defined(PNG_TEXT_SUPPORTED) +#ifdef PNG_TEXT_SUPPORTED /* The tEXt, and zTXt chunks contain human-readable textual data in * uncompressed, compressed, and optionally compressed forms, respectively. * The data in "text" is an array of pointers to uncompressed, @@ -780,26 +702,26 @@ typedef struct png_info_struct * unique, and the text string may be empty. Any number of text chunks may * be in an image. */ - int num_text; /* number of comments read/to write */ - int max_text; /* current size of text array */ - png_textp text; /* array of comments read/to write */ + int num_text PNG_DEPSTRUCT; /* number of comments read/to write */ + int max_text PNG_DEPSTRUCT; /* current size of text array */ + png_textp text PNG_DEPSTRUCT; /* array of comments read/to write */ #endif /* PNG_TEXT_SUPPORTED */ -#if defined(PNG_tIME_SUPPORTED) +#ifdef PNG_tIME_SUPPORTED /* The tIME chunk holds the last time the displayed image data was * modified. See the png_time struct for the contents of this struct. */ - png_time mod_time; + png_time mod_time PNG_DEPSTRUCT; #endif -#if defined(PNG_sBIT_SUPPORTED) +#ifdef PNG_sBIT_SUPPORTED /* The sBIT chunk specifies the number of significant high-order bits * in the pixel data. Values are in the range [1, bit_depth], and are * only specified for the channels in the pixel data. The contents of * the low-order bits is not specified. Data is valid if * (valid & PNG_INFO_sBIT) is non-zero. */ - png_color_8 sig_bit; /* significant bits in color channels */ + png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in color channels */ #endif #if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_EXPAND_SUPPORTED) || \ @@ -813,8 +735,10 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) * single color specified that should be treated as fully transparent. * Data is valid if (valid & PNG_INFO_tRNS) is non-zero. */ - png_bytep trans; /* transparent values for paletted image */ - png_color_16 trans_values; /* transparent color for non-palette image */ + png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for paletted + image */ + png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for + non-palette image */ #endif #if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) @@ -824,38 +748,39 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) * in "background" are normally in the same color space/depth as the * pixel data. Data is valid if (valid & PNG_INFO_bKGD) is non-zero. */ - png_color_16 background; + png_color_16 background PNG_DEPSTRUCT; #endif -#if defined(PNG_oFFs_SUPPORTED) +#ifdef PNG_oFFs_SUPPORTED /* The oFFs chunk gives the offset in "offset_unit_type" units rightwards * and downwards from the top-left corner of the display, page, or other * application-specific co-ordinate space. See the PNG_OFFSET_ defines * below for the unit types. Valid if (valid & PNG_INFO_oFFs) non-zero. */ - png_int_32 x_offset; /* x offset on page */ - png_int_32 y_offset; /* y offset on page */ - png_byte offset_unit_type; /* offset units type */ + png_int_32 x_offset PNG_DEPSTRUCT; /* x offset on page */ + png_int_32 y_offset PNG_DEPSTRUCT; /* y offset on page */ + png_byte offset_unit_type PNG_DEPSTRUCT; /* offset units type */ #endif -#if defined(PNG_pHYs_SUPPORTED) +#ifdef PNG_pHYs_SUPPORTED /* The pHYs chunk gives the physical pixel density of the image for * display or printing in "phys_unit_type" units (see PNG_RESOLUTION_ * defines below). Data is valid if (valid & PNG_INFO_pHYs) is non-zero. */ - png_uint_32 x_pixels_per_unit; /* horizontal pixel density */ - png_uint_32 y_pixels_per_unit; /* vertical pixel density */ - png_byte phys_unit_type; /* resolution type (see PNG_RESOLUTION_ below) */ + png_uint_32 x_pixels_per_unit PNG_DEPSTRUCT; /* horizontal pixel density */ + png_uint_32 y_pixels_per_unit PNG_DEPSTRUCT; /* vertical pixel density */ + png_byte phys_unit_type PNG_DEPSTRUCT; /* resolution type (see + PNG_RESOLUTION_ below) */ #endif -#if defined(PNG_hIST_SUPPORTED) +#ifdef PNG_hIST_SUPPORTED /* The hIST chunk contains the relative frequency or importance of the * various palette entries, so that a viewer can intelligently select a * reduced-color palette, if required. Data is an array of "num_palette" * values in the range [0,65535]. Data valid if (valid & PNG_INFO_hIST) * is non-zero. */ - png_uint_16p hist; + png_uint_16p hist PNG_DEPSTRUCT; #endif #ifdef PNG_cHRM_SUPPORTED @@ -866,18 +791,18 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) * [0.0, 0.8]. Data valid if (valid & PNG_INFO_cHRM) non-zero. */ #ifdef PNG_FLOATING_POINT_SUPPORTED - float x_white; - float y_white; - float x_red; - float y_red; - float x_green; - float y_green; - float x_blue; - float y_blue; + float x_white PNG_DEPSTRUCT; + float y_white PNG_DEPSTRUCT; + float x_red PNG_DEPSTRUCT; + float y_red PNG_DEPSTRUCT; + float x_green PNG_DEPSTRUCT; + float y_green PNG_DEPSTRUCT; + float x_blue PNG_DEPSTRUCT; + float y_blue PNG_DEPSTRUCT; #endif #endif -#if defined(PNG_pCAL_SUPPORTED) +#ifdef PNG_pCAL_SUPPORTED /* The pCAL chunk describes a transformation between the stored pixel * values and original physical data values used to create the image. * The integer range [0, 2^bit_depth - 1] maps to the floating-point @@ -889,42 +814,47 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) * implemented, and for a description of the ASCII parameter strings. * Data values are valid if (valid & PNG_INFO_pCAL) non-zero. */ - png_charp pcal_purpose; /* pCAL chunk description string */ - png_int_32 pcal_X0; /* minimum value */ - png_int_32 pcal_X1; /* maximum value */ - png_charp pcal_units; /* Latin-1 string giving physical units */ - png_charpp pcal_params; /* ASCII strings containing parameter values */ - png_byte pcal_type; /* equation type (see PNG_EQUATION_ below) */ - png_byte pcal_nparams; /* number of parameters given in pcal_params */ + png_charp pcal_purpose PNG_DEPSTRUCT; /* pCAL chunk description string */ + png_int_32 pcal_X0 PNG_DEPSTRUCT; /* minimum value */ + png_int_32 pcal_X1 PNG_DEPSTRUCT; /* maximum value */ + png_charp pcal_units PNG_DEPSTRUCT; /* Latin-1 string giving physical + units */ + png_charpp pcal_params PNG_DEPSTRUCT; /* ASCII strings containing + parameter values */ + png_byte pcal_type PNG_DEPSTRUCT; /* equation type + (see PNG_EQUATION_ below) */ + png_byte pcal_nparams PNG_DEPSTRUCT; /* number of parameters given + in pcal_params */ #endif /* New members added in libpng-1.0.6 */ -#ifdef PNG_FREE_ME_SUPPORTED - png_uint_32 free_me; /* flags items libpng is responsible for freeing */ + png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is + responsible for freeing */ + +#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \ + defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED) + /* Storage for unknown chunks that the library doesn't recognize. */ + png_unknown_chunkp unknown_chunks PNG_DEPSTRUCT; + png_size_t unknown_chunks_num PNG_DEPSTRUCT; #endif -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - /* storage for unknown chunks that the library doesn't recognize. */ - png_unknown_chunkp unknown_chunks; - png_size_t unknown_chunks_num; -#endif - -#if defined(PNG_iCCP_SUPPORTED) +#ifdef PNG_iCCP_SUPPORTED /* iCCP chunk data. */ - png_charp iccp_name; /* profile name */ - png_charp iccp_profile; /* International Color Consortium profile data */ + png_charp iccp_name PNG_DEPSTRUCT; /* profile name */ + png_charp iccp_profile PNG_DEPSTRUCT; /* International Color Consortium + profile data */ /* Note to maintainer: should be png_bytep */ - png_uint_32 iccp_proflen; /* ICC profile data length */ - png_byte iccp_compression; /* Always zero */ + png_uint_32 iccp_proflen PNG_DEPSTRUCT; /* ICC profile data length */ + png_byte iccp_compression PNG_DEPSTRUCT; /* Always zero */ #endif -#if defined(PNG_sPLT_SUPPORTED) - /* data on sPLT chunks (there may be more than one). */ - png_sPLT_tp splt_palettes; - png_uint_32 splt_palettes_num; +#ifdef PNG_sPLT_SUPPORTED + /* Data on sPLT chunks (there may be more than one). */ + png_sPLT_tp splt_palettes PNG_DEPSTRUCT; + png_uint_32 splt_palettes_num PNG_DEPSTRUCT; #endif -#if defined(PNG_sCAL_SUPPORTED) +#ifdef PNG_sCAL_SUPPORTED /* The sCAL chunk describes the actual physical dimensions of the * subject matter of the graphic. The chunk contains a unit specification * a byte value, and two ASCII strings representing floating-point @@ -932,36 +862,38 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) * in the image. This external representation is converted to double * here. Data values are valid if (valid & PNG_INFO_sCAL) is non-zero. */ - png_byte scal_unit; /* unit of physical scale */ + png_byte scal_unit PNG_DEPSTRUCT; /* unit of physical scale */ #ifdef PNG_FLOATING_POINT_SUPPORTED - double scal_pixel_width; /* width of one pixel */ - double scal_pixel_height; /* height of one pixel */ + double scal_pixel_width PNG_DEPSTRUCT; /* width of one pixel */ + double scal_pixel_height PNG_DEPSTRUCT; /* height of one pixel */ #endif #ifdef PNG_FIXED_POINT_SUPPORTED - png_charp scal_s_width; /* string containing height */ - png_charp scal_s_height; /* string containing width */ + png_charp scal_s_width PNG_DEPSTRUCT; /* string containing height */ + png_charp scal_s_height PNG_DEPSTRUCT; /* string containing width */ #endif #endif -#if defined(PNG_INFO_IMAGE_SUPPORTED) - /* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS) non-zero */ +#ifdef PNG_INFO_IMAGE_SUPPORTED + /* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS) + non-zero */ /* Data valid if (valid & PNG_INFO_IDAT) non-zero */ - png_bytepp row_pointers; /* the image bits */ + png_bytepp row_pointers PNG_DEPSTRUCT; /* the image bits */ #endif #if defined(PNG_FIXED_POINT_SUPPORTED) && defined(PNG_gAMA_SUPPORTED) - png_fixed_point int_gamma; /* gamma of image, if (valid & PNG_INFO_gAMA) */ + png_fixed_point int_gamma PNG_DEPSTRUCT; /* gamma of image, + if (valid & PNG_INFO_gAMA) */ #endif #if defined(PNG_cHRM_SUPPORTED) && defined(PNG_FIXED_POINT_SUPPORTED) - png_fixed_point int_x_white; - png_fixed_point int_y_white; - png_fixed_point int_x_red; - png_fixed_point int_y_red; - png_fixed_point int_x_green; - png_fixed_point int_y_green; - png_fixed_point int_x_blue; - png_fixed_point int_y_blue; + png_fixed_point int_x_white PNG_DEPSTRUCT; + png_fixed_point int_y_white PNG_DEPSTRUCT; + png_fixed_point int_x_red PNG_DEPSTRUCT; + png_fixed_point int_y_red PNG_DEPSTRUCT; + png_fixed_point int_x_green PNG_DEPSTRUCT; + png_fixed_point int_y_green PNG_DEPSTRUCT; + png_fixed_point int_x_blue PNG_DEPSTRUCT; + png_fixed_point int_y_blue PNG_DEPSTRUCT; #endif } png_info; @@ -973,10 +905,6 @@ typedef png_info FAR * FAR * png_infopp; #define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) #define PNG_UINT_32_MAX ((png_uint_32)(-1)) #define PNG_SIZE_MAX ((png_size_t)(-1)) -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* PNG_MAX_UINT is deprecated; use PNG_UINT_31_MAX instead. */ -#define PNG_MAX_UINT PNG_UINT_31_MAX -#endif /* These describe the color_type field in png_info. */ /* color type masks */ @@ -1073,7 +1001,7 @@ typedef png_info FAR * FAR * png_infopp; typedef struct png_row_info_struct { png_uint_32 width; /* width of row */ - png_uint_32 rowbytes; /* number of bytes in row */ + png_size_t rowbytes; /* number of bytes in row */ png_byte color_type; /* color type of row */ png_byte bit_depth; /* bit depth of row */ png_byte channels; /* number of channels (1, 2, 3, or 4) */ @@ -1101,25 +1029,33 @@ typedef void (PNGAPI *png_write_status_ptr) PNGARG((png_structp, png_uint_32, int)); #ifdef PNG_PROGRESSIVE_READ_SUPPORTED -typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, png_infop)); +typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, + png_infop)); typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop)); typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep, png_uint_32, int)); #endif #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) typedef void (PNGAPI *png_user_transform_ptr) PNGARG((png_structp, png_row_infop, png_bytep)); #endif -#if defined(PNG_USER_CHUNKS_SUPPORTED) -typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, png_unknown_chunkp)); +#ifdef PNG_USER_CHUNKS_SUPPORTED +typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, + png_unknown_chunkp)); #endif -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp)); #endif +#ifdef PNG_SETJMP_SUPPORTED +/* This must match the function definition in , and the + * application must include this before png.h to obtain the definition + * of jmp_buf. + */ +typedef void (PNGAPI *png_longjmp_ptr) PNGARG((jmp_buf, int)); +#endif /* Transform masks for the high-level interface */ #define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ @@ -1134,14 +1070,19 @@ typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp)); #define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ #define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ #define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ -#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* WRITE only */ +#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* write only */ +/* Added to libpng-1.2.34 */ +#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER +#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* write only */ +/* Added to libpng-1.4.0 */ +#define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */ /* Flags for MNG supported features */ #define PNG_FLAG_MNG_EMPTY_PLTE 0x01 #define PNG_FLAG_MNG_FILTER_64 0x04 #define PNG_ALL_MNG_FEATURES 0x05 -typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t)); +typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_alloc_size_t)); typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp)); /* The structure that holds the information to read and write PNG files. @@ -1154,303 +1095,388 @@ typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp)); struct png_struct_def { #ifdef PNG_SETJMP_SUPPORTED - jmp_buf jmpbuf; /* used in png_error */ + jmp_buf jmpbuf PNG_DEPSTRUCT; /* used in png_error */ + png_longjmp_ptr longjmp_fn PNG_DEPSTRUCT;/* setjmp non-local goto + function. */ #endif - png_error_ptr error_fn; /* function for printing errors and aborting */ - png_error_ptr warning_fn; /* function for printing warnings */ - png_voidp error_ptr; /* user supplied struct for error functions */ - png_rw_ptr write_data_fn; /* function for writing output data */ - png_rw_ptr read_data_fn; /* function for reading input data */ - png_voidp io_ptr; /* ptr to application struct for I/O functions */ + png_error_ptr error_fn PNG_DEPSTRUCT; /* function for printing + errors and aborting */ + png_error_ptr warning_fn PNG_DEPSTRUCT; /* function for printing + warnings */ + png_voidp error_ptr PNG_DEPSTRUCT; /* user supplied struct for + error functions */ + png_rw_ptr write_data_fn PNG_DEPSTRUCT; /* function for writing + output data */ + png_rw_ptr read_data_fn PNG_DEPSTRUCT; /* function for reading + input data */ + png_voidp io_ptr PNG_DEPSTRUCT; /* ptr to application struct + for I/O functions */ -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) - png_user_transform_ptr read_user_transform_fn; /* user read transform */ +#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED + png_user_transform_ptr read_user_transform_fn PNG_DEPSTRUCT; /* user read + transform */ #endif -#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) - png_user_transform_ptr write_user_transform_fn; /* user write transform */ +#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED + png_user_transform_ptr write_user_transform_fn PNG_DEPSTRUCT; /* user write + transform */ #endif /* These were added in libpng-1.0.2 */ -#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) +#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) - png_voidp user_transform_ptr; /* user supplied struct for user transform */ - png_byte user_transform_depth; /* bit depth of user transformed pixels */ - png_byte user_transform_channels; /* channels in user transformed pixels */ + png_voidp user_transform_ptr PNG_DEPSTRUCT; /* user supplied struct + for user transform */ + png_byte user_transform_depth PNG_DEPSTRUCT; /* bit depth of user + transformed pixels */ + png_byte user_transform_channels PNG_DEPSTRUCT; /* channels in user + transformed pixels */ #endif #endif - png_uint_32 mode; /* tells us where we are in the PNG file */ - png_uint_32 flags; /* flags indicating various things to libpng */ - png_uint_32 transformations; /* which transformations to perform */ + png_uint_32 mode PNG_DEPSTRUCT; /* tells us where we are in + the PNG file */ + png_uint_32 flags PNG_DEPSTRUCT; /* flags indicating various + things to libpng */ + png_uint_32 transformations PNG_DEPSTRUCT; /* which transformations + to perform */ - z_stream zstream; /* pointer to decompression structure (below) */ - png_bytep zbuf; /* buffer for zlib */ - png_size_t zbuf_size; /* size of zbuf */ - int zlib_level; /* holds zlib compression level */ - int zlib_method; /* holds zlib compression method */ - int zlib_window_bits; /* holds zlib compression window bits */ - int zlib_mem_level; /* holds zlib compression memory level */ - int zlib_strategy; /* holds zlib compression strategy */ + z_stream zstream PNG_DEPSTRUCT; /* pointer to decompression + structure (below) */ + png_bytep zbuf PNG_DEPSTRUCT; /* buffer for zlib */ + png_size_t zbuf_size PNG_DEPSTRUCT; /* size of zbuf */ + int zlib_level PNG_DEPSTRUCT; /* holds zlib compression level */ + int zlib_method PNG_DEPSTRUCT; /* holds zlib compression method */ + int zlib_window_bits PNG_DEPSTRUCT; /* holds zlib compression window + bits */ + int zlib_mem_level PNG_DEPSTRUCT; /* holds zlib compression memory + level */ + int zlib_strategy PNG_DEPSTRUCT; /* holds zlib compression + strategy */ - png_uint_32 width; /* width of image in pixels */ - png_uint_32 height; /* height of image in pixels */ - png_uint_32 num_rows; /* number of rows in current pass */ - png_uint_32 usr_width; /* width of row at start of write */ - png_uint_32 rowbytes; /* size of row in bytes */ - png_uint_32 irowbytes; /* size of current interlaced row in bytes */ - png_uint_32 iwidth; /* width of current interlaced row in pixels */ - png_uint_32 row_number; /* current row in interlace pass */ - png_bytep prev_row; /* buffer to save previous (unfiltered) row */ - png_bytep row_buf; /* buffer to save current (unfiltered) row */ -#ifndef PNG_NO_WRITE_FILTERING - png_bytep sub_row; /* buffer to save "sub" row when filtering */ - png_bytep up_row; /* buffer to save "up" row when filtering */ - png_bytep avg_row; /* buffer to save "avg" row when filtering */ - png_bytep paeth_row; /* buffer to save "Paeth" row when filtering */ + png_uint_32 width PNG_DEPSTRUCT; /* width of image in pixels */ + png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels */ + png_uint_32 num_rows PNG_DEPSTRUCT; /* number of rows in current pass */ + png_uint_32 usr_width PNG_DEPSTRUCT; /* width of row at start of write */ + png_size_t rowbytes PNG_DEPSTRUCT; /* size of row in bytes */ +#if 0 /* Replaced with the following in libpng-1.4.1 */ + png_size_t irowbytes PNG_DEPSTRUCT; #endif - png_row_info row_info; /* used for transformation routines */ +/* Added in libpng-1.4.1 */ +#ifdef PNG_USER_LIMITS_SUPPORTED + /* Total memory that a zTXt, sPLT, iTXt, iCCP, or unknown chunk + * can occupy when decompressed. 0 means unlimited. + * We will change the typedef from png_size_t to png_alloc_size_t + * in libpng-1.6.0 + */ + png_alloc_size_t user_chunk_malloc_max PNG_DEPSTRUCT; +#endif + png_uint_32 iwidth PNG_DEPSTRUCT; /* width of current interlaced + row in pixels */ + png_uint_32 row_number PNG_DEPSTRUCT; /* current row in interlace pass */ + png_bytep prev_row PNG_DEPSTRUCT; /* buffer to save previous + (unfiltered) row */ + png_bytep row_buf PNG_DEPSTRUCT; /* buffer to save current + (unfiltered) row */ + png_bytep sub_row PNG_DEPSTRUCT; /* buffer to save "sub" row + when filtering */ + png_bytep up_row PNG_DEPSTRUCT; /* buffer to save "up" row + when filtering */ + png_bytep avg_row PNG_DEPSTRUCT; /* buffer to save "avg" row + when filtering */ + png_bytep paeth_row PNG_DEPSTRUCT; /* buffer to save "Paeth" row + when filtering */ + png_row_info row_info PNG_DEPSTRUCT; /* used for transformation + routines */ - png_uint_32 idat_size; /* current IDAT size for read */ - png_uint_32 crc; /* current chunk CRC value */ - png_colorp palette; /* palette from the input file */ - png_uint_16 num_palette; /* number of color entries in palette */ - png_uint_16 num_trans; /* number of transparency values */ - png_byte chunk_name[5]; /* null-terminated name of current chunk */ - png_byte compression; /* file compression type (always 0) */ - png_byte filter; /* file filter type (always 0) */ - png_byte interlaced; /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */ - png_byte pass; /* current interlace pass (0 - 6) */ - png_byte do_filter; /* row filter flags (see PNG_FILTER_ below ) */ - png_byte color_type; /* color type of file */ - png_byte bit_depth; /* bit depth of file */ - png_byte usr_bit_depth; /* bit depth of users row */ - png_byte pixel_depth; /* number of bits per pixel */ - png_byte channels; /* number of channels in file */ - png_byte usr_channels; /* channels at start of write */ - png_byte sig_bytes; /* magic bytes read/written from start of file */ + png_uint_32 idat_size PNG_DEPSTRUCT; /* current IDAT size for read */ + png_uint_32 crc PNG_DEPSTRUCT; /* current chunk CRC value */ + png_colorp palette PNG_DEPSTRUCT; /* palette from the input file */ + png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in + palette */ + png_uint_16 num_trans PNG_DEPSTRUCT; /* number of transparency values */ + png_byte chunk_name[5] PNG_DEPSTRUCT; /* null-terminated name of current + chunk */ + png_byte compression PNG_DEPSTRUCT; /* file compression type + (always 0) */ + png_byte filter PNG_DEPSTRUCT; /* file filter type (always 0) */ + png_byte interlaced PNG_DEPSTRUCT; /* PNG_INTERLACE_NONE, + PNG_INTERLACE_ADAM7 */ + png_byte pass PNG_DEPSTRUCT; /* current interlace pass (0 - 6) */ + png_byte do_filter PNG_DEPSTRUCT; /* row filter flags (see + PNG_FILTER_ below ) */ + png_byte color_type PNG_DEPSTRUCT; /* color type of file */ + png_byte bit_depth PNG_DEPSTRUCT; /* bit depth of file */ + png_byte usr_bit_depth PNG_DEPSTRUCT; /* bit depth of users row */ + png_byte pixel_depth PNG_DEPSTRUCT; /* number of bits per pixel */ + png_byte channels PNG_DEPSTRUCT; /* number of channels in file */ + png_byte usr_channels PNG_DEPSTRUCT; /* channels at start of write */ + png_byte sig_bytes PNG_DEPSTRUCT; /* magic bytes read/written from + start of file */ #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) -#ifdef PNG_LEGACY_SUPPORTED - png_byte filler; /* filler byte for pixel expansion */ -#else - png_uint_16 filler; /* filler bytes for pixel expansion */ -#endif + png_uint_16 filler PNG_DEPSTRUCT; /* filler bytes for pixel + expansion */ #endif -#if defined(PNG_bKGD_SUPPORTED) - png_byte background_gamma_type; +#ifdef PNG_bKGD_SUPPORTED + png_byte background_gamma_type PNG_DEPSTRUCT; # ifdef PNG_FLOATING_POINT_SUPPORTED - float background_gamma; + float background_gamma PNG_DEPSTRUCT; # endif - png_color_16 background; /* background color in screen gamma space */ -#if defined(PNG_READ_GAMMA_SUPPORTED) - png_color_16 background_1; /* background normalized to gamma 1.0 */ + png_color_16 background PNG_DEPSTRUCT; /* background color in + screen gamma space */ +#ifdef PNG_READ_GAMMA_SUPPORTED + png_color_16 background_1 PNG_DEPSTRUCT; /* background normalized + to gamma 1.0 */ #endif #endif /* PNG_bKGD_SUPPORTED */ -#if defined(PNG_WRITE_FLUSH_SUPPORTED) - png_flush_ptr output_flush_fn;/* Function for flushing output */ - png_uint_32 flush_dist; /* how many rows apart to flush, 0 - no flush */ - png_uint_32 flush_rows; /* number of rows written since last flush */ +#ifdef PNG_WRITE_FLUSH_SUPPORTED + png_flush_ptr output_flush_fn PNG_DEPSTRUCT; /* Function for flushing + output */ + png_uint_32 flush_dist PNG_DEPSTRUCT; /* how many rows apart to flush, + 0 - no flush */ + png_uint_32 flush_rows PNG_DEPSTRUCT; /* number of rows written since + last flush */ #endif #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - int gamma_shift; /* number of "insignificant" bits 16-bit gamma */ + int gamma_shift PNG_DEPSTRUCT; /* number of "insignificant" bits + 16-bit gamma */ #ifdef PNG_FLOATING_POINT_SUPPORTED - float gamma; /* file gamma value */ - float screen_gamma; /* screen gamma value (display_exponent) */ + float gamma PNG_DEPSTRUCT; /* file gamma value */ + float screen_gamma PNG_DEPSTRUCT; /* screen gamma value + (display_exponent) */ #endif #endif #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_bytep gamma_table; /* gamma table for 8-bit depth files */ - png_bytep gamma_from_1; /* converts from 1.0 to screen */ - png_bytep gamma_to_1; /* converts from file to 1.0 */ - png_uint_16pp gamma_16_table; /* gamma table for 16-bit depth files */ - png_uint_16pp gamma_16_from_1; /* converts from 1.0 to screen */ - png_uint_16pp gamma_16_to_1; /* converts from file to 1.0 */ + png_bytep gamma_table PNG_DEPSTRUCT; /* gamma table for 8-bit + depth files */ + png_bytep gamma_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to screen */ + png_bytep gamma_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */ + png_uint_16pp gamma_16_table PNG_DEPSTRUCT; /* gamma table for 16-bit + depth files */ + png_uint_16pp gamma_16_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to + screen */ + png_uint_16pp gamma_16_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */ #endif #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED) - png_color_8 sig_bit; /* significant bits in each available channel */ + png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in each + available channel */ #endif #if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) - png_color_8 shift; /* shift for significant bit tranformation */ + png_color_8 shift PNG_DEPSTRUCT; /* shift for significant bit + tranformation */ #endif #if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \ || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_bytep trans; /* transparency values for paletted files */ - png_color_16 trans_values; /* transparency values for non-paletted files */ + png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for + paletted files */ + png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for + non-paletted files */ #endif - png_read_status_ptr read_row_fn; /* called after each row is decoded */ - png_write_status_ptr write_row_fn; /* called after each row is encoded */ + png_read_status_ptr read_row_fn PNG_DEPSTRUCT; /* called after each + row is decoded */ + png_write_status_ptr write_row_fn PNG_DEPSTRUCT; /* called after each + row is encoded */ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED - png_progressive_info_ptr info_fn; /* called after header data fully read */ - png_progressive_row_ptr row_fn; /* called after each prog. row is decoded */ - png_progressive_end_ptr end_fn; /* called after image is complete */ - png_bytep save_buffer_ptr; /* current location in save_buffer */ - png_bytep save_buffer; /* buffer for previously read data */ - png_bytep current_buffer_ptr; /* current location in current_buffer */ - png_bytep current_buffer; /* buffer for recently used data */ - png_uint_32 push_length; /* size of current input chunk */ - png_uint_32 skip_length; /* bytes to skip in input data */ - png_size_t save_buffer_size; /* amount of data now in save_buffer */ - png_size_t save_buffer_max; /* total size of save_buffer */ - png_size_t buffer_size; /* total amount of available input data */ - png_size_t current_buffer_size; /* amount of data now in current_buffer */ - int process_mode; /* what push library is currently doing */ - int cur_palette; /* current push library palette index */ + png_progressive_info_ptr info_fn PNG_DEPSTRUCT; /* called after header + data fully read */ + png_progressive_row_ptr row_fn PNG_DEPSTRUCT; /* called after each + prog. row is decoded */ + png_progressive_end_ptr end_fn PNG_DEPSTRUCT; /* called after image + is complete */ + png_bytep save_buffer_ptr PNG_DEPSTRUCT; /* current location in + save_buffer */ + png_bytep save_buffer PNG_DEPSTRUCT; /* buffer for previously + read data */ + png_bytep current_buffer_ptr PNG_DEPSTRUCT; /* current location in + current_buffer */ + png_bytep current_buffer PNG_DEPSTRUCT; /* buffer for recently + used data */ + png_uint_32 push_length PNG_DEPSTRUCT; /* size of current input + chunk */ + png_uint_32 skip_length PNG_DEPSTRUCT; /* bytes to skip in + input data */ + png_size_t save_buffer_size PNG_DEPSTRUCT; /* amount of data now + in save_buffer */ + png_size_t save_buffer_max PNG_DEPSTRUCT; /* total size of + save_buffer */ + png_size_t buffer_size PNG_DEPSTRUCT; /* total amount of + available input data */ + png_size_t current_buffer_size PNG_DEPSTRUCT; /* amount of data now + in current_buffer */ + int process_mode PNG_DEPSTRUCT; /* what push library + is currently doing */ + int cur_palette PNG_DEPSTRUCT; /* current push library + palette index */ + +# ifdef PNG_TEXT_SUPPORTED + png_size_t current_text_size PNG_DEPSTRUCT; /* current size of + text input data */ + png_size_t current_text_left PNG_DEPSTRUCT; /* how much text left + to read in input */ + png_charp current_text PNG_DEPSTRUCT; /* current text chunk + buffer */ + png_charp current_text_ptr PNG_DEPSTRUCT; /* current location + in current_text */ +# endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */ -# if defined(PNG_TEXT_SUPPORTED) - png_size_t current_text_size; /* current size of text input data */ - png_size_t current_text_left; /* how much text left to read in input */ - png_charp current_text; /* current text chunk buffer */ - png_charp current_text_ptr; /* current location in current_text */ -# endif /* PNG_TEXT_SUPPORTED */ #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ #if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__) -/* for the Borland special 64K segment handler */ - png_bytepp offset_table_ptr; - png_bytep offset_table; - png_uint_16 offset_table_number; - png_uint_16 offset_table_count; - png_uint_16 offset_table_count_free; +/* For the Borland special 64K segment handler */ + png_bytepp offset_table_ptr PNG_DEPSTRUCT; + png_bytep offset_table PNG_DEPSTRUCT; + png_uint_16 offset_table_number PNG_DEPSTRUCT; + png_uint_16 offset_table_count PNG_DEPSTRUCT; + png_uint_16 offset_table_count_free PNG_DEPSTRUCT; #endif -#if defined(PNG_READ_DITHER_SUPPORTED) - png_bytep palette_lookup; /* lookup table for dithering */ - png_bytep dither_index; /* index translation for palette files */ +#ifdef PNG_READ_QUANTIZE_SUPPORTED + png_bytep palette_lookup PNG_DEPSTRUCT; /* lookup table for quantizing */ + png_bytep quantize_index PNG_DEPSTRUCT; /* index translation for palette + files */ #endif -#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED) - png_uint_16p hist; /* histogram */ +#if defined(PNG_READ_QUANTIZE_SUPPORTED) || defined(PNG_hIST_SUPPORTED) + png_uint_16p hist PNG_DEPSTRUCT; /* histogram */ #endif -#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) - png_byte heuristic_method; /* heuristic for row filter selection */ - png_byte num_prev_filters; /* number of weights for previous rows */ - png_bytep prev_filters; /* filter type(s) of previous row(s) */ - png_uint_16p filter_weights; /* weight(s) for previous line(s) */ - png_uint_16p inv_filter_weights; /* 1/weight(s) for previous line(s) */ - png_uint_16p filter_costs; /* relative filter calculation cost */ - png_uint_16p inv_filter_costs; /* 1/relative filter calculation cost */ +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED + png_byte heuristic_method PNG_DEPSTRUCT; /* heuristic for row + filter selection */ + png_byte num_prev_filters PNG_DEPSTRUCT; /* number of weights + for previous rows */ + png_bytep prev_filters PNG_DEPSTRUCT; /* filter type(s) of + previous row(s) */ + png_uint_16p filter_weights PNG_DEPSTRUCT; /* weight(s) for previous + line(s) */ + png_uint_16p inv_filter_weights PNG_DEPSTRUCT; /* 1/weight(s) for + previous line(s) */ + png_uint_16p filter_costs PNG_DEPSTRUCT; /* relative filter + calculation cost */ + png_uint_16p inv_filter_costs PNG_DEPSTRUCT; /* 1/relative filter + calculation cost */ #endif -#if defined(PNG_TIME_RFC1123_SUPPORTED) - png_charp time_buffer; /* String to hold RFC 1123 time text */ +#ifdef PNG_TIME_RFC1123_SUPPORTED + png_charp time_buffer PNG_DEPSTRUCT; /* String to hold RFC 1123 time text */ #endif /* New members added in libpng-1.0.6 */ -#ifdef PNG_FREE_ME_SUPPORTED - png_uint_32 free_me; /* flags items libpng is responsible for freeing */ + png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is + responsible for freeing */ + +#ifdef PNG_USER_CHUNKS_SUPPORTED + png_voidp user_chunk_ptr PNG_DEPSTRUCT; + png_user_chunk_ptr read_user_chunk_fn PNG_DEPSTRUCT; /* user read + chunk handler */ #endif -#if defined(PNG_USER_CHUNKS_SUPPORTED) - png_voidp user_chunk_ptr; - png_user_chunk_ptr read_user_chunk_fn; /* user read chunk handler */ -#endif - -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - int num_chunk_list; - png_bytep chunk_list; +#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED + int num_chunk_list PNG_DEPSTRUCT; + png_bytep chunk_list PNG_DEPSTRUCT; #endif /* New members added in libpng-1.0.3 */ -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) - png_byte rgb_to_gray_status; +#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED + png_byte rgb_to_gray_status PNG_DEPSTRUCT; /* These were changed from png_byte in libpng-1.0.6 */ - png_uint_16 rgb_to_gray_red_coeff; - png_uint_16 rgb_to_gray_green_coeff; - png_uint_16 rgb_to_gray_blue_coeff; + png_uint_16 rgb_to_gray_red_coeff PNG_DEPSTRUCT; + png_uint_16 rgb_to_gray_green_coeff PNG_DEPSTRUCT; + png_uint_16 rgb_to_gray_blue_coeff PNG_DEPSTRUCT; #endif /* New member added in libpng-1.0.4 (renamed in 1.0.9) */ #if defined(PNG_MNG_FEATURES_SUPPORTED) || \ defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \ defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED) -/* changed from png_byte to png_uint_32 at version 1.2.0 */ -#ifdef PNG_1_0_X - png_byte mng_features_permitted; -#else - png_uint_32 mng_features_permitted; -#endif /* PNG_1_0_X */ +/* Changed from png_byte to png_uint_32 at version 1.2.0 */ + png_uint_32 mng_features_permitted PNG_DEPSTRUCT; #endif /* New member added in libpng-1.0.7 */ #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_fixed_point int_gamma; + png_fixed_point int_gamma PNG_DEPSTRUCT; #endif /* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */ -#if defined(PNG_MNG_FEATURES_SUPPORTED) - png_byte filter_type; -#endif - -#if defined(PNG_1_0_X) -/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */ - png_uint_32 row_buf_size; +#ifdef PNG_MNG_FEATURES_SUPPORTED + png_byte filter_type PNG_DEPSTRUCT; #endif /* New members added in libpng-1.2.0 */ -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -# if !defined(PNG_1_0_X) -# if defined(PNG_MMX_CODE_SUPPORTED) - png_byte mmx_bitdepth_threshold; - png_uint_32 mmx_rowbytes_threshold; -# endif - png_uint_32 asm_flags; -# endif -#endif /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ #ifdef PNG_USER_MEM_SUPPORTED - png_voidp mem_ptr; /* user supplied struct for mem functions */ - png_malloc_ptr malloc_fn; /* function for allocating memory */ - png_free_ptr free_fn; /* function for freeing memory */ + png_voidp mem_ptr PNG_DEPSTRUCT; /* user supplied struct for + mem functions */ + png_malloc_ptr malloc_fn PNG_DEPSTRUCT; /* function for + allocating memory */ + png_free_ptr free_fn PNG_DEPSTRUCT; /* function for + freeing memory */ #endif /* New member added in libpng-1.0.13 and 1.2.0 */ - png_bytep big_row_buf; /* buffer to save current (unfiltered) row */ + png_bytep big_row_buf PNG_DEPSTRUCT; /* buffer to save current + (unfiltered) row */ -#if defined(PNG_READ_DITHER_SUPPORTED) +#ifdef PNG_READ_QUANTIZE_SUPPORTED /* The following three members were added at version 1.0.14 and 1.2.4 */ - png_bytep dither_sort; /* working sort array */ - png_bytep index_to_palette; /* where the original index currently is */ - /* in the palette */ - png_bytep palette_to_index; /* which original index points to this */ - /* palette color */ + png_bytep quantize_sort PNG_DEPSTRUCT; /* working sort array */ + png_bytep index_to_palette PNG_DEPSTRUCT; /* where the original + index currently is + in the palette */ + png_bytep palette_to_index PNG_DEPSTRUCT; /* which original index + points to this + palette color */ #endif /* New members added in libpng-1.0.16 and 1.2.6 */ - png_byte compression_type; + png_byte compression_type PNG_DEPSTRUCT; -#ifdef PNG_SET_USER_LIMITS_SUPPORTED - png_uint_32 user_width_max; - png_uint_32 user_height_max; +#ifdef PNG_USER_LIMITS_SUPPORTED + png_uint_32 user_width_max PNG_DEPSTRUCT; + png_uint_32 user_height_max PNG_DEPSTRUCT; + /* Added in libpng-1.4.0: Total number of sPLT, text, and unknown + * chunks that can be stored (0 means unlimited). + */ + png_uint_32 user_chunk_cache_max PNG_DEPSTRUCT; #endif /* New member added in libpng-1.0.25 and 1.2.17 */ -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - /* storage for unknown chunk that the library doesn't recognize. */ - png_unknown_chunk unknown_chunk; +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED + /* Storage for unknown chunk that the library doesn't recognize. */ + png_unknown_chunk unknown_chunk PNG_DEPSTRUCT; #endif /* New members added in libpng-1.2.26 */ - png_uint_32 old_big_row_buf_size, old_prev_row_size; + png_uint_32 old_big_row_buf_size PNG_DEPSTRUCT; + png_uint_32 old_prev_row_size PNG_DEPSTRUCT; + +/* New member added in libpng-1.2.30 */ + png_charp chunkdata PNG_DEPSTRUCT; /* buffer for reading chunk data */ + +#ifdef PNG_IO_STATE_SUPPORTED +/* New member added in libpng-1.4.0 */ + png_uint_32 io_state PNG_DEPSTRUCT; +#endif }; /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_2_29; +typedef png_structp version_1_4_4; typedef png_struct FAR * FAR * png_structpp; @@ -1461,12 +1487,12 @@ typedef png_struct FAR * FAR * png_structpp; */ /* Returns the version number of the library */ -extern PNG_EXPORT(png_uint_32,png_access_version_number) PNGARG((void)); +PNG_EXPORT(png_uint_32,png_access_version_number) PNGARG((void)); /* Tell lib we have already handled the first magic bytes. * Handling more than 8 bytes from the beginning of the file is an error. */ -extern PNG_EXPORT(void,png_set_sig_bytes) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_sig_bytes) PNGARG((png_structp png_ptr, int num_bytes)); /* Check sig[start] through sig[start + num_to_check - 1] to see if it's a @@ -1474,213 +1500,217 @@ extern PNG_EXPORT(void,png_set_sig_bytes) PNGARG((png_structp png_ptr, * signature, and non-zero otherwise. Having num_to_check == 0 or * start > 7 will always fail (ie return non-zero). */ -extern PNG_EXPORT(int,png_sig_cmp) PNGARG((png_bytep sig, png_size_t start, +PNG_EXPORT(int,png_sig_cmp) PNGARG((png_bytep sig, png_size_t start, png_size_t num_to_check)); /* Simple signature checking function. This is the same as calling * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). */ -extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num)); +#define png_check_sig(sig,n) !png_sig_cmp((sig), 0, (n)) /* Allocate and initialize png_ptr struct for reading, and any other memory. */ -extern PNG_EXPORT(png_structp,png_create_read_struct) +PNG_EXPORT(png_structp,png_create_read_struct) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn)); + png_error_ptr error_fn, png_error_ptr warn_fn)) PNG_ALLOCATED; /* Allocate and initialize png_ptr struct for writing, and any other memory */ -extern PNG_EXPORT(png_structp,png_create_write_struct) +PNG_EXPORT(png_structp,png_create_write_struct) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn)); + png_error_ptr error_fn, png_error_ptr warn_fn)) PNG_ALLOCATED; -#ifdef PNG_WRITE_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_compression_buffer_size) +PNG_EXPORT(png_size_t,png_get_compression_buffer_size) PNGARG((png_structp png_ptr)); + +PNG_EXPORT(void,png_set_compression_buffer_size) + PNGARG((png_structp png_ptr, png_size_t size)); + +/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp + * match up. + */ +#ifdef PNG_SETJMP_SUPPORTED +/* This function returns the jmp_buf built in to *png_ptr. It must be + * supplied with an appropriate 'longjmp' function to use on that jmp_buf + * unless the default error function is overridden in which case NULL is + * acceptable. The size of the jmp_buf is checked against the actual size + * allocated by the library - the call will return NULL on a mismatch + * indicating an ABI mismatch. + */ +PNG_EXPORT(jmp_buf*, png_set_longjmp_fn) + PNGARG((png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t + jmp_buf_size)); +# define png_jmpbuf(png_ptr) \ + (*png_set_longjmp_fn((png_ptr), longjmp, sizeof (jmp_buf))) +#else +# define png_jmpbuf(png_ptr) \ + (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) #endif -#ifdef PNG_WRITE_SUPPORTED -extern PNG_EXPORT(void,png_set_compression_buffer_size) - PNGARG((png_structp png_ptr, png_uint_32 size)); -#endif - +#ifdef PNG_READ_SUPPORTED /* Reset the compression stream */ -extern PNG_EXPORT(int,png_reset_zstream) PNGARG((png_structp png_ptr)); +PNG_EXPORT(int,png_reset_zstream) PNGARG((png_structp png_ptr)); +#endif /* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ #ifdef PNG_USER_MEM_SUPPORTED -extern PNG_EXPORT(png_structp,png_create_read_struct_2) +PNG_EXPORT(png_structp,png_create_read_struct_2) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, - png_malloc_ptr malloc_fn, png_free_ptr free_fn)); -extern PNG_EXPORT(png_structp,png_create_write_struct_2) + png_malloc_ptr malloc_fn, png_free_ptr free_fn)) PNG_ALLOCATED; +PNG_EXPORT(png_structp,png_create_write_struct_2) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, - png_malloc_ptr malloc_fn, png_free_ptr free_fn)); + png_malloc_ptr malloc_fn, png_free_ptr free_fn)) PNG_ALLOCATED; #endif +/* Write the PNG file signature. */ +PNG_EXPORT(void,png_write_sig) PNGARG((png_structp png_ptr)); + /* Write a PNG chunk - size, type, (optional) data, CRC. */ -extern PNG_EXPORT(void,png_write_chunk) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_write_chunk) PNGARG((png_structp png_ptr, png_bytep chunk_name, png_bytep data, png_size_t length)); /* Write the start of a PNG chunk - length and chunk name. */ -extern PNG_EXPORT(void,png_write_chunk_start) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_write_chunk_start) PNGARG((png_structp png_ptr, png_bytep chunk_name, png_uint_32 length)); /* Write the data of a PNG chunk started with png_write_chunk_start(). */ -extern PNG_EXPORT(void,png_write_chunk_data) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_write_chunk_data) PNGARG((png_structp png_ptr, png_bytep data, png_size_t length)); /* Finish a chunk started with png_write_chunk_start() (includes CRC). */ -extern PNG_EXPORT(void,png_write_chunk_end) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_write_chunk_end) PNGARG((png_structp png_ptr)); /* Allocate and initialize the info structure */ -extern PNG_EXPORT(png_infop,png_create_info_struct) - PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_infop,png_create_info_struct) + PNGARG((png_structp png_ptr)) PNG_ALLOCATED; -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize the info structure (old interface - DEPRECATED) */ -extern PNG_EXPORT(void,png_info_init) PNGARG((png_infop info_ptr)); -#undef png_info_init -#define png_info_init(info_ptr) png_info_init_3(&info_ptr,\ - png_sizeof(png_info)); -#endif - -extern PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr, +PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr, png_size_t png_info_struct_size)); /* Writes all the PNG information before the image. */ -extern PNG_EXPORT(void,png_write_info_before_PLTE) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_write_info_before_PLTE) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(void,png_write_info) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_write_info) PNGARG((png_structp png_ptr, png_infop info_ptr)); -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the information before the actual image data. */ -extern PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr, +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the information before the actual image data. */ +PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr, png_infop info_ptr)); #endif -#if defined(PNG_TIME_RFC1123_SUPPORTED) -extern PNG_EXPORT(png_charp,png_convert_to_rfc1123) +#ifdef PNG_TIME_RFC1123_SUPPORTED +PNG_EXPORT(png_charp,png_convert_to_rfc1123) PNGARG((png_structp png_ptr, png_timep ptime)); #endif -#if !defined(_WIN32_WCE) -/* "time.h" functions are not supported on WindowsCE */ -#if defined(PNG_WRITE_tIME_SUPPORTED) -/* convert from a struct tm to png_time */ -extern PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime, +#ifdef PNG_CONVERT_tIME_SUPPORTED +/* Convert from a struct tm to png_time */ +PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime, struct tm FAR * ttime)); -/* convert from time_t to png_time. Uses gmtime() */ -extern PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime, +/* Convert from time_t to png_time. Uses gmtime() */ +PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime, time_t ttime)); -#endif /* PNG_WRITE_tIME_SUPPORTED */ -#endif /* _WIN32_WCE */ +#endif /* PNG_CONVERT_tIME_SUPPORTED */ -#if defined(PNG_READ_EXPAND_SUPPORTED) +#ifdef PNG_READ_EXPAND_SUPPORTED /* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ -extern PNG_EXPORT(void,png_set_expand) PNGARG((png_structp png_ptr)); -#if !defined(PNG_1_0_X) -extern PNG_EXPORT(void,png_set_expand_gray_1_2_4_to_8) PNGARG((png_structp +PNG_EXPORT(void,png_set_expand) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_expand_gray_1_2_4_to_8) PNGARG((png_structp png_ptr)); -#endif -extern PNG_EXPORT(void,png_set_palette_to_rgb) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(void,png_set_tRNS_to_alpha) PNGARG((png_structp png_ptr)); -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated */ -extern PNG_EXPORT(void,png_set_gray_1_2_4_to_8) PNGARG((png_structp png_ptr)); -#endif +PNG_EXPORT(void,png_set_palette_to_rgb) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_tRNS_to_alpha) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) /* Use blue, green, red order for pixels. */ -extern PNG_EXPORT(void,png_set_bgr) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_bgr) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) +#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED /* Expand the grayscale to 24-bit RGB if necessary. */ -extern PNG_EXPORT(void,png_set_gray_to_rgb) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_gray_to_rgb) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) +#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED /* Reduce RGB to grayscale. */ #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_rgb_to_gray) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_rgb_to_gray) PNGARG((png_structp png_ptr, int error_action, double red, double green )); #endif -extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_rgb_to_gray_fixed) PNGARG((png_structp png_ptr, int error_action, png_fixed_point red, png_fixed_point green )); -extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status) PNGARG((png_structp +PNG_EXPORT(png_byte,png_get_rgb_to_gray_status) PNGARG((png_structp png_ptr)); #endif -extern PNG_EXPORT(void,png_build_grayscale_palette) PNGARG((int bit_depth, +PNG_EXPORT(void,png_build_grayscale_palette) PNGARG((int bit_depth, png_colorp palette)); -#if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_strip_alpha) PNGARG((png_structp png_ptr)); +#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED +PNG_EXPORT(void,png_set_strip_alpha) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_swap_alpha) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_swap_alpha) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_invert_alpha) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_invert_alpha) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) /* Add a filler byte to 8-bit Gray or 24-bit RGB images. */ -extern PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr, png_uint_32 filler, int flags)); /* The values of the PNG_FILLER_ defines should NOT be changed */ #define PNG_FILLER_BEFORE 0 #define PNG_FILLER_AFTER 1 /* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */ -#if !defined(PNG_1_0_X) -extern PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr, png_uint_32 filler, int flags)); -#endif #endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */ #if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) /* Swap bytes in 16-bit depth files. */ -extern PNG_EXPORT(void,png_set_swap) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_swap) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) /* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ -extern PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED) +#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ + defined(PNG_WRITE_PACKSWAP_SUPPORTED) /* Swap packing order of pixels in bytes. */ -extern PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) /* Converts files to legal bit depths. */ -extern PNG_EXPORT(void,png_set_shift) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_shift) PNGARG((png_structp png_ptr, png_color_8p true_bits)); #endif #if defined(PNG_READ_INTERLACING_SUPPORTED) || \ defined(PNG_WRITE_INTERLACING_SUPPORTED) /* Have the code handle the interlacing. Returns the number of passes. */ -extern PNG_EXPORT(int,png_set_interlace_handling) PNGARG((png_structp png_ptr)); +PNG_EXPORT(int,png_set_interlace_handling) PNGARG((png_structp png_ptr)); #endif #if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) /* Invert monochrome files */ -extern PNG_EXPORT(void,png_set_invert_mono) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_set_invert_mono) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_BACKGROUND_SUPPORTED) +#ifdef PNG_READ_BACKGROUND_SUPPORTED /* Handle alpha and tRNS by replacing with a background color. */ #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr, png_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma)); #endif @@ -1690,112 +1720,100 @@ extern PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr, #define PNG_BACKGROUND_GAMMA_UNIQUE 3 #endif -#if defined(PNG_READ_16_TO_8_SUPPORTED) -/* strip the second byte of information from a 16-bit depth file. */ -extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr)); +#ifdef PNG_READ_16_TO_8_SUPPORTED +/* Strip the second byte of information from a 16-bit depth file. */ +PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_DITHER_SUPPORTED) -/* Turn on dithering, and reduce the palette to the number of colors available. */ -extern PNG_EXPORT(void,png_set_dither) PNGARG((png_structp png_ptr, +#ifdef PNG_READ_QUANTIZE_SUPPORTED +/* Turn on quantizing, and reduce the palette to the number of colors + * available. Prior to libpng-1.4.2, this was png_set_dither(). + */ +PNG_EXPORT(void,png_set_quantize) PNGARG((png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, - png_uint_16p histogram, int full_dither)); + png_uint_16p histogram, int full_quantize)); #endif +/* This migration aid will be removed from libpng-1.5.0 */ +#define png_set_dither png_set_quantize -#if defined(PNG_READ_GAMMA_SUPPORTED) +#ifdef PNG_READ_GAMMA_SUPPORTED /* Handle gamma correction. Screen_gamma=(display_exponent) */ #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_gamma) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_gamma) PNGARG((png_structp png_ptr, double screen_gamma, double default_file_gamma)); #endif #endif -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \ - defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED) -/* Permit or disallow empty PLTE (0: not permitted, 1: permitted) */ -/* Deprecated and will be removed. Use png_permit_mng_features() instead. */ -extern PNG_EXPORT(void,png_permit_empty_plte) PNGARG((png_structp png_ptr, - int empty_plte_permitted)); -#endif -#endif -#if defined(PNG_WRITE_FLUSH_SUPPORTED) +#ifdef PNG_WRITE_FLUSH_SUPPORTED /* Set how many lines between output flushes - 0 for no flushing */ -extern PNG_EXPORT(void,png_set_flush) PNGARG((png_structp png_ptr, int nrows)); +PNG_EXPORT(void,png_set_flush) PNGARG((png_structp png_ptr, int nrows)); /* Flush the current PNG output buffer */ -extern PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr)); #endif -/* optional update palette with requested transformations */ -extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr)); +/* Optional update palette with requested transformations */ +PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr)); -/* optional call to update the users info structure */ -extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr, +/* Optional call to update the users info structure */ +PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr, png_infop info_ptr)); -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read one or more rows of image data. */ -extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr, +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read one or more rows of image data. */ +PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows)); #endif -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read a row of data. */ -extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr, +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read a row of data. */ +PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr, png_bytep row, png_bytep display_row)); #endif -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the whole image into memory at once. */ -extern PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr, +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the whole image into memory at once. */ +PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr, png_bytepp image)); #endif -/* write a row of image data */ -extern PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr, +/* Write a row of image data */ +PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr, png_bytep row)); -/* write a few rows of image data */ -extern PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr, +/* Write a few rows of image data */ +PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr, png_bytepp row, png_uint_32 num_rows)); -/* write the image data */ -extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr, +/* Write the image data */ +PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr, png_bytepp image)); -/* writes the end of the PNG file. */ -extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr, +/* Write the end of the PNG file. */ +PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr, png_infop info_ptr)); -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the end of the PNG file. */ -extern PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr, +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the end of the PNG file. */ +PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr, png_infop info_ptr)); #endif -/* free any memory associated with the png_info_struct */ -extern PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr, +/* Free any memory associated with the png_info_struct */ +PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr, png_infopp info_ptr_ptr)); -/* free any memory associated with the png_struct and the png_info_structs */ -extern PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); -/* free all memory used by the read (old method - NOT DLL EXPORTED) */ -extern void png_read_destroy PNGARG((png_structp png_ptr, png_infop info_ptr, - png_infop end_info_ptr)); - -/* free any memory associated with the png_struct and the png_info_structs */ -extern PNG_EXPORT(void,png_destroy_write_struct) +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(void,png_destroy_write_struct) PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)); -/* free any memory used in png_ptr struct (old method - NOT DLL EXPORTED) */ -extern void png_write_destroy PNGARG((png_structp png_ptr)); - -/* set the libpng method of handling chunk CRC errors */ -extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr, +/* Set the libpng method of handling chunk CRC errors */ +PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr, int crit_action, int ancil_action)); /* Values for png_set_crc_action() to say how to handle CRC errors in @@ -1822,10 +1840,10 @@ extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr, * header file (zlib.h) for an explination of the compression functions. */ -/* set the filtering method(s) used by libpng. Currently, the only valid +/* Set the filtering method(s) used by libpng. Currently, the only valid * value for "method" is 0. */ -extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method, +PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method, int filters)); /* Flags for png_set_filter() to say which filters to use. The flags @@ -1852,7 +1870,7 @@ extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method, #define PNG_FILTER_VALUE_PAETH 4 #define PNG_FILTER_VALUE_LAST 5 -#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) /* EXPERIMENTAL */ +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* EXPERIMENTAL */ /* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_ * defines, either the default (minimum-sum-of-absolute-differences), or * the experimental method (weighted-minimum-sum-of-absolute-differences). @@ -1882,7 +1900,7 @@ extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method, * to the UNWEIGHTED method, but with added encoding time/computation. */ #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_filter_heuristics) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_filter_heuristics) PNGARG((png_structp png_ptr, int heuristic_method, int num_weights, png_doublep filter_weights, png_doublep filter_costs)); #endif @@ -1903,19 +1921,19 @@ extern PNG_EXPORT(void,png_set_filter_heuristics) PNGARG((png_structp png_ptr, * for PNG images, and do considerably fewer caclulations. In the future, * these values may not correspond directly to the zlib compression levels. */ -extern PNG_EXPORT(void,png_set_compression_level) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_compression_level) PNGARG((png_structp png_ptr, int level)); -extern PNG_EXPORT(void,png_set_compression_mem_level) +PNG_EXPORT(void,png_set_compression_mem_level) PNGARG((png_structp png_ptr, int mem_level)); -extern PNG_EXPORT(void,png_set_compression_strategy) +PNG_EXPORT(void,png_set_compression_strategy) PNGARG((png_structp png_ptr, int strategy)); -extern PNG_EXPORT(void,png_set_compression_window_bits) +PNG_EXPORT(void,png_set_compression_window_bits) PNGARG((png_structp png_ptr, int window_bits)); -extern PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr, int method)); /* These next functions are called for input/output, memory, and error @@ -1927,9 +1945,10 @@ extern PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr, * more information. */ -#if !defined(PNG_NO_STDIO) +#ifdef PNG_STDIO_SUPPORTED /* Initialize the input/output for the PNG file to the default functions. */ -extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp)); +PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, + png_FILE_p fp)); #endif /* Replace the (error and abort), and warning functions with user @@ -1940,68 +1959,70 @@ extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp)) * default function will be used. */ -extern PNG_EXPORT(void,png_set_error_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_error_fn) PNGARG((png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); /* Return the user pointer associated with the error functions */ -extern PNG_EXPORT(png_voidp,png_get_error_ptr) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_voidp,png_get_error_ptr) PNGARG((png_structp png_ptr)); /* Replace the default data output functions with a user supplied one(s). * If buffered output is not used, then output_flush_fn can be set to NULL. * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time * output_flush_fn will be ignored (and thus can be NULL). + * It is probably a mistake to use NULL for output_flush_fn if + * write_data_fn is not also NULL unless you have built libpng with + * PNG_WRITE_FLUSH_SUPPORTED undefined, because in this case libpng's + * default flush function, which uses the standard *FILE structure, will + * be used. */ -extern PNG_EXPORT(void,png_set_write_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_write_fn) PNGARG((png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); /* Replace the default data input function with a user supplied one. */ -extern PNG_EXPORT(void,png_set_read_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_read_fn) PNGARG((png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn)); /* Return the user pointer associated with the I/O functions */ -extern PNG_EXPORT(png_voidp,png_get_io_ptr) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_voidp,png_get_io_ptr) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(void,png_set_read_status_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_read_status_fn) PNGARG((png_structp png_ptr, png_read_status_ptr read_row_fn)); -extern PNG_EXPORT(void,png_set_write_status_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_write_status_fn) PNGARG((png_structp png_ptr, png_write_status_ptr write_row_fn)); #ifdef PNG_USER_MEM_SUPPORTED /* Replace the default memory allocation functions with user supplied one(s). */ -extern PNG_EXPORT(void,png_set_mem_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_mem_fn) PNGARG((png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)); /* Return the user pointer associated with the memory functions */ -extern PNG_EXPORT(png_voidp,png_get_mem_ptr) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_voidp,png_get_mem_ptr) PNGARG((png_structp png_ptr)); #endif -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_read_user_transform_fn) PNGARG((png_structp +#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(void,png_set_read_user_transform_fn) PNGARG((png_structp png_ptr, png_user_transform_ptr read_user_transform_fn)); #endif -#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_write_user_transform_fn) PNGARG((png_structp +#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(void,png_set_write_user_transform_fn) PNGARG((png_structp png_ptr, png_user_transform_ptr write_user_transform_fn)); #endif #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_user_transform_info) PNGARG((png_structp + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) +PNG_EXPORT(void,png_set_user_transform_info) PNGARG((png_structp png_ptr, png_voidp user_transform_ptr, int user_transform_depth, int user_transform_channels)); /* Return the user pointer associated with the user transform functions */ -extern PNG_EXPORT(png_voidp,png_get_user_transform_ptr) +PNG_EXPORT(png_voidp,png_get_user_transform_ptr) PNGARG((png_structp png_ptr)); #endif #ifdef PNG_USER_CHUNKS_SUPPORTED -extern PNG_EXPORT(void,png_set_read_user_chunk_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_read_user_chunk_fn) PNGARG((png_structp png_ptr, png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); -extern PNG_EXPORT(png_voidp,png_get_user_chunk_ptr) PNGARG((png_structp +PNG_EXPORT(png_voidp,png_get_user_chunk_ptr) PNGARG((png_structp png_ptr)); #endif @@ -2009,59 +2030,47 @@ extern PNG_EXPORT(png_voidp,png_get_user_chunk_ptr) PNGARG((png_structp /* Sets the function callbacks for the push reader, and a pointer to a * user-defined structure available to the callback functions. */ -extern PNG_EXPORT(void,png_set_progressive_read_fn) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_progressive_read_fn) PNGARG((png_structp png_ptr, png_voidp progressive_ptr, png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)); -/* returns the user pointer associated with the push read functions */ -extern PNG_EXPORT(png_voidp,png_get_progressive_ptr) +/* Returns the user pointer associated with the push read functions */ +PNG_EXPORT(png_voidp,png_get_progressive_ptr) PNGARG((png_structp png_ptr)); -/* function to be called when data becomes available */ -extern PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr, +/* Function to be called when data becomes available */ +PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr, png_infop info_ptr, png_bytep buffer, png_size_t buffer_size)); -/* function that combines rows. Not very much different than the +/* Function that combines rows. Not very much different than the * png_combine_row() call. Is this even used????? */ -extern PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr, png_bytep old_row, png_bytep new_row)); #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ -extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr, - png_uint_32 size)); +PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr, + png_alloc_size_t size)) PNG_ALLOCATED; +/* Added at libpng version 1.4.0 */ +PNG_EXPORT(png_voidp,png_calloc) PNGARG((png_structp png_ptr, + png_alloc_size_t size)) PNG_ALLOCATED; -#if defined(PNG_1_0_X) -# define png_malloc_warn png_malloc -#else /* Added at libpng version 1.2.4 */ -extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr, - png_uint_32 size)); -#endif +PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr, + png_alloc_size_t size)) PNG_ALLOCATED; -/* frees a pointer allocated by png_malloc() */ -extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr)); - -#if defined(PNG_1_0_X) -/* Function to allocate memory for zlib. */ -extern PNG_EXPORT(voidpf,png_zalloc) PNGARG((voidpf png_ptr, uInt items, - uInt size)); - -/* Function to free memory for zlib */ -extern PNG_EXPORT(void,png_zfree) PNGARG((voidpf png_ptr, voidpf ptr)); -#endif +/* Frees a pointer allocated by png_malloc() */ +PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr)); /* Free data that was allocated internally */ -extern PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 free_me, int num)); -#ifdef PNG_FREE_ME_SUPPORTED /* Reassign responsibility for freeing existing data, whether allocated * by libpng or by the application */ -extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr, png_infop info_ptr, int freer, png_uint_32 mask)); -#endif -/* assignments for png_data_freer */ +/* Assignments for png_data_freer */ #define PNG_DESTROY_WILL_FREE_DATA 1 #define PNG_SET_WILL_FREE_DATA 1 #define PNG_USER_WILL_FREE_DATA 2 @@ -2081,47 +2090,47 @@ extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr, #define PNG_FREE_MUL 0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ #ifdef PNG_USER_MEM_SUPPORTED -extern PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr, - png_uint_32 size)); -extern PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr, + png_alloc_size_t size)) PNG_ALLOCATED; +PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr, png_voidp ptr)); #endif -extern PNG_EXPORT(png_voidp,png_memcpy_check) PNGARG((png_structp png_ptr, - png_voidp s1, png_voidp s2, png_uint_32 size)); - -extern PNG_EXPORT(png_voidp,png_memset_check) PNGARG((png_structp png_ptr, - png_voidp s1, int value, png_uint_32 size)); - -#if defined(USE_FAR_KEYWORD) /* memory model conversion function */ -extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr, - int check)); -#endif /* USE_FAR_KEYWORD */ - #ifndef PNG_NO_ERROR_TEXT /* Fatal error in PNG image of libpng - can't continue */ -extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr, - png_const_charp error_message)); +PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr, + png_const_charp error_message)) PNG_NORETURN; /* The same, but the chunk name is prepended to the error string. */ -extern PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr, - png_const_charp error_message)); +PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr, + png_const_charp error_message)) PNG_NORETURN; + #else /* Fatal error in PNG image of libpng - can't continue */ -extern PNG_EXPORT(void,png_err) PNGARG((png_structp png_ptr)); +PNG_EXPORT(void,png_err) PNGARG((png_structp png_ptr)) PNG_NORETURN; #endif -#ifndef PNG_NO_WARNINGS /* Non-fatal error in libpng. Can continue, but may have a problem. */ -extern PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr, png_const_charp warning_message)); -#ifdef PNG_READ_SUPPORTED /* Non-fatal error in libpng, chunk name is prepended to message. */ -extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr, png_const_charp warning_message)); -#endif /* PNG_READ_SUPPORTED */ -#endif /* PNG_NO_WARNINGS */ + +#ifdef PNG_BENIGN_ERRORS_SUPPORTED +/* Benign error in libpng. Can continue, but may have a problem. + * User can choose whether to handle as a fatal error or as a warning. */ +PNG_EXPORT(void,png_benign_error) PNGARG((png_structp png_ptr, + png_const_charp warning_message)); + +/* Same, chunk name is prepended to message. */ +PNG_EXPORT(void,png_chunk_benign_error) PNGARG((png_structp png_ptr, + png_const_charp warning_message)); + +PNG_EXPORT(void,png_set_benign_errors) PNGARG((png_structp + png_ptr, int allowed)); +#endif /* The png_set_ functions are for storing values in the png_info_struct. * Similarly, the png_get_ calls are used to read values from the @@ -2136,106 +2145,108 @@ extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr, * png_info_struct. */ /* Returns "flag" if chunk data is valid in info_ptr. */ -extern PNG_EXPORT(png_uint_32,png_get_valid) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_valid) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)); /* Returns number of bytes needed to hold a transformed row. */ -extern PNG_EXPORT(png_uint_32,png_get_rowbytes) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_size_t,png_get_rowbytes) PNGARG((png_structp png_ptr, png_infop info_ptr)); -#if defined(PNG_INFO_IMAGE_SUPPORTED) +#ifdef PNG_INFO_IMAGE_SUPPORTED /* Returns row_pointers, which is an array of pointers to scanlines that was -returned from png_read_png(). */ -extern PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr, + * returned from png_read_png(). + */ +PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Set row_pointers, which is an array of pointers to scanlines for use -by png_write_png(). */ -extern PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr, + * by png_write_png(). + */ +PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers)); #endif /* Returns number of color channels in image. */ -extern PNG_EXPORT(png_byte,png_get_channels) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_byte,png_get_channels) PNGARG((png_structp png_ptr, png_infop info_ptr)); #ifdef PNG_EASY_ACCESS_SUPPORTED /* Returns image width in pixels. */ -extern PNG_EXPORT(png_uint_32, png_get_image_width) PNGARG((png_structp +PNG_EXPORT(png_uint_32, png_get_image_width) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image height in pixels. */ -extern PNG_EXPORT(png_uint_32, png_get_image_height) PNGARG((png_structp +PNG_EXPORT(png_uint_32, png_get_image_height) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image bit_depth. */ -extern PNG_EXPORT(png_byte, png_get_bit_depth) PNGARG((png_structp +PNG_EXPORT(png_byte, png_get_bit_depth) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image color_type. */ -extern PNG_EXPORT(png_byte, png_get_color_type) PNGARG((png_structp +PNG_EXPORT(png_byte, png_get_color_type) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image filter_type. */ -extern PNG_EXPORT(png_byte, png_get_filter_type) PNGARG((png_structp +PNG_EXPORT(png_byte, png_get_filter_type) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image interlace_type. */ -extern PNG_EXPORT(png_byte, png_get_interlace_type) PNGARG((png_structp +PNG_EXPORT(png_byte, png_get_interlace_type) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image compression_type. */ -extern PNG_EXPORT(png_byte, png_get_compression_type) PNGARG((png_structp +PNG_EXPORT(png_byte, png_get_compression_type) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns image resolution in pixels per meter, from pHYs chunk data. */ -extern PNG_EXPORT(png_uint_32, png_get_pixels_per_meter) PNGARG((png_structp +PNG_EXPORT(png_uint_32, png_get_pixels_per_meter) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_uint_32, png_get_x_pixels_per_meter) PNGARG((png_structp +PNG_EXPORT(png_uint_32, png_get_x_pixels_per_meter) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_uint_32, png_get_y_pixels_per_meter) PNGARG((png_structp +PNG_EXPORT(png_uint_32, png_get_y_pixels_per_meter) PNGARG((png_structp png_ptr, png_infop info_ptr)); /* Returns pixel aspect ratio, computed from pHYs chunk data. */ #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(float, png_get_pixel_aspect_ratio) PNGARG((png_structp +PNG_EXPORT(float, png_get_pixel_aspect_ratio) PNGARG((png_structp png_ptr, png_infop info_ptr)); #endif /* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ -extern PNG_EXPORT(png_int_32, png_get_x_offset_pixels) PNGARG((png_structp +PNG_EXPORT(png_int_32, png_get_x_offset_pixels) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_y_offset_pixels) PNGARG((png_structp +PNG_EXPORT(png_int_32, png_get_y_offset_pixels) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_x_offset_microns) PNGARG((png_structp +PNG_EXPORT(png_int_32, png_get_x_offset_microns) PNGARG((png_structp png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_y_offset_microns) PNGARG((png_structp +PNG_EXPORT(png_int_32, png_get_y_offset_microns) PNGARG((png_structp png_ptr, png_infop info_ptr)); #endif /* PNG_EASY_ACCESS_SUPPORTED */ /* Returns pointer to signature string read from PNG header */ -extern PNG_EXPORT(png_bytep,png_get_signature) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_bytep,png_get_signature) PNGARG((png_structp png_ptr, png_infop info_ptr)); -#if defined(PNG_bKGD_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_bKGD) PNGARG((png_structp png_ptr, +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_bKGD) PNGARG((png_structp png_ptr, png_infop info_ptr, png_color_16p *background)); #endif -#if defined(PNG_bKGD_SUPPORTED) -extern PNG_EXPORT(void,png_set_bKGD) PNGARG((png_structp png_ptr, +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(void,png_set_bKGD) PNGARG((png_structp png_ptr, png_infop info_ptr, png_color_16p background)); #endif -#if defined(PNG_cHRM_SUPPORTED) +#ifdef PNG_cHRM_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_cHRM) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_cHRM) PNGARG((png_structp png_ptr, png_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y)); #endif #ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_cHRM_fixed) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_cHRM_fixed) PNGARG((png_structp png_ptr, png_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point @@ -2243,14 +2254,14 @@ extern PNG_EXPORT(png_uint_32,png_get_cHRM_fixed) PNGARG((png_structp png_ptr, #endif #endif -#if defined(PNG_cHRM_SUPPORTED) +#ifdef PNG_cHRM_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_cHRM) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_cHRM) PNGARG((png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y)); #endif #ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_cHRM_fixed) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_cHRM_fixed) PNGARG((png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, @@ -2258,200 +2269,199 @@ extern PNG_EXPORT(void,png_set_cHRM_fixed) PNGARG((png_structp png_ptr, #endif #endif -#if defined(PNG_gAMA_SUPPORTED) +#ifdef PNG_gAMA_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_gAMA) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_gAMA) PNGARG((png_structp png_ptr, png_infop info_ptr, double *file_gamma)); #endif -extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_gAMA_fixed) PNGARG((png_structp png_ptr, png_infop info_ptr, png_fixed_point *int_file_gamma)); #endif -#if defined(PNG_gAMA_SUPPORTED) +#ifdef PNG_gAMA_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_gAMA) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_gAMA) PNGARG((png_structp png_ptr, png_infop info_ptr, double file_gamma)); #endif -extern PNG_EXPORT(void,png_set_gAMA_fixed) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_gAMA_fixed) PNGARG((png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma)); #endif -#if defined(PNG_hIST_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_hIST) PNGARG((png_structp png_ptr, +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_hIST) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_16p *hist)); #endif -#if defined(PNG_hIST_SUPPORTED) -extern PNG_EXPORT(void,png_set_hIST) PNGARG((png_structp png_ptr, +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(void,png_set_hIST) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)); #endif -extern PNG_EXPORT(png_uint_32,png_get_IHDR) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_IHDR) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method)); -extern PNG_EXPORT(void,png_set_IHDR) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_IHDR) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method)); -#if defined(PNG_oFFs_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_oFFs) PNGARG((png_structp png_ptr, +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_oFFs) PNGARG((png_structp png_ptr, png_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)); #endif -#if defined(PNG_oFFs_SUPPORTED) -extern PNG_EXPORT(void,png_set_oFFs) PNGARG((png_structp png_ptr, +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(void,png_set_oFFs) PNGARG((png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type)); #endif -#if defined(PNG_pCAL_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_pCAL) PNGARG((png_structp png_ptr, +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_pCAL) PNGARG((png_structp png_ptr, png_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params)); #endif -#if defined(PNG_pCAL_SUPPORTED) -extern PNG_EXPORT(void,png_set_pCAL) PNGARG((png_structp png_ptr, +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(void,png_set_pCAL) PNGARG((png_structp png_ptr, png_infop info_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params)); #endif -#if defined(PNG_pHYs_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_pHYs) PNGARG((png_structp png_ptr, +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_pHYs) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); #endif -#if defined(PNG_pHYs_SUPPORTED) -extern PNG_EXPORT(void,png_set_pHYs) PNGARG((png_structp png_ptr, +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(void,png_set_pHYs) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); #endif -extern PNG_EXPORT(png_uint_32,png_get_PLTE) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_PLTE) PNGARG((png_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette)); -extern PNG_EXPORT(void,png_set_PLTE) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_PLTE) PNGARG((png_structp png_ptr, png_infop info_ptr, png_colorp palette, int num_palette)); -#if defined(PNG_sBIT_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sBIT) PNGARG((png_structp png_ptr, +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_sBIT) PNGARG((png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)); #endif -#if defined(PNG_sBIT_SUPPORTED) -extern PNG_EXPORT(void,png_set_sBIT) PNGARG((png_structp png_ptr, +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(void,png_set_sBIT) PNGARG((png_structp png_ptr, png_infop info_ptr, png_color_8p sig_bit)); #endif -#if defined(PNG_sRGB_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sRGB) PNGARG((png_structp png_ptr, +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_sRGB) PNGARG((png_structp png_ptr, png_infop info_ptr, int *intent)); #endif -#if defined(PNG_sRGB_SUPPORTED) -extern PNG_EXPORT(void,png_set_sRGB) PNGARG((png_structp png_ptr, +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(void,png_set_sRGB) PNGARG((png_structp png_ptr, png_infop info_ptr, int intent)); -extern PNG_EXPORT(void,png_set_sRGB_gAMA_and_cHRM) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_sRGB_gAMA_and_cHRM) PNGARG((png_structp png_ptr, png_infop info_ptr, int intent)); #endif -#if defined(PNG_iCCP_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_structp png_ptr, +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_structp png_ptr, png_infop info_ptr, png_charpp name, int *compression_type, png_charpp profile, png_uint_32 *proflen)); /* Note to maintainer: profile should be png_bytepp */ #endif -#if defined(PNG_iCCP_SUPPORTED) -extern PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr, +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr, png_infop info_ptr, png_charp name, int compression_type, png_charp profile, png_uint_32 proflen)); /* Note to maintainer: profile should be png_bytep */ #endif -#if defined(PNG_sPLT_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sPLT) PNGARG((png_structp png_ptr, +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_sPLT) PNGARG((png_structp png_ptr, png_infop info_ptr, png_sPLT_tpp entries)); #endif -#if defined(PNG_sPLT_SUPPORTED) -extern PNG_EXPORT(void,png_set_sPLT) PNGARG((png_structp png_ptr, +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(void,png_set_sPLT) PNGARG((png_structp png_ptr, png_infop info_ptr, png_sPLT_tp entries, int nentries)); #endif -#if defined(PNG_TEXT_SUPPORTED) +#ifdef PNG_TEXT_SUPPORTED /* png_get_text also returns the number of text chunks in *num_text */ -extern PNG_EXPORT(png_uint_32,png_get_text) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_text) PNGARG((png_structp png_ptr, png_infop info_ptr, png_textp *text_ptr, int *num_text)); #endif -/* - * Note while png_set_text() will accept a structure whose text, - * language, and translated keywords are NULL pointers, the structure - * returned by png_get_text will always contain regular - * zero-terminated C strings. They might be empty strings but - * they will never be NULL pointers. +/* Note while png_set_text() will accept a structure whose text, + * language, and translated keywords are NULL pointers, the structure + * returned by png_get_text will always contain regular + * zero-terminated C strings. They might be empty strings but + * they will never be NULL pointers. */ -#if defined(PNG_TEXT_SUPPORTED) -extern PNG_EXPORT(void,png_set_text) PNGARG((png_structp png_ptr, +#ifdef PNG_TEXT_SUPPORTED +PNG_EXPORT(void,png_set_text) PNGARG((png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, int num_text)); #endif -#if defined(PNG_tIME_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_tIME) PNGARG((png_structp png_ptr, +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_tIME) PNGARG((png_structp png_ptr, png_infop info_ptr, png_timep *mod_time)); #endif -#if defined(PNG_tIME_SUPPORTED) -extern PNG_EXPORT(void,png_set_tIME) PNGARG((png_structp png_ptr, +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(void,png_set_tIME) PNGARG((png_structp png_ptr, png_infop info_ptr, png_timep mod_time)); #endif -#if defined(PNG_tRNS_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_tRNS) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytep *trans, int *num_trans, - png_color_16p *trans_values)); +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_tRNS) PNGARG((png_structp png_ptr, + png_infop info_ptr, png_bytep *trans_alpha, int *num_trans, + png_color_16p *trans_color)); #endif -#if defined(PNG_tRNS_SUPPORTED) -extern PNG_EXPORT(void,png_set_tRNS) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytep trans, int num_trans, - png_color_16p trans_values)); +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(void,png_set_tRNS) PNGARG((png_structp png_ptr, + png_infop info_ptr, png_bytep trans_alpha, int num_trans, + png_color_16p trans_color)); #endif -#if defined(PNG_tRNS_SUPPORTED) +#ifdef PNG_tRNS_SUPPORTED #endif -#if defined(PNG_sCAL_SUPPORTED) +#ifdef PNG_sCAL_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_sCAL) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_sCAL) PNGARG((png_structp png_ptr, png_infop info_ptr, int *unit, double *width, double *height)); #else #ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_sCAL_s) PNGARG((png_structp png_ptr, +PNG_EXPORT(png_uint_32,png_get_sCAL_s) PNGARG((png_structp png_ptr, png_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight)); #endif #endif #endif /* PNG_sCAL_SUPPORTED */ -#if defined(PNG_sCAL_SUPPORTED) +#ifdef PNG_sCAL_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_sCAL) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_sCAL) PNGARG((png_structp png_ptr, png_infop info_ptr, int unit, double width, double height)); #else #ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr, +PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr, png_infop info_ptr, int unit, png_charp swidth, png_charp sheight)); #endif #endif #endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */ -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) -/* provide a list of chunks and how they are to be handled, if the built-in +#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +/* Provide a list of chunks and how they are to be handled, if the built-in handling or default unknown chunk handling is not desired. Any chunks not listed will be handled in the default manner. The IHDR and IEND chunks must not be listed. @@ -2460,96 +2470,47 @@ extern PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr, = 2: keep only if safe-to-copy = 3: keep even if unsafe-to-copy */ -extern PNG_EXPORT(void, png_set_keep_unknown_chunks) PNGARG((png_structp +PNG_EXPORT(void, png_set_keep_unknown_chunks) PNGARG((png_structp png_ptr, int keep, png_bytep chunk_list, int num_chunks)); -extern PNG_EXPORT(void, png_set_unknown_chunks) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_unknown_chunkp unknowns, int num_unknowns)); -extern PNG_EXPORT(void, png_set_unknown_chunk_location) - PNGARG((png_structp png_ptr, png_infop info_ptr, int chunk, int location)); -extern PNG_EXPORT(png_uint_32,png_get_unknown_chunks) PNGARG((png_structp - png_ptr, png_infop info_ptr, png_unknown_chunkpp entries)); -#endif -#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED PNG_EXPORT(int,png_handle_as_unknown) PNGARG((png_structp png_ptr, png_bytep chunk_name)); #endif +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED +PNG_EXPORT(void, png_set_unknown_chunks) PNGARG((png_structp png_ptr, + png_infop info_ptr, png_unknown_chunkp unknowns, int num_unknowns)); +PNG_EXPORT(void, png_set_unknown_chunk_location) + PNGARG((png_structp png_ptr, png_infop info_ptr, int chunk, int location)); +PNG_EXPORT(png_uint_32,png_get_unknown_chunks) PNGARG((png_structp + png_ptr, png_infop info_ptr, png_unknown_chunkpp entries)); +#endif /* Png_free_data() will turn off the "valid" flag for anything it frees. - If you need to turn it off for a chunk that your application has freed, - you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); */ -extern PNG_EXPORT(void, png_set_invalid) PNGARG((png_structp png_ptr, + * If you need to turn it off for a chunk that your application has freed, + * you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); + */ +PNG_EXPORT(void, png_set_invalid) PNGARG((png_structp png_ptr, png_infop info_ptr, int mask)); -#if defined(PNG_INFO_IMAGE_SUPPORTED) +#ifdef PNG_INFO_IMAGE_SUPPORTED /* The "params" pointer is currently not used and is for future expansion. */ -extern PNG_EXPORT(void, png_read_png) PNGARG((png_structp png_ptr, +PNG_EXPORT(void, png_read_png) PNGARG((png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params)); -extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr, +PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params)); #endif -/* Define PNG_DEBUG at compile time for debugging information. Higher - * numbers for PNG_DEBUG mean more debugging information. This has - * only been added since version 0.95 so it is not implemented throughout - * libpng yet, but more support will be added as needed. - */ -#ifdef PNG_DEBUG -#if (PNG_DEBUG > 0) -#if !defined(PNG_DEBUG_FILE) && defined(_MSC_VER) -#include -#if (PNG_DEBUG > 1) -#define png_debug(l,m) _RPT0(_CRT_WARN,m) -#define png_debug1(l,m,p1) _RPT1(_CRT_WARN,m,p1) -#define png_debug2(l,m,p1,p2) _RPT2(_CRT_WARN,m,p1,p2) -#endif -#else /* PNG_DEBUG_FILE || !_MSC_VER */ -#ifndef PNG_DEBUG_FILE -#define PNG_DEBUG_FILE stderr -#endif /* PNG_DEBUG_FILE */ -#if (PNG_DEBUG > 1) -#define png_debug(l,m) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \ -} -#define png_debug1(l,m,p1) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \ -} -#define png_debug2(l,m,p1,p2) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \ -} -#endif /* (PNG_DEBUG > 1) */ -#endif /* _MSC_VER */ -#endif /* (PNG_DEBUG > 0) */ -#endif /* PNG_DEBUG */ -#ifndef png_debug -#define png_debug(l, m) -#endif -#ifndef png_debug1 -#define png_debug1(l, m, p1) -#endif -#ifndef png_debug2 -#define png_debug2(l, m, p1, p2) -#endif - -extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr)); +PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp + png_ptr)); +PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr)); #ifdef PNG_MNG_FEATURES_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp +PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp png_ptr, png_uint_32 mng_features_permitted)); #endif @@ -2559,93 +2520,78 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp #define PNG_HANDLE_CHUNK_IF_SAFE 2 #define PNG_HANDLE_CHUNK_ALWAYS 3 -/* Added to version 1.2.0 */ -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -#if defined(PNG_MMX_CODE_SUPPORTED) -#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */ -#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */ -#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04 -#define PNG_ASM_FLAG_MMX_READ_INTERLACE 0x08 -#define PNG_ASM_FLAG_MMX_READ_FILTER_SUB 0x10 -#define PNG_ASM_FLAG_MMX_READ_FILTER_UP 0x20 -#define PNG_ASM_FLAG_MMX_READ_FILTER_AVG 0x40 -#define PNG_ASM_FLAG_MMX_READ_FILTER_PAETH 0x80 -#define PNG_ASM_FLAGS_INITIALIZED 0x80000000 /* not user-settable */ - -#define PNG_MMX_READ_FLAGS ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \ - | PNG_ASM_FLAG_MMX_READ_INTERLACE \ - | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \ - | PNG_ASM_FLAG_MMX_READ_FILTER_UP \ - | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \ - | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ) -#define PNG_MMX_WRITE_FLAGS ( 0 ) - -#define PNG_MMX_FLAGS ( PNG_ASM_FLAG_MMX_SUPPORT_COMPILED \ - | PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU \ - | PNG_MMX_READ_FLAGS \ - | PNG_MMX_WRITE_FLAGS ) - -#define PNG_SELECT_READ 1 -#define PNG_SELECT_WRITE 2 -#endif /* PNG_MMX_CODE_SUPPORTED */ - -#if !defined(PNG_1_0_X) -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_mmx_flagmask) - PNGARG((int flag_select, int *compilerID)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_asm_flagmask) - PNGARG((int flag_select)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_asm_flags) - PNGARG((png_structp png_ptr)); - -/* pngget.c */ -extern PNG_EXPORT(png_byte,png_get_mmx_bitdepth_threshold) - PNGARG((png_structp png_ptr)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_mmx_rowbytes_threshold) - PNGARG((png_structp png_ptr)); - -/* pngset.c */ -extern PNG_EXPORT(void,png_set_asm_flags) - PNGARG((png_structp png_ptr, png_uint_32 asm_flags)); - -/* pngset.c */ -extern PNG_EXPORT(void,png_set_mmx_thresholds) - PNGARG((png_structp png_ptr, png_byte mmx_bitdepth_threshold, - png_uint_32 mmx_rowbytes_threshold)); - -#endif /* PNG_1_0_X */ - -#if !defined(PNG_1_0_X) -/* png.c, pnggccrd.c, or pngvcrd.c */ -extern PNG_EXPORT(int,png_mmx_support) PNGARG((void)); -#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ - /* Strip the prepended error numbers ("#nnn ") from error and warning - * messages before passing them to the error or warning handler. */ + * messages before passing them to the error or warning handler. + */ #ifdef PNG_ERROR_NUMBERS_SUPPORTED -extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp +PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp png_ptr, png_uint_32 strip_mode)); #endif -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.2.6 */ +/* Added in libpng-1.2.6 */ #ifdef PNG_SET_USER_LIMITS_SUPPORTED -extern PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp +PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max)); -extern PNG_EXPORT(png_uint_32,png_get_user_width_max) PNGARG((png_structp +PNG_EXPORT(png_uint_32,png_get_user_width_max) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp +PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp png_ptr)); +/* Added in libpng-1.4.0 */ +PNG_EXPORT(void,png_set_chunk_cache_max) PNGARG((png_structp + png_ptr, png_uint_32 user_chunk_cache_max)); +PNG_EXPORT(png_uint_32,png_get_chunk_cache_max) + PNGARG((png_structp png_ptr)); +/* Added in libpng-1.4.1 */ +PNG_EXPORT(void,png_set_chunk_malloc_max) PNGARG((png_structp + png_ptr, png_alloc_size_t user_chunk_cache_max)); +PNG_EXPORT(png_alloc_size_t,png_get_chunk_malloc_max) + PNGARG((png_structp png_ptr)); #endif -/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */ +#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED) +PNG_EXPORT(png_uint_32,png_get_pixels_per_inch) PNGARG((png_structp png_ptr, +png_infop info_ptr)); + +PNG_EXPORT(png_uint_32,png_get_x_pixels_per_inch) PNGARG((png_structp png_ptr, +png_infop info_ptr)); + +PNG_EXPORT(png_uint_32,png_get_y_pixels_per_inch) PNGARG((png_structp png_ptr, +png_infop info_ptr)); + +PNG_EXPORT(float,png_get_x_offset_inches) PNGARG((png_structp png_ptr, +png_infop info_ptr)); + +PNG_EXPORT(float,png_get_y_offset_inches) PNGARG((png_structp png_ptr, +png_infop info_ptr)); + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_pHYs_dpi) PNGARG((png_structp png_ptr, +png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); +#endif /* PNG_pHYs_SUPPORTED */ +#endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */ + +/* Added in libpng-1.4.0 */ +#ifdef PNG_IO_STATE_SUPPORTED +PNG_EXPORT(png_uint_32,png_get_io_state) PNGARG((png_structp png_ptr)); + +PNG_EXPORT(png_bytep,png_get_io_chunk_name) + PNGARG((png_structp png_ptr)); + +/* The flags returned by png_get_io_state() are the following: */ +#define PNG_IO_NONE 0x0000 /* no I/O at this moment */ +#define PNG_IO_READING 0x0001 /* currently reading */ +#define PNG_IO_WRITING 0x0002 /* currently writing */ +#define PNG_IO_SIGNATURE 0x0010 /* currently at the file signature */ +#define PNG_IO_CHUNK_HDR 0x0020 /* currently at the chunk header */ +#define PNG_IO_CHUNK_DATA 0x0040 /* currently at the chunk data */ +#define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */ +#define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */ +#define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */ +#endif /* ?PNG_IO_STATE_SUPPORTED */ + +/* Maintainer: Put new public prototypes here ^, in libpng.3, and project + * defs + */ #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED /* With these routines we avoid an integer divide, which will be slower on @@ -2662,19 +2608,21 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ -# define png_composite(composite, fg, alpha, bg) \ - { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * (png_uint_16)(alpha) \ - + (png_uint_16)(bg)*(png_uint_16)(255 - \ - (png_uint_16)(alpha)) + (png_uint_16)128); \ +# define png_composite(composite, fg, alpha, bg) \ + { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ + * (png_uint_16)(alpha) \ + + (png_uint_16)(bg)*(png_uint_16)(255 \ + - (png_uint_16)(alpha)) + (png_uint_16)128); \ (composite) = (png_byte)((temp + (temp >> 8)) >> 8); } -# define png_composite_16(composite, fg, alpha, bg) \ - { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * (png_uint_32)(alpha) \ - + (png_uint_32)(bg)*(png_uint_32)(65535L - \ - (png_uint_32)(alpha)) + (png_uint_32)32768L); \ +# define png_composite_16(composite, fg, alpha, bg) \ + { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ + * (png_uint_32)(alpha) \ + + (png_uint_32)(bg)*(png_uint_32)(65535L \ + - (png_uint_32)(alpha)) + (png_uint_32)32768L); \ (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); } -#else /* standard method using integer division */ +#else /* Standard method using integer division */ # define png_composite(composite, fg, alpha, bg) \ (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \ @@ -2685,885 +2633,67 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \ (png_uint_32)(bg)*(png_uint_32)(65535L - (png_uint_32)(alpha)) + \ (png_uint_32)32767) / (png_uint_32)65535L) - #endif /* PNG_READ_COMPOSITE_NODIV_SUPPORTED */ -/* Inline macros to do direct reads of bytes from the input buffer. These - * require that you are using an architecture that uses PNG byte ordering - * (MSB first) and supports unaligned data storage. I think that PowerPC - * in big-endian mode and 680x0 are the only ones that will support this. - * The x86 line of processors definitely do not. The png_get_int_32() - * routine also assumes we are using two's complement format for negative - * values, which is almost certainly true. +#ifdef PNG_USE_READ_MACROS +/* Inline macros to do direct reads of bytes from the input buffer. + * The png_get_int_32() routine assumes we are using two's complement + * format for negative values, which is almost certainly true. */ -#if defined(PNG_READ_BIG_ENDIAN_SUPPORTED) -# define png_get_uint_32(buf) ( *((png_uint_32p) (buf))) -# define png_get_uint_16(buf) ( *((png_uint_16p) (buf))) -# define png_get_int_32(buf) ( *((png_int_32p) (buf))) +# define png_get_uint_32(buf) \ + (((png_uint_32)(*(buf)) << 24) + \ + ((png_uint_32)(*((buf) + 1)) << 16) + \ + ((png_uint_32)(*((buf) + 2)) << 8) + \ + ((png_uint_32)(*((buf) + 3)))) +# define png_get_uint_16(buf) \ + (((png_uint_32)(*(buf)) << 8) + \ + ((png_uint_32)(*((buf) + 1)))) +# define png_get_int_32(buf) \ + ((png_int_32)((*(buf) & 0x80) \ + ? -((png_int_32)((png_get_uint_32(buf) ^ 0xffffffff)+1)) \ + : (png_int_32)png_get_uint_32(buf))) #else -extern PNG_EXPORT(png_uint_32,png_get_uint_32) PNGARG((png_bytep buf)); -extern PNG_EXPORT(png_uint_16,png_get_uint_16) PNGARG((png_bytep buf)); -extern PNG_EXPORT(png_int_32,png_get_int_32) PNGARG((png_bytep buf)); -#endif /* !PNG_READ_BIG_ENDIAN_SUPPORTED */ -extern PNG_EXPORT(png_uint_32,png_get_uint_31) +PNG_EXPORT(png_uint_32,png_get_uint_32) PNGARG((png_bytep buf)); +PNG_EXPORT(png_uint_16,png_get_uint_16) PNGARG((png_bytep buf)); +#ifdef PNG_GET_INT_32_SUPPORTED +PNG_EXPORT(png_int_32,png_get_int_32) PNGARG((png_bytep buf)); +#endif +#endif +PNG_EXPORT(png_uint_32,png_get_uint_31) PNGARG((png_structp png_ptr, png_bytep buf)); /* No png_get_int_16 -- may be added if there's a real need for it. */ -/* Place a 32-bit number into a buffer in PNG byte order (big-endian). - */ -extern PNG_EXPORT(void,png_save_uint_32) +/* Place a 32-bit number into a buffer in PNG byte order (big-endian). */ +PNG_EXPORT(void,png_save_uint_32) PNGARG((png_bytep buf, png_uint_32 i)); -extern PNG_EXPORT(void,png_save_int_32) +PNG_EXPORT(void,png_save_int_32) PNGARG((png_bytep buf, png_int_32 i)); /* Place a 16-bit number into a buffer in PNG byte order. * The parameter is declared unsigned int, not png_uint_16, * just to avoid potential problems on pre-ANSI C compilers. */ -extern PNG_EXPORT(void,png_save_uint_16) +PNG_EXPORT(void,png_save_uint_16) PNGARG((png_bytep buf, unsigned int i)); /* No png_save_int_16 -- may be added if there's a real need for it. */ /* ************************************************************************* */ -/* These next functions are used internally in the code. They generally - * shouldn't be used unless you are writing code to add or replace some - * functionality in libpng. More information about most functions can - * be found in the files where the functions are located. - */ - - -/* Various modes of operation, that are visible to applications because - * they are used for unknown chunk location. +/* Various modes of operation. Note that after an init, mode is set to + * zero automatically when the structure is created. */ #define PNG_HAVE_IHDR 0x01 #define PNG_HAVE_PLTE 0x02 #define PNG_HAVE_IDAT 0x04 #define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */ #define PNG_HAVE_IEND 0x10 - -#if defined(PNG_INTERNAL) - -/* More modes of operation. Note that after an init, mode is set to - * zero automatically when the structure is created. - */ #define PNG_HAVE_gAMA 0x20 #define PNG_HAVE_cHRM 0x40 -#define PNG_HAVE_sRGB 0x80 -#define PNG_HAVE_CHUNK_HEADER 0x100 -#define PNG_WROTE_tIME 0x200 -#define PNG_WROTE_INFO_BEFORE_PLTE 0x400 -#define PNG_BACKGROUND_IS_GRAY 0x800 -#define PNG_HAVE_PNG_SIGNATURE 0x1000 -#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */ - -/* flags for the transformations the PNG library does on the image data */ -#define PNG_BGR 0x0001 -#define PNG_INTERLACE 0x0002 -#define PNG_PACK 0x0004 -#define PNG_SHIFT 0x0008 -#define PNG_SWAP_BYTES 0x0010 -#define PNG_INVERT_MONO 0x0020 -#define PNG_DITHER 0x0040 -#define PNG_BACKGROUND 0x0080 -#define PNG_BACKGROUND_EXPAND 0x0100 - /* 0x0200 unused */ -#define PNG_16_TO_8 0x0400 -#define PNG_RGBA 0x0800 -#define PNG_EXPAND 0x1000 -#define PNG_GAMMA 0x2000 -#define PNG_GRAY_TO_RGB 0x4000 -#define PNG_FILLER 0x8000L -#define PNG_PACKSWAP 0x10000L -#define PNG_SWAP_ALPHA 0x20000L -#define PNG_STRIP_ALPHA 0x40000L -#define PNG_INVERT_ALPHA 0x80000L -#define PNG_USER_TRANSFORM 0x100000L -#define PNG_RGB_TO_GRAY_ERR 0x200000L -#define PNG_RGB_TO_GRAY_WARN 0x400000L -#define PNG_RGB_TO_GRAY 0x600000L /* two bits, RGB_TO_GRAY_ERR|WARN */ - /* 0x800000L Unused */ -#define PNG_ADD_ALPHA 0x1000000L /* Added to libpng-1.2.7 */ -#define PNG_EXPAND_tRNS 0x2000000L /* Added to libpng-1.2.9 */ - /* 0x4000000L unused */ - /* 0x8000000L unused */ - /* 0x10000000L unused */ - /* 0x20000000L unused */ - /* 0x40000000L unused */ - -/* flags for png_create_struct */ -#define PNG_STRUCT_PNG 0x0001 -#define PNG_STRUCT_INFO 0x0002 - -/* Scaling factor for filter heuristic weighting calculations */ -#define PNG_WEIGHT_SHIFT 8 -#define PNG_WEIGHT_FACTOR (1<<(PNG_WEIGHT_SHIFT)) -#define PNG_COST_SHIFT 3 -#define PNG_COST_FACTOR (1<<(PNG_COST_SHIFT)) - -/* flags for the png_ptr->flags rather than declaring a byte for each one */ -#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY 0x0001 -#define PNG_FLAG_ZLIB_CUSTOM_LEVEL 0x0002 -#define PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL 0x0004 -#define PNG_FLAG_ZLIB_CUSTOM_WINDOW_BITS 0x0008 -#define PNG_FLAG_ZLIB_CUSTOM_METHOD 0x0010 -#define PNG_FLAG_ZLIB_FINISHED 0x0020 -#define PNG_FLAG_ROW_INIT 0x0040 -#define PNG_FLAG_FILLER_AFTER 0x0080 -#define PNG_FLAG_CRC_ANCILLARY_USE 0x0100 -#define PNG_FLAG_CRC_ANCILLARY_NOWARN 0x0200 -#define PNG_FLAG_CRC_CRITICAL_USE 0x0400 -#define PNG_FLAG_CRC_CRITICAL_IGNORE 0x0800 -#define PNG_FLAG_FREE_PLTE 0x1000 -#define PNG_FLAG_FREE_TRNS 0x2000 -#define PNG_FLAG_FREE_HIST 0x4000 -#define PNG_FLAG_KEEP_UNKNOWN_CHUNKS 0x8000L -#define PNG_FLAG_KEEP_UNSAFE_CHUNKS 0x10000L -#define PNG_FLAG_LIBRARY_MISMATCH 0x20000L -#define PNG_FLAG_STRIP_ERROR_NUMBERS 0x40000L -#define PNG_FLAG_STRIP_ERROR_TEXT 0x80000L -#define PNG_FLAG_MALLOC_NULL_MEM_OK 0x100000L -#define PNG_FLAG_ADD_ALPHA 0x200000L /* Added to libpng-1.2.8 */ -#define PNG_FLAG_STRIP_ALPHA 0x400000L /* Added to libpng-1.2.8 */ - /* 0x800000L unused */ - /* 0x1000000L unused */ - /* 0x2000000L unused */ - /* 0x4000000L unused */ - /* 0x8000000L unused */ - /* 0x10000000L unused */ - /* 0x20000000L unused */ - /* 0x40000000L unused */ - -#define PNG_FLAG_CRC_ANCILLARY_MASK (PNG_FLAG_CRC_ANCILLARY_USE | \ - PNG_FLAG_CRC_ANCILLARY_NOWARN) - -#define PNG_FLAG_CRC_CRITICAL_MASK (PNG_FLAG_CRC_CRITICAL_USE | \ - PNG_FLAG_CRC_CRITICAL_IGNORE) - -#define PNG_FLAG_CRC_MASK (PNG_FLAG_CRC_ANCILLARY_MASK | \ - PNG_FLAG_CRC_CRITICAL_MASK) - -/* save typing and make code easier to understand */ - -#define PNG_COLOR_DIST(c1, c2) (abs((int)((c1).red) - (int)((c2).red)) + \ - abs((int)((c1).green) - (int)((c2).green)) + \ - abs((int)((c1).blue) - (int)((c2).blue))) - -/* Added to libpng-1.2.6 JB */ -#define PNG_ROWBYTES(pixel_bits, width) \ - ((pixel_bits) >= 8 ? \ - ((width) * (((png_uint_32)(pixel_bits)) >> 3)) : \ - (( ((width) * ((png_uint_32)(pixel_bits))) + 7) >> 3) ) - -/* PNG_OUT_OF_RANGE returns true if value is outside the range - ideal-delta..ideal+delta. Each argument is evaluated twice. - "ideal" and "delta" should be constants, normally simple - integers, "value" a variable. Added to libpng-1.2.6 JB */ -#define PNG_OUT_OF_RANGE(value, ideal, delta) \ - ( (value) < (ideal)-(delta) || (value) > (ideal)+(delta) ) - -/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */ -#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN) -/* place to hold the signature string for a PNG file. */ -#ifdef PNG_USE_GLOBAL_ARRAYS - PNG_EXPORT_VAR (PNG_CONST png_byte FARDATA) png_sig[8]; -#else -#endif -#endif /* PNG_NO_EXTERN */ - -/* Constant strings for known chunk types. If you need to add a chunk, - * define the name here, and add an invocation of the macro in png.c and - * wherever it's needed. - */ -#define PNG_IHDR png_byte png_IHDR[5] = { 73, 72, 68, 82, '\0'} -#define PNG_IDAT png_byte png_IDAT[5] = { 73, 68, 65, 84, '\0'} -#define PNG_IEND png_byte png_IEND[5] = { 73, 69, 78, 68, '\0'} -#define PNG_PLTE png_byte png_PLTE[5] = { 80, 76, 84, 69, '\0'} -#define PNG_bKGD png_byte png_bKGD[5] = { 98, 75, 71, 68, '\0'} -#define PNG_cHRM png_byte png_cHRM[5] = { 99, 72, 82, 77, '\0'} -#define PNG_gAMA png_byte png_gAMA[5] = {103, 65, 77, 65, '\0'} -#define PNG_hIST png_byte png_hIST[5] = {104, 73, 83, 84, '\0'} -#define PNG_iCCP png_byte png_iCCP[5] = {105, 67, 67, 80, '\0'} -#define PNG_iTXt png_byte png_iTXt[5] = {105, 84, 88, 116, '\0'} -#define PNG_oFFs png_byte png_oFFs[5] = {111, 70, 70, 115, '\0'} -#define PNG_pCAL png_byte png_pCAL[5] = {112, 67, 65, 76, '\0'} -#define PNG_sCAL png_byte png_sCAL[5] = {115, 67, 65, 76, '\0'} -#define PNG_pHYs png_byte png_pHYs[5] = {112, 72, 89, 115, '\0'} -#define PNG_sBIT png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'} -#define PNG_sPLT png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'} -#define PNG_sRGB png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'} -#define PNG_tEXt png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'} -#define PNG_tIME png_byte png_tIME[5] = {116, 73, 77, 69, '\0'} -#define PNG_tRNS png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'} -#define PNG_zTXt png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'} - -#ifdef PNG_USE_GLOBAL_ARRAYS -PNG_EXPORT_VAR (png_byte FARDATA) png_IHDR[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_IDAT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_IEND[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_PLTE[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_bKGD[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_cHRM[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_gAMA[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_hIST[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_iCCP[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_iTXt[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_oFFs[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_pCAL[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sCAL[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_pHYs[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sBIT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sPLT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sRGB[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tEXt[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tIME[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tRNS[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_zTXt[5]; -#endif /* PNG_USE_GLOBAL_ARRAYS */ - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize png_ptr struct for reading, and allocate any other memory. - * (old interface - DEPRECATED - use png_create_read_struct instead). - */ -extern PNG_EXPORT(void,png_read_init) PNGARG((png_structp png_ptr)); -#undef png_read_init -#define png_read_init(png_ptr) png_read_init_3(&png_ptr, \ - PNG_LIBPNG_VER_STRING, png_sizeof(png_struct)); -#endif - -extern PNG_EXPORT(void,png_read_init_3) PNGARG((png_structpp ptr_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size)); -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -extern PNG_EXPORT(void,png_read_init_2) PNGARG((png_structp png_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t - png_info_size)); -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize png_ptr struct for writing, and allocate any other memory. - * (old interface - DEPRECATED - use png_create_write_struct instead). - */ -extern PNG_EXPORT(void,png_write_init) PNGARG((png_structp png_ptr)); -#undef png_write_init -#define png_write_init(png_ptr) png_write_init_3(&png_ptr, \ - PNG_LIBPNG_VER_STRING, png_sizeof(png_struct)); -#endif - -extern PNG_EXPORT(void,png_write_init_3) PNGARG((png_structpp ptr_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size)); -extern PNG_EXPORT(void,png_write_init_2) PNGARG((png_structp png_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t - png_info_size)); - -/* Allocate memory for an internal libpng struct */ -PNG_EXTERN png_voidp png_create_struct PNGARG((int type)); - -/* Free memory from internal libpng struct */ -PNG_EXTERN void png_destroy_struct PNGARG((png_voidp struct_ptr)); - -PNG_EXTERN png_voidp png_create_struct_2 PNGARG((int type, png_malloc_ptr - malloc_fn, png_voidp mem_ptr)); -PNG_EXTERN void png_destroy_struct_2 PNGARG((png_voidp struct_ptr, - png_free_ptr free_fn, png_voidp mem_ptr)); - -/* Free any memory that info_ptr points to and reset struct. */ -PNG_EXTERN void png_info_destroy PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -#ifndef PNG_1_0_X -/* Function to allocate memory for zlib. */ -PNG_EXTERN voidpf png_zalloc PNGARG((voidpf png_ptr, uInt items, uInt size)); - -/* Function to free memory for zlib */ -PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr)); - -#ifdef PNG_SIZE_T -/* Function to convert a sizeof an item to png_sizeof item */ - PNG_EXTERN png_size_t PNGAPI png_convert_size PNGARG((size_t size)); -#endif - -/* Next four functions are used internally as callbacks. PNGAPI is required - * but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3. */ - -PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr, - png_bytep data, png_size_t length)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void PNGAPI png_push_fill_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t length)); -#endif - -PNG_EXTERN void PNGAPI png_default_write_data PNGARG((png_structp png_ptr, - png_bytep data, png_size_t length)); - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) -#if !defined(PNG_NO_STDIO) -PNG_EXTERN void PNGAPI png_default_flush PNGARG((png_structp png_ptr)); -#endif -#endif -#else /* PNG_1_0_X */ -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void png_push_fill_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t length)); -#endif -#endif /* PNG_1_0_X */ - -/* Reset the CRC variable */ -PNG_EXTERN void png_reset_crc PNGARG((png_structp png_ptr)); - -/* Write the "data" buffer to whatever output you are using. */ -PNG_EXTERN void png_write_data PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -/* Read data from whatever input you are using into the "data" buffer */ -PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -/* Read bytes into buf, and update png_ptr->crc */ -PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf, - png_size_t length)); - -/* Decompress data in a chunk that uses compression */ -#if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \ - defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED) -PNG_EXTERN png_charp png_decompress_chunk PNGARG((png_structp png_ptr, - int comp_type, png_charp chunkdata, png_size_t chunklength, - png_size_t prefix_length, png_size_t *data_length)); -#endif - -/* Read "skip" bytes, read the file crc, and (optionally) verify png_ptr->crc */ -PNG_EXTERN int png_crc_finish PNGARG((png_structp png_ptr, png_uint_32 skip)); - -/* Read the CRC from the file and compare it to the libpng calculated CRC */ -PNG_EXTERN int png_crc_error PNGARG((png_structp png_ptr)); - -/* Calculate the CRC over a section of data. Note that we are only - * passing a maximum of 64K on systems that have this as a memory limit, - * since this is the maximum buffer size we can specify. - */ -PNG_EXTERN void png_calculate_crc PNGARG((png_structp png_ptr, png_bytep ptr, - png_size_t length)); - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) -PNG_EXTERN void png_flush PNGARG((png_structp png_ptr)); -#endif - -/* simple function to write the signature */ -PNG_EXTERN void png_write_sig PNGARG((png_structp png_ptr)); - -/* write various chunks */ - -/* Write the IHDR chunk, and update the png_struct with the necessary - * information. - */ -PNG_EXTERN void png_write_IHDR PNGARG((png_structp png_ptr, png_uint_32 width, - png_uint_32 height, - int bit_depth, int color_type, int compression_method, int filter_method, - int interlace_method)); - -PNG_EXTERN void png_write_PLTE PNGARG((png_structp png_ptr, png_colorp palette, - png_uint_32 num_pal)); - -PNG_EXTERN void png_write_IDAT PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -PNG_EXTERN void png_write_IEND PNGARG((png_structp png_ptr)); - -#if defined(PNG_WRITE_gAMA_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -PNG_EXTERN void png_write_gAMA PNGARG((png_structp png_ptr, double file_gamma)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr, png_fixed_point - file_gamma)); -#endif -#endif - -#if defined(PNG_WRITE_sBIT_SUPPORTED) -PNG_EXTERN void png_write_sBIT PNGARG((png_structp png_ptr, png_color_8p sbit, - int color_type)); -#endif - -#if defined(PNG_WRITE_cHRM_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -PNG_EXTERN void png_write_cHRM PNGARG((png_structp png_ptr, - double white_x, double white_y, - double red_x, double red_y, double green_x, double green_y, - double blue_x, double blue_y)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_cHRM_fixed PNGARG((png_structp png_ptr, - png_fixed_point int_white_x, png_fixed_point int_white_y, - png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point - int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, - png_fixed_point int_blue_y)); -#endif -#endif - -#if defined(PNG_WRITE_sRGB_SUPPORTED) -PNG_EXTERN void png_write_sRGB PNGARG((png_structp png_ptr, - int intent)); -#endif - -#if defined(PNG_WRITE_iCCP_SUPPORTED) -PNG_EXTERN void png_write_iCCP PNGARG((png_structp png_ptr, - png_charp name, int compression_type, - png_charp profile, int proflen)); - /* Note to maintainer: profile should be png_bytep */ -#endif - -#if defined(PNG_WRITE_sPLT_SUPPORTED) -PNG_EXTERN void png_write_sPLT PNGARG((png_structp png_ptr, - png_sPLT_tp palette)); -#endif - -#if defined(PNG_WRITE_tRNS_SUPPORTED) -PNG_EXTERN void png_write_tRNS PNGARG((png_structp png_ptr, png_bytep trans, - png_color_16p values, int number, int color_type)); -#endif - -#if defined(PNG_WRITE_bKGD_SUPPORTED) -PNG_EXTERN void png_write_bKGD PNGARG((png_structp png_ptr, - png_color_16p values, int color_type)); -#endif - -#if defined(PNG_WRITE_hIST_SUPPORTED) -PNG_EXTERN void png_write_hIST PNGARG((png_structp png_ptr, png_uint_16p hist, - int num_hist)); -#endif - -#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_pCAL_SUPPORTED) || \ - defined(PNG_WRITE_iCCP_SUPPORTED) || defined(PNG_WRITE_sPLT_SUPPORTED) -PNG_EXTERN png_size_t png_check_keyword PNGARG((png_structp png_ptr, - png_charp key, png_charpp new_key)); -#endif - -#if defined(PNG_WRITE_tEXt_SUPPORTED) -PNG_EXTERN void png_write_tEXt PNGARG((png_structp png_ptr, png_charp key, - png_charp text, png_size_t text_len)); -#endif - -#if defined(PNG_WRITE_zTXt_SUPPORTED) -PNG_EXTERN void png_write_zTXt PNGARG((png_structp png_ptr, png_charp key, - png_charp text, png_size_t text_len, int compression)); -#endif - -#if defined(PNG_WRITE_iTXt_SUPPORTED) -PNG_EXTERN void png_write_iTXt PNGARG((png_structp png_ptr, - int compression, png_charp key, png_charp lang, png_charp lang_key, - png_charp text)); -#endif - -#if defined(PNG_TEXT_SUPPORTED) /* Added at version 1.0.14 and 1.2.4 */ -PNG_EXTERN int png_set_text_2 PNGARG((png_structp png_ptr, - png_infop info_ptr, png_textp text_ptr, int num_text)); -#endif - -#if defined(PNG_WRITE_oFFs_SUPPORTED) -PNG_EXTERN void png_write_oFFs PNGARG((png_structp png_ptr, - png_int_32 x_offset, png_int_32 y_offset, int unit_type)); -#endif - -#if defined(PNG_WRITE_pCAL_SUPPORTED) -PNG_EXTERN void png_write_pCAL PNGARG((png_structp png_ptr, png_charp purpose, - png_int_32 X0, png_int_32 X1, int type, int nparams, - png_charp units, png_charpp params)); -#endif - -#if defined(PNG_WRITE_pHYs_SUPPORTED) -PNG_EXTERN void png_write_pHYs PNGARG((png_structp png_ptr, - png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit, - int unit_type)); -#endif - -#if defined(PNG_WRITE_tIME_SUPPORTED) -PNG_EXTERN void png_write_tIME PNGARG((png_structp png_ptr, - png_timep mod_time)); -#endif - -#if defined(PNG_WRITE_sCAL_SUPPORTED) -#if defined(PNG_FLOATING_POINT_SUPPORTED) && !defined(PNG_NO_STDIO) -PNG_EXTERN void png_write_sCAL PNGARG((png_structp png_ptr, - int unit, double width, double height)); -#else -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_sCAL_s PNGARG((png_structp png_ptr, - int unit, png_charp width, png_charp height)); -#endif -#endif -#endif - -/* Called when finished processing a row of data */ -PNG_EXTERN void png_write_finish_row PNGARG((png_structp png_ptr)); - -/* Internal use only. Called before first row of data */ -PNG_EXTERN void png_write_start_row PNGARG((png_structp png_ptr)); - -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr)); -#endif - -/* combine a row of data, dealing with alpha, etc. if requested */ -PNG_EXTERN void png_combine_row PNGARG((png_structp png_ptr, png_bytep row, - int mask)); - -#if defined(PNG_READ_INTERLACING_SUPPORTED) -/* expand an interlaced row */ -/* OLD pre-1.0.9 interface: -PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info, - png_bytep row, int pass, png_uint_32 transformations)); - */ -PNG_EXTERN void png_do_read_interlace PNGARG((png_structp png_ptr)); -#endif - -/* GRR TO DO (2.0 or whenever): simplify other internal calling interfaces */ - -#if defined(PNG_WRITE_INTERLACING_SUPPORTED) -/* grab pixels out of a row for an interlaced pass */ -PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info, - png_bytep row, int pass)); -#endif - -/* unfilter a row */ -PNG_EXTERN void png_read_filter_row PNGARG((png_structp png_ptr, - png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter)); - -/* Choose the best filter to use and filter the row data */ -PNG_EXTERN void png_write_find_filter PNGARG((png_structp png_ptr, - png_row_infop row_info)); - -/* Write out the filtered row. */ -PNG_EXTERN void png_write_filtered_row PNGARG((png_structp png_ptr, - png_bytep filtered_row)); -/* finish a row while reading, dealing with interlacing passes, etc. */ -PNG_EXTERN void png_read_finish_row PNGARG((png_structp png_ptr)); - -/* initialize the row buffers, etc. */ -PNG_EXTERN void png_read_start_row PNGARG((png_structp png_ptr)); -/* optional call to update the users info structure */ -PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -/* these are the functions that do the transformations */ -#if defined(PNG_READ_FILLER_SUPPORTED) -PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 filler, png_uint_32 flags)); -#endif - -#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_read_swap_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_write_swap_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_read_invert_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_write_invert_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_FILLER_SUPPORTED) || \ - defined(PNG_READ_STRIP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_strip_filler PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 flags)); -#endif - -#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) -PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED) -PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) -PNG_EXTERN int png_do_rgb_to_gray PNGARG((png_structp png_ptr, png_row_infop - row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) -PNG_EXTERN void png_do_gray_to_rgb PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_READ_PACK_SUPPORTED) -PNG_EXTERN void png_do_unpack PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_SHIFT_SUPPORTED) -PNG_EXTERN void png_do_unshift PNGARG((png_row_infop row_info, png_bytep row, - png_color_8p sig_bits)); -#endif - -#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) -PNG_EXTERN void png_do_invert PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_16_TO_8_SUPPORTED) -PNG_EXTERN void png_do_chop PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_DITHER_SUPPORTED) -PNG_EXTERN void png_do_dither PNGARG((png_row_infop row_info, - png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup)); - -# if defined(PNG_CORRECT_PALETTE_SUPPORTED) -PNG_EXTERN void png_correct_palette PNGARG((png_structp png_ptr, - png_colorp palette, int num_palette)); -# endif -#endif - -#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) -PNG_EXTERN void png_do_bgr PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_WRITE_PACK_SUPPORTED) -PNG_EXTERN void png_do_pack PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 bit_depth)); -#endif - -#if defined(PNG_WRITE_SHIFT_SUPPORTED) -PNG_EXTERN void png_do_shift PNGARG((png_row_infop row_info, png_bytep row, - png_color_8p bit_depth)); -#endif - -#if defined(PNG_READ_BACKGROUND_SUPPORTED) -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background, - png_color_16p background_1, - png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, - png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, - png_uint_16pp gamma_16_to_1, int gamma_shift)); -#else -PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background)); -#endif -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_do_gamma PNGARG((png_row_infop row_info, png_bytep row, - png_bytep gamma_table, png_uint_16pp gamma_16_table, - int gamma_shift)); -#endif - -#if defined(PNG_READ_EXPAND_SUPPORTED) -PNG_EXTERN void png_do_expand_palette PNGARG((png_row_infop row_info, - png_bytep row, png_colorp palette, png_bytep trans, int num_trans)); -PNG_EXTERN void png_do_expand PNGARG((png_row_infop row_info, - png_bytep row, png_color_16p trans_value)); -#endif - -/* The following decodes the appropriate chunks, and does error correction, - * then calls the appropriate callback for the chunk if it is valid. - */ - -/* decode the IHDR chunk */ -PNG_EXTERN void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -PNG_EXTERN void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -PNG_EXTERN void png_handle_IEND PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); - -#if defined(PNG_READ_bKGD_SUPPORTED) -PNG_EXTERN void png_handle_bKGD PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_cHRM_SUPPORTED) -PNG_EXTERN void png_handle_cHRM PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_gAMA_SUPPORTED) -PNG_EXTERN void png_handle_gAMA PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_hIST_SUPPORTED) -PNG_EXTERN void png_handle_hIST PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_iCCP_SUPPORTED) -extern void png_handle_iCCP PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif /* PNG_READ_iCCP_SUPPORTED */ - -#if defined(PNG_READ_iTXt_SUPPORTED) -PNG_EXTERN void png_handle_iTXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_oFFs_SUPPORTED) -PNG_EXTERN void png_handle_oFFs PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_pCAL_SUPPORTED) -PNG_EXTERN void png_handle_pCAL PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_pHYs_SUPPORTED) -PNG_EXTERN void png_handle_pHYs PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sBIT_SUPPORTED) -PNG_EXTERN void png_handle_sBIT PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sCAL_SUPPORTED) -PNG_EXTERN void png_handle_sCAL PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sPLT_SUPPORTED) -extern void png_handle_sPLT PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif /* PNG_READ_sPLT_SUPPORTED */ - -#if defined(PNG_READ_sRGB_SUPPORTED) -PNG_EXTERN void png_handle_sRGB PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tEXt_SUPPORTED) -PNG_EXTERN void png_handle_tEXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tIME_SUPPORTED) -PNG_EXTERN void png_handle_tIME PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tRNS_SUPPORTED) -PNG_EXTERN void png_handle_tRNS PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_zTXt_SUPPORTED) -PNG_EXTERN void png_handle_zTXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); - -PNG_EXTERN void png_check_chunk_name PNGARG((png_structp png_ptr, - png_bytep chunk_name)); - -/* handle the transformations for reading and writing */ -PNG_EXTERN void png_do_read_transformations PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_do_write_transformations PNGARG((png_structp png_ptr)); - -PNG_EXTERN void png_init_read_transformations PNGARG((png_structp png_ptr)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void png_push_read_chunk PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_read_sig PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_check_crc PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_crc_skip PNGARG((png_structp png_ptr, - png_uint_32 length)); -PNG_EXTERN void png_push_crc_finish PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_save_buffer PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_restore_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t buffer_length)); -PNG_EXTERN void png_push_read_IDAT PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_process_IDAT_data PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t buffer_length)); -PNG_EXTERN void png_push_process_row PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_handle_unknown PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_have_info PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_have_end PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_have_row PNGARG((png_structp png_ptr, png_bytep row)); -PNG_EXTERN void png_push_read_end PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_process_some_data PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_read_push_finish_row PNGARG((png_structp png_ptr)); -#if defined(PNG_READ_tEXt_SUPPORTED) -PNG_EXTERN void png_push_handle_tEXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_tEXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif -#if defined(PNG_READ_zTXt_SUPPORTED) -PNG_EXTERN void png_push_handle_zTXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_zTXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif -#if defined(PNG_READ_iTXt_SUPPORTED) -PNG_EXTERN void png_push_handle_iTXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_iTXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif - -#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ - -#ifdef PNG_MNG_FEATURES_SUPPORTED -PNG_EXTERN void png_do_read_intrapixel PNGARG((png_row_infop row_info, - png_bytep row)); -PNG_EXTERN void png_do_write_intrapixel PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -#if defined(PNG_MMX_CODE_SUPPORTED) -/* png.c */ /* PRIVATE */ -PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr)); -#endif -#endif - -#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED) -PNG_EXTERN png_uint_32 png_get_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN png_uint_32 png_get_x_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN png_uint_32 png_get_y_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN float png_get_x_offset_inches PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN float png_get_y_offset_inches PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -#if defined(PNG_pHYs_SUPPORTED) -PNG_EXTERN png_uint_32 png_get_pHYs_dpi PNGARG((png_structp png_ptr, -png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); -#endif /* PNG_pHYs_SUPPORTED */ -#endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */ - -/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ - -#endif /* PNG_INTERNAL */ #ifdef __cplusplus } #endif #endif /* PNG_VERSION_INFO_ONLY */ -/* do not put anything past this line */ +/* Do not put anything past this line */ #endif /* PNG_H */ diff --git a/source/gui/pngconf.h b/source/gui/pngconf.h index 06a182f2..7d178024 100644 --- a/source/gui/pngconf.h +++ b/source/gui/pngconf.h @@ -1,11 +1,16 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.29 - May 8, 2008 + * libpng version 1.4.4 - September 23, 2010 * For conditions of distribution and use, see copyright notice in png.h - * Copyright (c) 1998-2008 Glenn Randers-Pehrson + * Copyright (c) 1998-2010 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) + * + * This code is released under the libpng license. + * For conditions of distribution and use, see the disclaimer + * and license in png.h + * */ /* Any machine specific code is near the front of this file, so if you @@ -17,30 +22,36 @@ #ifndef PNGCONF_H #define PNGCONF_H -#define PNG_1_2_X +#ifndef PNG_NO_LIMITS_H +# include +#endif -/* - * PNG_USER_CONFIG has to be defined on the compiler command line. This - * includes the resource compiler for Windows DLL configurations. +/* Added at libpng-1.2.9 */ + +/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure" + * script. */ -#ifdef PNG_USER_CONFIG -# ifndef PNG_USER_PRIVATEBUILD -# define PNG_USER_PRIVATEBUILD -# endif -#include "pngusr.h" -#endif - -/* PNG_CONFIGURE_LIBPNG is set by the "configure" script. */ #ifdef PNG_CONFIGURE_LIBPNG -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +# ifdef HAVE_CONFIG_H +# include "config.h" +# endif #endif /* * Added at libpng-1.2.8 - * - * If you create a private DLL you need to define in "pngusr.h" the followings: + * + * PNG_USER_CONFIG has to be defined on the compiler command line. This + * includes the resource compiler for Windows DLL configurations. + */ +#ifdef PNG_USER_CONFIG +# include "pngusr.h" +# ifndef PNG_USER_PRIVATEBUILD +# define PNG_USER_PRIVATEBUILD +# endif +#endif + +/* + * If you create a private DLL you should define in "pngusr.h" the following: * #define PNG_USER_PRIVATEBUILD * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." @@ -48,10 +59,10 @@ * distinguish your DLL from those of the official release. These * correspond to the trailing letters that come after the version * number and must match your private DLL name> - * e.g. // private DLL "libpng13gx.dll" + * e.g. // private DLL "libpng14gx.dll" * #define PNG_USER_DLLFNAME_POSTFIX "gx" - * - * The following macros are also at your disposal if you want to complete the + * + * The following macros are also at your disposal if you want to complete the * DLL VERSIONINFO structure. * - PNG_USER_VERSIONINFO_COMMENTS * - PNG_USER_VERSIONINFO_COMPANYNAME @@ -59,29 +70,21 @@ */ #ifdef __STDC__ -#ifdef SPECIALBUILD -# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\ - are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.") -#endif +# ifdef SPECIALBUILD +# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\ + are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.") +# endif -#ifdef PRIVATEBUILD -# pragma message("PRIVATEBUILD is deprecated.\ - Use PNG_USER_PRIVATEBUILD instead.") -# define PNG_USER_PRIVATEBUILD PRIVATEBUILD -#endif +# ifdef PRIVATEBUILD +# pragma message("PRIVATEBUILD is deprecated.\ + Use PNG_USER_PRIVATEBUILD instead.") +# define PNG_USER_PRIVATEBUILD PRIVATEBUILD +# endif #endif /* __STDC__ */ -#ifndef PNG_VERSION_INFO_ONLY - /* End of material added to libpng-1.2.8 */ -/* Added at libpng-1.2.19, removed at libpng-1.2.20 because it caused trouble - Restored at libpng-1.2.21 */ -#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \ - !defined(PNG_WARN_UNINITIALIZED_ROW) -# define PNG_WARN_UNINITIALIZED_ROW 1 -#endif -/* End of material added at libpng-1.2.19/1.2.21 */ +#ifndef PNG_VERSION_INFO_ONLY /* This is the size of the compression buffer, and thus the size of * an IDAT chunk. Make this whatever size you feel is best for your @@ -112,20 +115,57 @@ # define PNG_WRITE_SUPPORTED #endif +/* Enabled in 1.4.0. */ +#ifdef PNG_ALLOW_BENIGN_ERRORS +# define png_benign_error png_warning +# define png_chunk_benign_error png_chunk_warning +#else +# ifndef PNG_BENIGN_ERRORS_SUPPORTED +# define png_benign_error png_error +# define png_chunk_benign_error png_chunk_error +# endif +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_WARNINGS) && !defined(PNG_WARNINGS_SUPPORTED) +# define PNG_WARNINGS_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_ERROR_TEXT) && !defined(PNG_ERROR_TEXT_SUPPORTED) +# define PNG_ERROR_TEXT_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_CHECK_cHRM) && !defined(PNG_CHECK_cHRM_SUPPORTED) +# define PNG_CHECK_cHRM_SUPPORTED +#endif + +/* Added at libpng version 1.4.0 */ +#if !defined(PNG_NO_ALIGNED_MEMORY) && !defined(PNG_ALIGNED_MEMORY_SUPPORTED) +# define PNG_ALIGNED_MEMORY_SUPPORTED +#endif + /* Enabled by default in 1.2.0. You can disable this if you don't need to support PNGs that are embedded in MNG datastreams */ -#if !defined(PNG_1_0_X) && !defined(PNG_NO_MNG_FEATURES) +#ifndef PNG_NO_MNG_FEATURES # ifndef PNG_MNG_FEATURES_SUPPORTED # define PNG_MNG_FEATURES_SUPPORTED # endif #endif +/* Added at libpng version 1.4.0 */ #ifndef PNG_NO_FLOATING_POINT_SUPPORTED # ifndef PNG_FLOATING_POINT_SUPPORTED # define PNG_FLOATING_POINT_SUPPORTED # endif #endif +/* Added at libpng-1.4.0beta49 for testing (this test is no longer used + in libpng and png_calloc() is always present) + */ +#define PNG_CALLOC_SUPPORTED + /* If you are running on a machine where you cannot allocate more * than 64K of memory at once, uncomment this. While libpng will not * normally need that much memory in a chunk (unless you load up a very @@ -147,9 +187,9 @@ * 'Cygwin' defines/defaults: * PNG_BUILD_DLL -- (ignored) building the dll * (no define) -- (ignored) building an application, linking to the dll - * PNG_STATIC -- (ignored) building the static lib, or building an + * PNG_STATIC -- (ignored) building the static lib, or building an * application that links to the static lib. - * ALL_STATIC -- (ignored) building various static libs, or building an + * ALL_STATIC -- (ignored) building various static libs, or building an * application that links to the static libs. * Thus, * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and @@ -162,57 +202,57 @@ * PNG_BUILD_DLL * PNG_STATIC * (nothing) == PNG_USE_DLL - * + * * CYGWIN (2002-01-20): The preceding is now obsolete. With the advent - * of auto-import in binutils, we no longer need to worry about + * of auto-import in binutils, we no longer need to worry about * __declspec(dllexport) / __declspec(dllimport) and friends. Therefore, * we don't need to worry about PNG_STATIC or ALL_STATIC when it comes - * to __declspec() stuff. However, we DO need to worry about + * to __declspec() stuff. However, we DO need to worry about * PNG_BUILD_DLL and PNG_STATIC because those change some defaults - * such as CONSOLE_IO and whether GLOBAL_ARRAYS are allowed. + * such as CONSOLE_IO. */ -#if defined(__CYGWIN__) -# if defined(ALL_STATIC) -# if defined(PNG_BUILD_DLL) +#ifdef __CYGWIN__ +# ifdef ALL_STATIC +# ifdef PNG_BUILD_DLL # undef PNG_BUILD_DLL # endif -# if defined(PNG_USE_DLL) +# ifdef PNG_USE_DLL # undef PNG_USE_DLL # endif -# if defined(PNG_DLL) +# ifdef PNG_DLL # undef PNG_DLL # endif -# if !defined(PNG_STATIC) +# ifndef PNG_STATIC # define PNG_STATIC # endif # else -# if defined (PNG_BUILD_DLL) -# if defined(PNG_STATIC) +# ifdef PNG_BUILD_DLL +# ifdef PNG_STATIC # undef PNG_STATIC # endif -# if defined(PNG_USE_DLL) +# ifdef PNG_USE_DLL # undef PNG_USE_DLL # endif -# if !defined(PNG_DLL) +# ifndef PNG_DLL # define PNG_DLL # endif # else -# if defined(PNG_STATIC) -# if defined(PNG_USE_DLL) +# ifdef PNG_STATIC +# ifdef PNG_USE_DLL # undef PNG_USE_DLL # endif -# if defined(PNG_DLL) +# ifdef PNG_DLL # undef PNG_DLL # endif # else -# if !defined(PNG_USE_DLL) +# ifndef PNG_USE_DLL # define PNG_USE_DLL # endif -# if !defined(PNG_DLL) +# ifndef PNG_DLL # define PNG_DLL # endif -# endif -# endif +# endif +# endif # endif #endif @@ -229,20 +269,22 @@ * #define PNG_NO_STDIO */ -#if defined(_WIN32_WCE) -# include - /* Console I/O functions are not supported on WindowsCE */ +#ifdef _WIN32_WCE # define PNG_NO_CONSOLE_IO +# define PNG_NO_STDIO +# define PNG_NO_TIME_RFC1123 # ifdef PNG_DEBUG # undef PNG_DEBUG # endif #endif +#if !defined(PNG_NO_STDIO) && !defined(PNG_STDIO_SUPPORTED) +# define PNG_STDIO_SUPPORTED +#endif + #ifdef PNG_BUILD_DLL -# ifndef PNG_CONSOLE_IO_SUPPORTED -# ifndef PNG_NO_CONSOLE_IO -# define PNG_NO_CONSOLE_IO -# endif +# if !defined(PNG_CONSOLE_IO_SUPPORTED) && !defined(PNG_NO_CONSOLE_IO) +# define PNG_NO_CONSOLE_IO # endif #endif @@ -256,12 +298,13 @@ # endif # endif # else -# if !defined(_WIN32_WCE) -/* "stdio.h" functions are not supported on WindowsCE */ -# include -# endif +# include # endif +#if !(defined PNG_NO_CONSOLE_IO) && !defined(PNG_CONSOLE_IO_SUPPORTED) +# define PNG_CONSOLE_IO_SUPPORTED +#endif + /* This macro protects us against machines that don't have function * prototypes (ie K&R style headers). If your compiler does not handle * function prototypes, define this macro and use the included ansi2knr. @@ -277,14 +320,10 @@ #ifdef _NO_PROTO # define PNGARG(arglist) () -# ifndef PNG_TYPECAST_NULL -# define PNG_TYPECAST_NULL -# endif #else # define PNGARG(arglist) arglist #endif /* _NO_PROTO */ - #endif /* OF */ #endif /* PNGARG */ @@ -300,42 +339,53 @@ # endif #endif -/* enough people need this for various reasons to include it here */ -#if !defined(MACOS) && !defined(RISCOS) && !defined(_WIN32_WCE) +/* Enough people need this for various reasons to include it here */ +#if !defined(MACOS) && !defined(RISCOS) # include #endif -#if !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED) +/* PNG_SETJMP_NOT_SUPPORTED and PNG_NO_SETJMP_SUPPORTED are deprecated. */ +#if !defined(PNG_NO_SETJMP) && \ + !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED) # define PNG_SETJMP_SUPPORTED #endif #ifdef PNG_SETJMP_SUPPORTED /* This is an attempt to force a single setjmp behaviour on Linux. If * the X config stuff didn't define _BSD_SOURCE we wouldn't need this. + * + * You can bypass this test if you know that your application uses exactly + * the same setjmp.h that was included when libpng was built. Only define + * PNG_SKIP_SETJMP_CHECK while building your application, prior to the + * application's '#include "png.h"'. Don't define PNG_SKIP_SETJMP_CHECK + * while building a separate libpng library for general use. */ -# ifdef __linux__ -# ifdef _BSD_SOURCE -# define PNG_SAVE_BSD_SOURCE -# undef _BSD_SOURCE -# endif -# ifdef _SETJMP_H - /* If you encounter a compiler error here, see the explanation - * near the end of INSTALL. - */ - __pngconf.h__ already includes setjmp.h; - __dont__ include it again.; -# endif -# endif /* __linux__ */ +# ifndef PNG_SKIP_SETJMP_CHECK +# ifdef __linux__ +# ifdef _BSD_SOURCE +# define PNG_SAVE_BSD_SOURCE +# undef _BSD_SOURCE +# endif +# ifdef _SETJMP_H + /* If you encounter a compiler error here, see the explanation + * near the end of INSTALL. + */ + __pngconf.h__ in libpng already includes setjmp.h; + __dont__ include it again.; +# endif +# endif /* __linux__ */ +# endif /* PNG_SKIP_SETJMP_CHECK */ - /* include setjmp.h for error handling */ + /* Include setjmp.h for error handling */ # include # ifdef __linux__ # ifdef PNG_SAVE_BSD_SOURCE -# ifndef _BSD_SOURCE -# define _BSD_SOURCE +# ifdef _BSD_SOURCE +# undef _BSD_SOURCE # endif +# define _BSD_SOURCE # undef PNG_SAVE_BSD_SOURCE # endif # endif /* __linux__ */ @@ -348,72 +398,33 @@ #endif /* Other defines for things like memory and the like can go here. */ -#ifdef PNG_INTERNAL -#include - -/* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which - * aren't usually used outside the library (as far as I know), so it is - * debatable if they should be exported at all. In the future, when it is - * possible to have run-time registry of chunk-handling functions, some of - * these will be made available again. -#define PNG_EXTERN extern - */ -#define PNG_EXTERN - -/* Other defines specific to compilers can go here. Try to keep - * them inside an appropriate ifdef/endif pair for portability. - */ - -#if defined(PNG_FLOATING_POINT_SUPPORTED) -# if defined(MACOS) - /* We need to check that hasn't already been included earlier - * as it seems it doesn't agree with , yet we should really use - * if possible. - */ -# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__) -# include -# endif -# else -# include -# endif -# if defined(_AMIGA) && defined(__SASC) && defined(_M68881) - /* Amiga SAS/C: We must include builtin FPU functions when compiling using - * MATH=68881 - */ -# include -# endif -#endif - -/* Codewarrior on NT has linking problems without this. */ -#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__) -# define PNG_ALWAYS_EXTERN -#endif - -/* This provides the non-ANSI (far) memory allocation routines. */ -#if defined(__TURBOC__) && defined(__MSDOS__) -# include -# include -#endif - -/* I have no idea why is this necessary... */ -#if defined(_MSC_VER) && (defined(WIN32) || defined(_Windows) || \ - defined(_WINDOWS) || defined(_WIN32) || defined(__WIN32__)) -# include -#endif - -/* This controls how fine the dithering gets. As this allocates +/* This controls how fine the quantizing gets. As this allocates * a largish chunk of memory (32K), those who are not as concerned - * with dithering quality can decrease some or all of these. + * with quantizing quality can decrease some or all of these. */ -#ifndef PNG_DITHER_RED_BITS -# define PNG_DITHER_RED_BITS 5 + +/* Prior to libpng-1.4.2, these were PNG_DITHER_*_BITS + * These migration aids will be removed from libpng-1.5.0. + */ +#ifdef PNG_DITHER_RED_BITS +# define PNG_QUANTIZE_RED_BITS PNG_DITHER_RED_BITS #endif -#ifndef PNG_DITHER_GREEN_BITS -# define PNG_DITHER_GREEN_BITS 5 +#ifdef PNG_DITHER_GREEN_BITS +# define PNG_QUANTIZE_GREEN_BITS PNG_DITHER_GREEN_BITS #endif -#ifndef PNG_DITHER_BLUE_BITS -# define PNG_DITHER_BLUE_BITS 5 +#ifdef PNG_DITHER_BLUE_BITS +# define PNG_QUANTIZE_BLUE_BITS PNG_DITHER_BLUE_BITS +#endif + +#ifndef PNG_QUANTIZE_RED_BITS +# define PNG_QUANTIZE_RED_BITS 5 +#endif +#ifndef PNG_QUANTIZE_GREEN_BITS +# define PNG_QUANTIZE_GREEN_BITS 5 +#endif +#ifndef PNG_QUANTIZE_BLUE_BITS +# define PNG_QUANTIZE_BLUE_BITS 5 #endif /* This controls how fine the gamma correction becomes when you @@ -434,25 +445,27 @@ # define PNG_GAMMA_THRESHOLD 0.05 #endif -#endif /* PNG_INTERNAL */ - /* The following uses const char * instead of char * for error * and warning message functions, so some compilers won't complain. - * If you do not want to use const, define PNG_NO_CONST here. + * If you do not want to use const, define PNG_NO_CONST. */ -#ifndef PNG_NO_CONST -# define PNG_CONST const -#else -# define PNG_CONST +#ifndef PNG_CONST +# ifndef PNG_NO_CONST +# define PNG_CONST const +# else +# define PNG_CONST +# endif #endif /* The following defines give you the ability to remove code from the * library that you will not be using. I wish I could figure out how to * automate this, but I can't do that without making it seriously hard * on the users. So if you are not using an ability, change the #define - * to and #undef, and that part of the library will not be compiled. If - * your linker can't find a function, you may want to make sure the + * to an #undef, or pass in PNG_NO_feature and that part of the library + * will not be compiled. + + * If your linker can't find a function, you may want to make sure the * ability is defined here. Some of these depend upon some others being * defined. I haven't figured out all the interactions here, so you may * have to experiment awhile to get everything to compile. If you are @@ -464,84 +477,25 @@ /* Any features you will not be using can be undef'ed here */ /* GR-P, 0.96a: Set "*TRANSFORMS_SUPPORTED as default but allow user - * to turn it off with "*TRANSFORMS_NOT_SUPPORTED" or *PNG_NO_*_TRANSFORMS - * on the compile line, then pick and choose which ones to define without - * having to edit this file. It is safe to use the *TRANSFORMS_NOT_SUPPORTED + * to turn it off with PNG_NO_READ|WRITE_TRANSFORMS on the compile line, + * then pick and choose which ones to define without having to edit this + * file. It is safe to use the PNG_NO_READ|WRITE_TRANSFORMS * if you only want to have a png-compliant reader/writer but don't need * any of the extra transformations. This saves about 80 kbytes in a * typical installation of the library. (PNG_NO_* form added in version - * 1.0.1c, for consistency) + * 1.0.1c, for consistency; PNG_*_TRANSFORMS_NOT_SUPPORTED deprecated in + * 1.4.0) */ -/* The size of the png_text structure changed in libpng-1.0.6 when - * iTXt support was added. iTXt support was turned off by default through - * libpng-1.2.x, to support old apps that malloc the png_text structure - * instead of calling png_set_text() and letting libpng malloc it. It - * was turned on by default in libpng-1.3.0. - */ - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -# ifndef PNG_NO_iTXt_SUPPORTED -# define PNG_NO_iTXt_SUPPORTED -# endif -# ifndef PNG_NO_READ_iTXt -# define PNG_NO_READ_iTXt -# endif -# ifndef PNG_NO_WRITE_iTXt -# define PNG_NO_WRITE_iTXt -# endif -#endif - -#if !defined(PNG_NO_iTXt_SUPPORTED) -# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt) -# define PNG_READ_iTXt -# endif -# if !defined(PNG_WRITE_iTXt_SUPPORTED) && !defined(PNG_NO_WRITE_iTXt) -# define PNG_WRITE_iTXt -# endif -#endif - -/* The following support, added after version 1.0.0, can be turned off here en - * masse by defining PNG_LEGACY_SUPPORTED in case you need binary compatibility - * with old applications that require the length of png_struct and png_info - * to remain unchanged. - */ - -#ifdef PNG_LEGACY_SUPPORTED -# define PNG_NO_FREE_ME -# define PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_NO_READ_USER_CHUNKS -# define PNG_NO_READ_iCCP -# define PNG_NO_WRITE_iCCP -# define PNG_NO_READ_iTXt -# define PNG_NO_WRITE_iTXt -# define PNG_NO_READ_sCAL -# define PNG_NO_WRITE_sCAL -# define PNG_NO_READ_sPLT -# define PNG_NO_WRITE_sPLT -# define PNG_NO_INFO_IMAGE -# define PNG_NO_READ_RGB_TO_GRAY -# define PNG_NO_READ_USER_TRANSFORM -# define PNG_NO_WRITE_USER_TRANSFORM -# define PNG_NO_USER_MEM -# define PNG_NO_READ_EMPTY_PLTE -# define PNG_NO_MNG_FEATURES -# define PNG_NO_FIXED_POINT_SUPPORTED -#endif - /* Ignore attempt to turn off both floating and fixed point support */ #if !defined(PNG_FLOATING_POINT_SUPPORTED) || \ !defined(PNG_NO_FIXED_POINT_SUPPORTED) # define PNG_FIXED_POINT_SUPPORTED #endif -#ifndef PNG_NO_FREE_ME -# define PNG_FREE_ME_SUPPORTED -#endif - -#if defined(PNG_READ_SUPPORTED) +#ifdef PNG_READ_SUPPORTED +/* PNG_READ_TRANSFORMS_NOT_SUPPORTED is deprecated. */ #if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \ !defined(PNG_NO_READ_TRANSFORMS) # define PNG_READ_TRANSFORMS_SUPPORTED @@ -569,8 +523,11 @@ # ifndef PNG_NO_READ_INVERT # define PNG_READ_INVERT_SUPPORTED # endif -# ifndef PNG_NO_READ_DITHER -# define PNG_READ_DITHER_SUPPORTED +# ifndef PNG_NO_READ_QUANTIZE + /* Prior to libpng-1.4.0 this was PNG_READ_DITHER_SUPPORTED */ +# ifndef PNG_NO_READ_DITHER /* This migration aid will be removed */ +# define PNG_READ_QUANTIZE_SUPPORTED +# endif # endif # ifndef PNG_NO_READ_BACKGROUND # define PNG_READ_BACKGROUND_SUPPORTED @@ -604,33 +561,41 @@ # endif #endif /* PNG_READ_TRANSFORMS_SUPPORTED */ +/* PNG_PROGRESSIVE_READ_NOT_SUPPORTED is deprecated. */ #if !defined(PNG_NO_PROGRESSIVE_READ) && \ - !defined(PNG_PROGRESSIVE_READ_SUPPORTED) /* if you don't do progressive */ -# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ -#endif /* about interlacing capability! You'll */ - /* still have interlacing unless you change the following line: */ + !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */ +# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ +#endif /* about interlacing capability! You'll */ + /* still have interlacing unless you change the following define: */ -#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */ +#define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */ + +/* PNG_NO_SEQUENTIAL_READ_SUPPORTED is deprecated. */ +#if !defined(PNG_NO_SEQUENTIAL_READ) && \ + !defined(PNG_SEQUENTIAL_READ_SUPPORTED) && \ + !defined(PNG_NO_SEQUENTIAL_READ_SUPPORTED) +# define PNG_SEQUENTIAL_READ_SUPPORTED +#endif #ifndef PNG_NO_READ_COMPOSITE_NODIV # ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */ -# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ +# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ # endif #endif -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, will be removed from version 2.0.0. - Use PNG_MNG_FEATURES_SUPPORTED instead. */ -#ifndef PNG_NO_READ_EMPTY_PLTE -# define PNG_READ_EMPTY_PLTE_SUPPORTED -#endif +#if !defined(PNG_NO_GET_INT_32) || defined(PNG_READ_oFFS_SUPPORTED) || \ + defined(PNG_READ_pCAL_SUPPORTED) +# ifndef PNG_GET_INT_32_SUPPORTED +# define PNG_GET_INT_32_SUPPORTED +# endif #endif #endif /* PNG_READ_SUPPORTED */ -#if defined(PNG_WRITE_SUPPORTED) +#ifdef PNG_WRITE_SUPPORTED -# if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \ +/* PNG_WRITE_TRANSFORMS_NOT_SUPPORTED is deprecated. */ +#if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \ !defined(PNG_NO_WRITE_TRANSFORMS) # define PNG_WRITE_TRANSFORMS_SUPPORTED #endif @@ -670,9 +635,10 @@ #if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \ !defined(PNG_WRITE_INTERLACING_SUPPORTED) -#define PNG_WRITE_INTERLACING_SUPPORTED /* not required for PNG-compliant - encoders, but can cause trouble - if left undefined */ + /* This is not required for PNG-compliant encoders, but can cause + * trouble if left undefined + */ +# define PNG_WRITE_INTERLACING_SUPPORTED #endif #if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \ @@ -685,20 +651,16 @@ # define PNG_WRITE_FLUSH_SUPPORTED #endif -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, see PNG_MNG_FEATURES_SUPPORTED, above */ -#ifndef PNG_NO_WRITE_EMPTY_PLTE -# define PNG_WRITE_EMPTY_PLTE_SUPPORTED -#endif +#if !defined(PNG_NO_SAVE_INT_32) || defined(PNG_WRITE_oFFS_SUPPORTED) || \ + defined(PNG_WRITE_pCAL_SUPPORTED) +# ifndef PNG_SAVE_INT_32_SUPPORTED +# define PNG_SAVE_INT_32_SUPPORTED +# endif #endif #endif /* PNG_WRITE_SUPPORTED */ -#ifndef PNG_1_0_X -# ifndef PNG_NO_ERROR_NUMBERS -# define PNG_ERROR_NUMBERS_SUPPORTED -# endif -#endif /* PNG_1_0_X */ +#define PNG_NO_ERROR_NUMBERS #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) @@ -707,7 +669,7 @@ # endif #endif -#ifndef PNG_NO_STDIO +#if defined(PNG_STDIO_SUPPORTED) && !defined(PNG_TIME_RFC1123_SUPPORTED) # define PNG_TIME_RFC1123_SUPPORTED #endif @@ -731,65 +693,35 @@ # define PNG_EASY_ACCESS_SUPPORTED #endif -/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0 - * and removed from version 1.2.20. The following will be removed - * from libpng-1.4.0 -*/ - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE) -# ifndef PNG_OPTIMIZED_CODE_SUPPORTED -# define PNG_OPTIMIZED_CODE_SUPPORTED -# endif -#endif - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE) -# ifndef PNG_ASSEMBLER_CODE_SUPPORTED -# define PNG_ASSEMBLER_CODE_SUPPORTED -# endif - -# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4) - /* work around 64-bit gcc compiler bugs in gcc-3.x */ -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if defined(__APPLE__) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh)) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_MMX_CODE_SUPPORTED -# endif - -#endif -/* end of obsolete code to be removed from libpng-1.4.0 */ - -#if !defined(PNG_1_0_X) +/* Added at libpng-1.2.0 */ #if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) # define PNG_USER_MEM_SUPPORTED #endif -#endif /* PNG_1_0_X */ /* Added at libpng-1.2.6 */ -#if !defined(PNG_1_0_X) -#ifndef PNG_SET_USER_LIMITS_SUPPORTED -#if !defined(PNG_NO_SET_USER_LIMITS) && !defined(PNG_SET_USER_LIMITS_SUPPORTED) -# define PNG_SET_USER_LIMITS_SUPPORTED +#ifndef PNG_NO_SET_USER_LIMITS +# ifndef PNG_SET_USER_LIMITS_SUPPORTED +# define PNG_SET_USER_LIMITS_SUPPORTED +# endif + /* Feature added at libpng-1.4.0, this flag added at 1.4.1 */ +# ifndef PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +# define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +# endif + /* Feature added at libpng-1.4.1, this flag added at 1.4.1 */ +# ifndef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +# define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +# endif #endif -#endif -#endif /* PNG_1_0_X */ -/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGS no matter - * how large, set these limits to 0x7fffffffL +/* Added at libpng-1.2.43 */ +#ifndef PNG_USER_LIMITS_SUPPORTED +# ifndef PNG_NO_USER_LIMITS +# define PNG_USER_LIMITS_SUPPORTED +# endif +#endif + +/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter + * how large, set these two limits to 0x7fffffffL */ #ifndef PNG_USER_WIDTH_MAX # define PNG_USER_WIDTH_MAX 1000000L @@ -798,9 +730,39 @@ # define PNG_USER_HEIGHT_MAX 1000000L #endif +/* Added at libpng-1.2.43. To accept all valid PNGs no matter + * how large, set these two limits to 0. + */ +#ifndef PNG_USER_CHUNK_CACHE_MAX +# define PNG_USER_CHUNK_CACHE_MAX 0 +#endif + +/* Added at libpng-1.2.43 */ +#ifndef PNG_USER_CHUNK_MALLOC_MAX +# define PNG_USER_CHUNK_MALLOC_MAX 0 +#endif + +/* Added at libpng-1.4.0 */ +#if !defined(PNG_NO_IO_STATE) && !defined(PNG_IO_STATE_SUPPORTED) +# define PNG_IO_STATE_SUPPORTED +#endif + +#ifndef PNG_LITERAL_SHARP +# define PNG_LITERAL_SHARP 0x23 +#endif +#ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET +# define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b +#endif +#ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET +# define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d +#endif +#ifndef PNG_STRING_NEWLINE +#define PNG_STRING_NEWLINE "\n" +#endif + /* These are currently experimental features, define them if you want */ -/* very little testing */ +/* Very little testing */ /* #ifdef PNG_READ_SUPPORTED # ifndef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED @@ -817,16 +779,17 @@ #endif */ -/* Buggy compilers (e.g., gcc 2.7.2.2) need this */ -/* -#define PNG_NO_POINTER_INDEXING -*/ +#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) +# define PNG_USE_READ_MACROS +#endif + +/* Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING */ + +#if !defined(PNG_NO_POINTER_INDEXING) && \ + !defined(PNG_POINTER_INDEXING_SUPPORTED) +# define PNG_POINTER_INDEXING_SUPPORTED +#endif -/* These functions are turned off by default, as they will be phased out. */ -/* -#define PNG_USELESS_TESTS_SUPPORTED -#define PNG_CORRECT_PALETTE_SUPPORTED -*/ /* Any chunks you are not interested in, you can undef here. The * ones that allocate memory may be expecially important (hIST, @@ -834,12 +797,21 @@ * a bit smaller. */ +/* The size of the png_text structure changed in libpng-1.0.6 when + * iTXt support was added. iTXt support was turned off by default through + * libpng-1.2.x, to support old apps that malloc the png_text structure + * instead of calling png_set_text() and letting libpng malloc it. It + * was turned on by default in libpng-1.4.0. + */ + +/* PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */ #if defined(PNG_READ_SUPPORTED) && \ !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ !defined(PNG_NO_READ_ANCILLARY_CHUNKS) # define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED #endif +/* PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */ #if defined(PNG_WRITE_SUPPORTED) && \ !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS) @@ -853,6 +825,7 @@ # define PNG_NO_READ_tEXt # define PNG_NO_READ_zTXt #endif + #ifndef PNG_NO_READ_bKGD # define PNG_READ_bKGD_SUPPORTED # define PNG_bKGD_SUPPORTED @@ -925,26 +898,6 @@ # define PNG_READ_zTXt_SUPPORTED # define PNG_zTXt_SUPPORTED #endif -#ifndef PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -#endif -#if !defined(PNG_NO_READ_USER_CHUNKS) && \ - defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) -# define PNG_READ_USER_CHUNKS_SUPPORTED -# define PNG_USER_CHUNKS_SUPPORTED -# ifdef PNG_NO_READ_UNKNOWN_CHUNKS -# undef PNG_NO_READ_UNKNOWN_CHUNKS -# endif -# ifdef PNG_NO_HANDLE_AS_UNKNOWN -# undef PNG_NO_HANDLE_AS_UNKNOWN -# endif -#endif #ifndef PNG_NO_READ_OPT_PLTE # define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */ #endif /* optional PLTE chunk in RGB and RGBA images */ @@ -956,6 +909,32 @@ #endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */ +#ifndef PNG_NO_READ_UNKNOWN_CHUNKS +# ifndef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +# endif +# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_UNKNOWN_CHUNKS_SUPPORTED +# endif +# ifndef PNG_READ_USER_CHUNKS_SUPPORTED +# define PNG_READ_USER_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_READ_USER_CHUNKS +# ifndef PNG_READ_USER_CHUNKS_SUPPORTED +# define PNG_READ_USER_CHUNKS_SUPPORTED +# endif +# ifndef PNG_USER_CHUNKS_SUPPORTED +# define PNG_USER_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_HANDLE_AS_UNKNOWN +# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# endif +#endif + +#ifdef PNG_WRITE_SUPPORTED #ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED #ifdef PNG_NO_WRITE_TEXT @@ -1067,17 +1046,6 @@ # define PNG_zTXt_SUPPORTED # endif #endif -#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -# endif -#endif #if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \ defined(PNG_WRITE_zTXt_SUPPORTED) # define PNG_WRITE_TEXT_SUPPORTED @@ -1086,8 +1054,38 @@ # endif #endif +#ifdef PNG_WRITE_tIME_SUPPORTED +# ifndef PNG_NO_CONVERT_tIME +# ifndef _WIN32_WCE +/* The "tm" structure is not supported on WindowsCE */ +# ifndef PNG_CONVERT_tIME_SUPPORTED +# define PNG_CONVERT_tIME_SUPPORTED +# endif +# endif +# endif +#endif + #endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */ +#ifndef PNG_NO_WRITE_FILTER +# ifndef PNG_WRITE_FILTER_SUPPORTED +# define PNG_WRITE_FILTER_SUPPORTED +# endif +#endif + +#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS +# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_UNKNOWN_CHUNKS_SUPPORTED +# endif +#endif +#ifndef PNG_NO_HANDLE_AS_UNKNOWN +# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# endif +#endif +#endif /* PNG_WRITE_SUPPORTED */ + /* Turn this off to disable png_read_png() and * png_write_png() and leave the row_pointers member * out of the info structure. @@ -1096,12 +1094,10 @@ # define PNG_INFO_IMAGE_SUPPORTED #endif -/* need the time information for reading tIME chunks */ -#if defined(PNG_tIME_SUPPORTED) -# if !defined(_WIN32_WCE) +/* Need the time information for converting tIME chunks */ +#ifdef PNG_CONVERT_tIME_SUPPORTED /* "time.h" functions are not supported on WindowsCE */ # include -# endif #endif /* Some typedefs to get us started. These should be safe on most of the @@ -1109,28 +1105,29 @@ * numbers suggest (a png_uint_32 must be at least 32 bits long), but they * don't have to be exactly that size. Some compilers dislike passing * unsigned shorts as function parameters, so you may be better off using - * unsigned int for png_uint_16. Likewise, for 64-bit systems, you may - * want to have unsigned int for png_uint_32 instead of unsigned long. + * unsigned int for png_uint_16. */ +#if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL) +typedef unsigned int png_uint_32; +typedef int png_int_32; +#else typedef unsigned long png_uint_32; typedef long png_int_32; +#endif typedef unsigned short png_uint_16; typedef short png_int_16; typedef unsigned char png_byte; -/* This is usually size_t. It is typedef'ed just in case you need it to - change (I'm not sure if you will or not, so I thought I'd be safe) */ -#ifdef PNG_SIZE_T - typedef PNG_SIZE_T png_size_t; -# define png_sizeof(x) png_convert_size(sizeof (x)) +#ifdef PNG_NO_SIZE_T + typedef unsigned int png_size_t; #else typedef size_t png_size_t; -# define png_sizeof(x) sizeof (x) #endif +#define png_sizeof(x) (sizeof (x)) /* The following is needed for medium model support. It cannot be in the - * PNG_INTERNAL section. Needs modification for other compilers besides + * pngpriv.h header. Needs modification for other compilers besides * MSC. Model independent support declares all arrays and pointers to be * large using the far keyword. The zlib version used must also support * model independent data. As of version zlib 1.0.4, the necessary changes @@ -1139,7 +1136,8 @@ typedef unsigned char png_byte; */ /* Separate compiler dependencies (problem here is that zlib.h always - defines FAR. (SJT) */ + * defines FAR. (SJT) + */ #ifdef __BORLANDC__ # if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) # define LDATA 1 @@ -1170,8 +1168,8 @@ typedef unsigned char png_byte; */ /* MSC Medium model */ -#if defined(FAR) -# if defined(M_I86MM) +#ifdef FAR +# ifdef M_I86MM # define USE_FAR_KEYWORD # define FARDATA FAR # include @@ -1204,12 +1202,8 @@ typedef char FAR * png_charp; typedef png_fixed_point FAR * png_fixed_point_p; #ifndef PNG_NO_STDIO -#if defined(_WIN32_WCE) -typedef HANDLE png_FILE_p; -#else typedef FILE * png_FILE_p; #endif -#endif #ifdef PNG_FLOATING_POINT_SUPPORTED typedef double FAR * png_doublep; @@ -1231,20 +1225,7 @@ typedef double FAR * FAR * png_doublepp; /* Pointers to pointers to pointers; i.e., pointer to array */ typedef char FAR * FAR * FAR * png_charppp; -#if defined(PNG_1_0_X) || defined(PNG_1_2_X) -/* SPC - Is this stuff deprecated? */ -/* It'll be removed as of libpng-1.3.0 - GR-P */ -/* libpng typedefs for types in zlib. If zlib changes - * or another compression library is used, then change these. - * Eliminates need to change all the source files. - */ -typedef charf * png_zcharp; -typedef charf * FAR * png_zcharpp; -typedef z_stream FAR * png_zstreamp; -#endif /* (PNG_1_0_X) || defined(PNG_1_2_X) */ - -/* - * Define PNG_BUILD_DLL if the module being built is a Windows +/* Define PNG_BUILD_DLL if the module being built is a Windows * LIBPNG DLL. * * Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL. @@ -1264,49 +1245,6 @@ typedef z_stream FAR * png_zstreamp; #if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL)) # define PNG_DLL #endif -/* If CYGWIN, then disallow GLOBAL ARRAYS unless building a static lib. - * When building a static lib, default to no GLOBAL ARRAYS, but allow - * command-line override - */ -#if defined(__CYGWIN__) -# if !defined(PNG_STATIC) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -# else -# if defined(PNG_USE_LOCAL_ARRAYS) || defined(PNG_NO_GLOBAL_ARRAYS) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# endif -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -#endif - -/* Do not use global arrays (helps with building DLL's) - * They are no longer used in libpng itself, since version 1.0.5c, - * but might be required for some pre-1.0.5c applications. - */ -#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# if defined(PNG_NO_GLOBAL_ARRAYS) || \ - (defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER) -# define PNG_USE_LOCAL_ARRAYS -# else -# define PNG_USE_GLOBAL_ARRAYS -# endif -#endif - -#if defined(__CYGWIN__) -# undef PNGAPI -# define PNGAPI __cdecl -# undef PNG_IMPEXP -# define PNG_IMPEXP -#endif /* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall", * you may get warnings regarding the linkage of png_zalloc and png_zfree. @@ -1315,6 +1253,19 @@ typedef z_stream FAR * png_zstreamp; * zlib and your applications the same way you build libpng. */ +#ifdef __CYGWIN__ +# undef PNGAPI +# define PNGAPI __cdecl +# undef PNG_IMPEXP +# define PNG_IMPEXP +#endif + +#ifdef __WATCOMC__ +# ifndef PNGAPI +# define PNGAPI +# endif +#endif + #if defined(__MINGW32__) && !defined(PNG_MODULEDEF) # ifndef PNG_NO_MODULEDEF # define PNG_NO_MODULEDEF @@ -1342,43 +1293,42 @@ typedef z_stream FAR * png_zstreamp; # define PNG_IMPEXP # endif -# if !defined(PNG_IMPEXP) +# ifndef PNG_IMPEXP -# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol -# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol +# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol +# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol - /* Borland/Microsoft */ -# if defined(_MSC_VER) || defined(__BORLANDC__) -# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500) -# define PNG_EXPORT PNG_EXPORT_TYPE1 -# else -# define PNG_EXPORT PNG_EXPORT_TYPE2 -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __export -# else -# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in - VC++ */ -# endif /* Exists in Borland C++ for - C++ classes (== huge) */ -# endif -# endif + /* Borland/Microsoft */ +# if defined(_MSC_VER) || defined(__BORLANDC__) +# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500) +# define PNG_EXPORT PNG_EXPORT_TYPE1 +# else +# define PNG_EXPORT PNG_EXPORT_TYPE2 +# ifdef PNG_BUILD_DLL +# define PNG_IMPEXP __export +# else +# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in VC++ */ +# endif /* Exists in Borland C++ for + C++ classes (== huge) */ +# endif +# endif -# if !defined(PNG_IMPEXP) -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __declspec(dllexport) -# else -# define PNG_IMPEXP __declspec(dllimport) -# endif -# endif +# ifndef PNG_IMPEXP +# ifdef PNG_BUILD_DLL +# define PNG_IMPEXP __declspec(dllexport) +# else +# define PNG_IMPEXP __declspec(dllimport) +# endif +# endif # endif /* PNG_IMPEXP */ #else /* !(DLL || non-cygwin WINDOWS) */ # if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) -# ifndef PNGAPI -# define PNGAPI _System -# endif +# ifndef PNGAPI +# define PNGAPI _System +# endif # else -# if 0 /* ... other platforms, with other meanings */ -# endif +# if 0 /* ... other platforms, with other meanings */ +# endif # endif #endif @@ -1393,79 +1343,187 @@ typedef z_stream FAR * png_zstreamp; # ifndef PNG_EXPORT # define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END # endif -# ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT -# endif -# endif #endif #ifndef PNG_EXPORT # define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol #endif -#ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type +#define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */ + +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. + * + * Added at libpng-1.2.41. + */ + +#ifndef PNG_NO_PEDANTIC_WARNINGS +# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED +# define PNG_PEDANTIC_WARNINGS_SUPPORTED # endif #endif -/* User may want to use these so they are not in PNG_INTERNAL. Any library - * functions that are passed far data must be model independent. +#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. Added at libpng + * version 1.2.41. + */ +# ifdef __GNUC__ +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif + + /* This specifically protects structure members that should only be + * accessed from within the library, therefore should be empty during + * a library build. + */ +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_DEPSTRUCT +# define PNG_DEPSTRUCT __attribute__((__deprecated__)) +# endif +# ifndef PNG_PRIVATE +# if 0 /* Doesn't work so we use deprecated instead*/ +# define PNG_PRIVATE \ + __attribute__((warning("This function is not exported by libpng."))) +# else +# define PNG_PRIVATE \ + __attribute__((__deprecated__)) +# endif +# endif /* PNG_PRIVATE */ +# endif /* __GNUC__ */ +#endif /* PNG_PEDANTIC_WARNINGS */ + +#ifndef PNG_DEPRECATED +# define PNG_DEPRECATED /* Use of this function is deprecated */ +#endif +#ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* The result of this function must be checked */ +#endif +#ifndef PNG_NORETURN +# define PNG_NORETURN /* This function does not return */ +#endif +#ifndef PNG_ALLOCATED +# define PNG_ALLOCATED /* The result of the function is new memory */ +#endif +#ifndef PNG_DEPSTRUCT +# define PNG_DEPSTRUCT /* Access to this struct member is deprecated */ +#endif +#ifndef PNG_PRIVATE +# define PNG_PRIVATE /* This is a private libpng function */ +#endif + +/* Users may want to use these so they are not private. Any library + * functions that are passed far data must be model-independent. */ +/* memory model/platform independent fns */ #ifndef PNG_ABORT -# define PNG_ABORT() abort() +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) +# define PNG_ABORT() ExitProcess(0) +# else +# define PNG_ABORT() abort() +# endif #endif -#ifdef PNG_SETJMP_SUPPORTED -# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) -#else -# define png_jmpbuf(png_ptr) \ - (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED) -#endif - -#if defined(USE_FAR_KEYWORD) /* memory model independent fns */ -/* use this to make far-to-near assignments */ +#ifdef USE_FAR_KEYWORD +/* Use this to make far-to-near assignments */ # define CHECK 1 # define NOCHECK 0 # define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) # define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) -# define png_snprintf _fsnprintf /* Added to v 1.2.19 */ +# define png_strcpy _fstrcpy +# define png_strncpy _fstrncpy /* Added to v 1.2.6 */ # define png_strlen _fstrlen # define png_memcmp _fmemcmp /* SJT: added */ # define png_memcpy _fmemcpy # define png_memset _fmemset -#else /* use the usual functions */ -# define CVT_PTR(ptr) (ptr) -# define CVT_PTR_NOCHECK(ptr) (ptr) -# ifndef PNG_NO_SNPRINTF -# ifdef _MSC_VER -# define png_snprintf _snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 _snprintf -# define png_snprintf6 _snprintf -# else -# define png_snprintf snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 snprintf -# define png_snprintf6 snprintf -# endif +# define png_sprintf sprintf +#else +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) +# /* Favor Windows over C runtime fns */ +# define CVT_PTR(ptr) (ptr) +# define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_strcpy lstrcpyA +# define png_strncpy lstrcpynA +# define png_strlen lstrlenA +# define png_memcmp memcmp +# define png_memcpy CopyMemory +# define png_memset memset +# define png_sprintf wsprintfA # else - /* You don't have or don't want to use snprintf(). Caution: Using - * sprintf instead of snprintf exposes your application to accidental - * or malevolent buffer overflows. If you don't have snprintf() - * as a general rule you should provide one (you can get one from - * Portable OpenSSH). */ -# define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1) -# define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2) -# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \ - sprintf(s1,fmt,x1,x2,x3,x4,x5,x6) +# define CVT_PTR(ptr) (ptr) +# define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_strcpy strcpy +# define png_strncpy strncpy /* Added to v 1.2.6 */ +# define png_strlen strlen +# define png_memcmp memcmp /* SJT: added */ +# define png_memcpy memcpy +# define png_memset memset +# define png_sprintf sprintf # endif -# define png_strlen strlen -# define png_memcmp memcmp /* SJT: added */ -# define png_memcpy memcpy -# define png_memset memset #endif -/* End of memory model independent support */ + +#ifndef PNG_NO_SNPRINTF +# ifdef _MSC_VER +# define png_snprintf _snprintf /* Added to v 1.2.19 */ +# define png_snprintf2 _snprintf +# define png_snprintf6 _snprintf +# else +# define png_snprintf snprintf /* Added to v 1.2.19 */ +# define png_snprintf2 snprintf +# define png_snprintf6 snprintf +# endif +#else + /* You don't have or don't want to use snprintf(). Caution: Using + * sprintf instead of snprintf exposes your application to accidental + * or malevolent buffer overflows. If you don't have snprintf() + * as a general rule you should provide one (you can get one from + * Portable OpenSSH). + */ +# define png_snprintf(s1,n,fmt,x1) png_sprintf(s1,fmt,x1) +# define png_snprintf2(s1,n,fmt,x1,x2) png_sprintf(s1,fmt,x1,x2) +# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \ + png_sprintf(s1,fmt,x1,x2,x3,x4,x5,x6) +#endif + +/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, + * and no smaller than png_uint_32. Casts from png_size_t or png_uint_32 + * to png_alloc_size_t are not necessary; in fact, it is recommended + * not to use them at all so that the compiler can complain when something + * turns out to be problematic. + * Casts in the other direction (from png_alloc_size_t to png_size_t or + * png_uint_32) should be explicitly applied; however, we do not expect + * to encounter practical situations that require such conversions. + */ +#if defined(__TURBOC__) && !defined(__FLAT__) + typedef unsigned long png_alloc_size_t; +#else +# if defined(_MSC_VER) && defined(MAXSEG_64K) + typedef unsigned long png_alloc_size_t; +# else + /* This is an attempt to detect an old Windows system where (int) is + * actually 16 bits, in that case png_malloc must have an argument with a + * bigger size to accomodate the requirements of the library. + */ +# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) && \ + (!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL) + typedef DWORD png_alloc_size_t; +# else + typedef png_size_t png_alloc_size_t; +# endif +# endif +#endif +/* End of memory model/platform independent support */ /* Just a little check that someone hasn't tried to define something * contradictory. @@ -1475,6 +1533,7 @@ typedef z_stream FAR * png_zstreamp; # define PNG_ZBUF_SIZE 65536L #endif + /* Added at libpng-1.2.8 */ #endif /* PNG_VERSION_INFO_ONLY */ diff --git a/source/gui/pngu.c b/source/gui/pngu.c index d9385495..8178e4ba 100644 --- a/source/gui/pngu.c +++ b/source/gui/pngu.c @@ -776,7 +776,7 @@ int PNGU_DecodeToCMPR(IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer) void user_error (png_structp png_ptr, png_const_charp c) { - longjmp (png_ptr->jmpbuf, 1); + longjmp(png_jmpbuf(png_ptr), 1); } int PNGU_EncodeFromYCbYCr (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u32 stride) {