GLES1RICE: Update from upstream
[mupen64plus-pandora.git] / source / rice_gles / src / liblinux / tiffrw.h
1 #ifndef _TIFF_RW_H_
2 #define _TIFF_RW_H_
3 /*
4 //  header file defining BMGLib libTIFF structures and functions 
5 //
6 //  Copyright 2000, 2001 Scott Heiman
7 //  libTIFF is Copyright Sam Leffler and SGI
8 //  zLib Copyright (C) 1995-1998 Jean-loup Gailly.
9 //
10 // Permission to use, copy, modify, distribute, and sell this software and 
11 // its documentation for any purpose is hereby granted without fee, provided
12 // that (i) the above copyright notices and this permission notice appear in
13 // all copies of the software and related documentation, and (ii) the names of
14 // Sam Leffler and Silicon Graphics may not be used in any advertising or
15 // publicity relating to the software without the specific, prior written
16 // permission of Sam Leffler and Silicon Graphics.
17 //
18 // THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
19 // EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
20 // WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
21 //
22 // IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
23 // ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
24 // OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
25 // WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
26 // LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
27 // OF THIS SOFTWARE.
28 */
29
30 #include "BMGImage.h"
31
32 /* enumeration types that support libTIFF */
33 enum TiffCompressionEnum { NONE, CCITTRLE, CCITTFAX3, CCITTFAX4, LZW, JPEG6,
34                        JPEG_DCT, NeXT, CCITTRLEW, MACINTOSH, THUNDERSCAN,
35                        PIXARFILM, PIXARLOG, ZIP, KODAK, JBIG };
36 enum TiffPhotometricEnum { MINISWHITE, MINISBLACK, RGB, PALETTE, MASK,
37                        SEPARATED, YCBCR, CIELAB, CIE_LOGL, CIE_LOGLUV };
38 enum TiffOrientationEnum { TOPLEFT, BOTTOMLEFT };
39
40 typedef enum TiffCompressionEnum TiffCompression;
41 typedef enum TiffPhotometricEnum TiffPhotometric;
42 typedef enum TiffOrientationEnum TiffOrientation;
43
44 #pragma pack(push,1)
45 struct TIFFInfoStruct
46 {
47     TiffCompression compression;
48     TiffPhotometric photometric;
49     TiffOrientation orientation;
50     unsigned short predictor;
51 };
52 #pragma pack(pop)
53
54 #if defined(__cplusplus)
55 extern "C" {
56 #endif
57
58 extern
59 BMGError  ReadTIFF( const char *filename,
60                          struct BMGImageStruct *img,
61                          struct TIFFInfoStruct *info );
62
63 extern
64 BMGError  WriteTIFF( const char *filename,
65                           struct BMGImageStruct img,
66                           struct TIFFInfoStruct *info );
67
68
69 #if defined(__cplusplus)
70  }
71 #endif
72
73
74 #endif
75