Main Page | Modules | Class List | File List | Class Members | File Members

png_io.h

Go to the documentation of this file.
00001 
00016 /* This library is free software; you can redistribute it and/or
00017    modify it under the terms of the GNU Lesser General Public
00018    License as published by the Free Software Foundation; either
00019    version 2.1 of the License, or (at your option) any later version.
00020 
00021    This library is distributed in the hope that it will be useful,
00022    but WITHOUT ANY WARRANTY; without even the implied warranty of
00023    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00024    Lesser General Public License for more details.
00025 
00026    You should have received a copy of the GNU Lesser General Public
00027    License along with this library; if not, write to the Free Software
00028    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00029 */
00030 
00031 #ifndef _GAN_IMAGE_PNG_IO_H
00032 #define _GAN_IMAGE_PNG_IO_H
00033 
00034 #include <stdio.h>
00035 #include <gandalf/common/misc_defs.h>
00036 #include <gandalf/image/image_defs.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00052 /* only compile if you have PNG */
00053 #ifdef HAVE_PNG
00054 
00058 typedef struct Gan_PNGHeaderStruct
00059 {
00060    float gamma;
00061    int compression_level;
00062 } Gan_PNGHeaderStruct;
00063 
00064 /* forward declaration */
00065 struct Gan_ImageReadControlStruct;
00066 struct Gan_ImageHeaderStruct;
00067 struct Gan_ImageWriteControlStruct;
00068 
00069 /* Prototypes for public functions in png_io.c */
00070  Gan_Bool gan_image_is_png(const unsigned char *magic_string, size_t length);
00071  Gan_Image* gan_read_png_image_stream ( FILE *infile, Gan_Image *image,
00072                                        const struct Gan_ImageReadControlStruct *ictrlstr, struct Gan_ImageHeaderStruct *header );
00073  Gan_Image* gan_read_png_image ( const char *filename, Gan_Image *image,
00074                                 const struct Gan_ImageReadControlStruct *ictrlstr, struct Gan_ImageHeaderStruct *header );
00075  void gan_initialise_png_header_struct(Gan_PNGHeaderStruct *octrlstr);
00076  Gan_Bool gan_write_png_image_stream ( FILE *outfile, const Gan_Image *image, Gan_Bool new_file, const struct Gan_ImageWriteControlStruct *octrlstr );
00077  Gan_Bool gan_write_png_image ( const char *filename, const Gan_Image *image, const struct Gan_ImageWriteControlStruct *octrlstr );
00078 
00079 #endif /* #ifdef HAVE_PNG */
00080 
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092 
00093 #endif /* #ifndef _GAN_IMAGE_PNG_IO_H */

Generated on Fri Mar 17 12:44:48 2006 by  doxygen 1.3.9.1