ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

tiffio.h
Go to the documentation of this file.
00001 /* $Id: tiffio.h,v 1.56.2.4 2010-06-08 18:50:43 bfriesen Exp $ */
00002 
00003 /*
00004  * Copyright (c) 1988-1997 Sam Leffler
00005  * Copyright (c) 1991-1997 Silicon Graphics, Inc.
00006  *
00007  * Permission to use, copy, modify, distribute, and sell this software and 
00008  * its documentation for any purpose is hereby granted without fee, provided
00009  * that (i) the above copyright notices and this permission notice appear in
00010  * all copies of the software and related documentation, and (ii) the names of
00011  * Sam Leffler and Silicon Graphics may not be used in any advertising or
00012  * publicity relating to the software without the specific, prior written
00013  * permission of Sam Leffler and Silicon Graphics.
00014  * 
00015  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
00016  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
00017  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
00018  * 
00019  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
00020  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
00021  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
00022  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
00023  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
00024  * OF THIS SOFTWARE.
00025  */
00026 
00027 #ifndef _TIFFIO_
00028 #define _TIFFIO_
00029 
00030 #ifndef __GNUC__
00031 # define __DLL_IMPORT__  __declspec(dllimport)
00032 # define __DLL_EXPORT__  __declspec(dllexport)
00033 #else
00034 # define __DLL_IMPORT__  __attribute__((dllimport)) extern
00035 # define __DLL_EXPORT__  __attribute__((dllexport)) extern
00036 #endif 
00037 
00038 #if (defined __WIN32__) || (defined _WIN32)
00039 # ifdef BUILD_LIBTIFF_DLL
00040 #  define LIBTIFF_DLL_IMPEXP     __DLL_EXPORT__
00041 # elif defined(LIBTIFF_STATIC)
00042 #  define LIBTIFF_DLL_IMPEXP      
00043 # elif defined (USE_LIBTIFF_DLL)
00044 #  define LIBTIFF_DLL_IMPEXP     __DLL_IMPORT__
00045 # elif defined (USE_LIBTIFF_STATIC)
00046 #  define LIBTIFF_DLL_IMPEXP      
00047 # else /* assume USE_LIBTIFF_DLL */
00048 #  define LIBTIFF_DLL_IMPEXP     __DLL_IMPORT__
00049 # endif
00050 #else /* __WIN32__ */
00051 # define LIBTIFF_DLL_IMPEXP  
00052 #endif
00053 
00054 /*
00055  * TIFF I/O Library Definitions.
00056  */
00057 #include "tiff.h"
00058 #include "tiffvers.h"
00059 
00060 /*
00061  * TIFF is defined as an incomplete type to hide the
00062  * library's internal data structures from clients.
00063  */
00064 typedef struct tiff TIFF;
00065 
00066 /*
00067  * The following typedefs define the intrinsic size of
00068  * data types used in the *exported* interfaces.  These
00069  * definitions depend on the proper definition of types
00070  * in tiff.h.  Note also that the varargs interface used
00071  * to pass tag types and values uses the types defined in
00072  * tiff.h directly.
00073  *
00074  * NB: ttag_t is unsigned int and not unsigned short because
00075  *     ANSI C requires that the type before the ellipsis be a
00076  *     promoted type (i.e. one of int, unsigned int, pointer,
00077  *     or double) and because we defined pseudo-tags that are
00078  *     outside the range of legal Aldus-assigned tags.
00079  * NB: tsize_t is int32 and not uint32 because some functions
00080  *     return -1.
00081  * NB: toff_t is not off_t for many reasons; TIFFs max out at
00082  *     32-bit file offsets being the most important, and to ensure
00083  *     that it is unsigned, rather than signed.
00084  */
00085 typedef uint32 ttag_t;          /* directory tag */
00086 typedef uint16 tdir_t;          /* directory index */
00087 typedef uint16 tsample_t;       /* sample number */
00088 typedef uint32 tstrile_t;       /* strip or tile number */
00089 typedef tstrile_t tstrip_t;     /* strip number */
00090 typedef tstrile_t ttile_t;      /* tile number */
00091 typedef int32 tsize_t;          /* i/o size in bytes */
00092 typedef void* tdata_t;          /* image data ref */
00093 typedef uint32 toff_t;          /* file offset */
00094 
00095 #if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32))
00096 #define __WIN32__
00097 #endif
00098 
00099 /*
00100  * On windows you should define USE_WIN32_FILEIO if you are using tif_win32.c
00101  * or AVOID_WIN32_FILEIO if you are using something else (like tif_unix.c).
00102  *
00103  * By default tif_unix.c is assumed.
00104  */
00105 
00106 #if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows)
00107 #  define BINMODE "b"
00108 #  if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO)
00109 #    define AVOID_WIN32_FILEIO
00110 #  endif
00111 #  include <fcntl.h>
00112 #  include <io.h>
00113 #  ifdef SET_BINARY
00114 #    undef SET_BINARY
00115 #  endif /* SET_BINARY */
00116 #  define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0)
00117 #else /* Windows */
00118 #  define BINMODE
00119 #  define SET_BINARY(f) (void)0
00120 #endif /* Windows */
00121 
00122 #if defined(USE_WIN32_FILEIO)
00123 # define VC_EXTRALEAN
00124 # include <windows.h>
00125 # ifdef __WIN32__
00126 DECLARE_HANDLE(thandle_t);  /* Win32 file handle */
00127 # else
00128 typedef HFILE thandle_t;    /* client data handle */
00129 # endif /* __WIN32__ */
00130 #else
00131 typedef void* thandle_t;    /* client data handle */
00132 #endif /* USE_WIN32_FILEIO */
00133 
00134 /*
00135  * Flags to pass to TIFFPrintDirectory to control
00136  * printing of data structures that are potentially
00137  * very large.   Bit-or these flags to enable printing
00138  * multiple items.
00139  */
00140 #define TIFFPRINT_NONE      0x0     /* no extra info */
00141 #define TIFFPRINT_STRIPS    0x1     /* strips/tiles info */
00142 #define TIFFPRINT_CURVES    0x2     /* color/gray response curves */
00143 #define TIFFPRINT_COLORMAP  0x4     /* colormap */
00144 #define TIFFPRINT_JPEGQTABLES   0x100       /* JPEG Q matrices */
00145 #define TIFFPRINT_JPEGACTABLES  0x200       /* JPEG AC tables */
00146 #define TIFFPRINT_JPEGDCTABLES  0x200       /* JPEG DC tables */
00147 
00148 /* 
00149  * Colour conversion stuff
00150  */
00151 
00152 /* reference white */
00153 #define D65_X0 (95.0470F)
00154 #define D65_Y0 (100.0F)
00155 #define D65_Z0 (108.8827F)
00156 
00157 #define D50_X0 (96.4250F)
00158 #define D50_Y0 (100.0F)
00159 #define D50_Z0 (82.4680F)
00160 
00161 /* Structure for holding information about a display device. */
00162 
00163 typedef unsigned char TIFFRGBValue;     /* 8-bit samples */
00164 
00165 typedef struct {
00166     float d_mat[3][3];      /* XYZ -> luminance matrix */
00167     float d_YCR;            /* Light o/p for reference white */
00168     float d_YCG;
00169     float d_YCB;
00170     uint32 d_Vrwr;          /* Pixel values for ref. white */
00171     uint32 d_Vrwg;
00172     uint32 d_Vrwb;
00173     float d_Y0R;            /* Residual light for black pixel */
00174     float d_Y0G;
00175     float d_Y0B;
00176     float d_gammaR;         /* Gamma values for the three guns */
00177     float d_gammaG;
00178     float d_gammaB;
00179 } TIFFDisplay;
00180 
00181 typedef struct {                /* YCbCr->RGB support */
00182     TIFFRGBValue* clamptab;         /* range clamping table */
00183     int*    Cr_r_tab;
00184     int*    Cb_b_tab;
00185     int32*  Cr_g_tab;
00186     int32*  Cb_g_tab;
00187         int32*  Y_tab;
00188 } TIFFYCbCrToRGB;
00189 
00190 typedef struct {                /* CIE Lab 1976->RGB support */
00191     int range;              /* Size of conversion table */
00192 #define CIELABTORGB_TABLE_RANGE 1500
00193     float   rstep, gstep, bstep;
00194     float   X0, Y0, Z0;         /* Reference white point */
00195     TIFFDisplay display;
00196     float   Yr2r[CIELABTORGB_TABLE_RANGE + 1];  /* Conversion of Yr to r */
00197     float   Yg2g[CIELABTORGB_TABLE_RANGE + 1];  /* Conversion of Yg to g */
00198     float   Yb2b[CIELABTORGB_TABLE_RANGE + 1];  /* Conversion of Yb to b */
00199 } TIFFCIELabToRGB;
00200 
00201 /*
00202  * RGBA-style image support.
00203  */
00204 typedef struct _TIFFRGBAImage TIFFRGBAImage;
00205 /*
00206  * The image reading and conversion routines invoke
00207  * ``put routines'' to copy/image/whatever tiles of
00208  * raw image data.  A default set of routines are 
00209  * provided to convert/copy raw image data to 8-bit
00210  * packed ABGR format rasters.  Applications can supply
00211  * alternate routines that unpack the data into a
00212  * different format or, for example, unpack the data
00213  * and draw the unpacked raster on the display.
00214  */
00215 typedef void (*tileContigRoutine)
00216     (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32,
00217     unsigned char*);
00218 typedef void (*tileSeparateRoutine)
00219     (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32,
00220     unsigned char*, unsigned char*, unsigned char*, unsigned char*);
00221 /*
00222  * RGBA-reader state.
00223  */
00224 struct _TIFFRGBAImage {
00225     TIFF* tif;                              /* image handle */
00226     int stoponerr;                          /* stop on read error */
00227     int isContig;                           /* data is packed/separate */
00228     int alpha;                              /* type of alpha data present */
00229     uint32 width;                           /* image width */
00230     uint32 height;                          /* image height */
00231     uint16 bitspersample;                   /* image bits/sample */
00232     uint16 samplesperpixel;                 /* image samples/pixel */
00233     uint16 orientation;                     /* image orientation */
00234     uint16 req_orientation;                 /* requested orientation */
00235     uint16 photometric;                     /* image photometric interp */
00236     uint16* redcmap;                        /* colormap pallete */
00237     uint16* greencmap;
00238     uint16* bluecmap;
00239     /* get image data routine */
00240     int (*get)(TIFFRGBAImage*, uint32*, uint32, uint32);
00241     /* put decoded strip/tile */
00242     union {
00243         void (*any)(TIFFRGBAImage*);
00244         tileContigRoutine contig;
00245         tileSeparateRoutine separate;
00246     } put;
00247     TIFFRGBValue* Map;                      /* sample mapping array */
00248     uint32** BWmap;                         /* black&white map */
00249     uint32** PALmap;                        /* palette image map */
00250     TIFFYCbCrToRGB* ycbcr;                  /* YCbCr conversion state */
00251     TIFFCIELabToRGB* cielab;                /* CIE L*a*b conversion state */
00252 
00253     int row_offset;
00254     int col_offset;
00255 };
00256 
00257 /*
00258  * Macros for extracting components from the
00259  * packed ABGR form returned by TIFFReadRGBAImage.
00260  */
00261 #define TIFFGetR(abgr)  ((abgr) & 0xff)
00262 #define TIFFGetG(abgr)  (((abgr) >> 8) & 0xff)
00263 #define TIFFGetB(abgr)  (((abgr) >> 16) & 0xff)
00264 #define TIFFGetA(abgr)  (((abgr) >> 24) & 0xff)
00265 
00266 /*
00267  * A CODEC is a software package that implements decoding,
00268  * encoding, or decoding+encoding of a compression algorithm.
00269  * The library provides a collection of builtin codecs.
00270  * More codecs may be registered through calls to the library
00271  * and/or the builtin implementations may be overridden.
00272  */
00273 typedef int (*TIFFInitMethod)(TIFF*, int);
00274 typedef struct {
00275     char*       name;
00276     uint16      scheme;
00277     TIFFInitMethod  init;
00278 } TIFFCodec;
00279 
00280 #include <stdio.h>
00281 #include <stdarg.h>
00282 
00283 /* share internal LogLuv conversion routines? */
00284 #ifndef LOGLUV_PUBLIC
00285 #define LOGLUV_PUBLIC       1
00286 #endif
00287 
00288 #if !defined(__GNUC__) && !defined(__attribute__)
00289 #  define __attribute__(x) /*nothing*/
00290 #endif
00291 
00292 #if defined(c_plusplus) || defined(__cplusplus)
00293 extern "C" {
00294 #endif
00295 typedef void (*TIFFErrorHandler)(const char*, const char*, va_list);
00296 typedef void (*TIFFErrorHandlerExt)(thandle_t, const char*, const char*, va_list);
00297 typedef tsize_t (*TIFFReadWriteProc)(thandle_t, tdata_t, tsize_t);
00298 typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);
00299 typedef int (*TIFFCloseProc)(thandle_t);
00300 typedef toff_t (*TIFFSizeProc)(thandle_t);
00301 typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*);
00302 typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);
00303 typedef void (*TIFFExtendProc)(TIFF*); 
00304 
00305 LIBTIFF_DLL_IMPEXP  const char* TIFFGetVersion(void);
00306 
00307 LIBTIFF_DLL_IMPEXP  const TIFFCodec* TIFFFindCODEC(uint16);
00308 LIBTIFF_DLL_IMPEXP  TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
00309 LIBTIFF_DLL_IMPEXP  void TIFFUnRegisterCODEC(TIFFCodec*);
00310 LIBTIFF_DLL_IMPEXP  int TIFFIsCODECConfigured(uint16);
00311 LIBTIFF_DLL_IMPEXP  TIFFCodec* TIFFGetConfiguredCODECs(void);
00312 
00313 /*
00314  * Auxiliary functions.
00315  */
00316 
00317 LIBTIFF_DLL_IMPEXP  tdata_t _TIFFmalloc(tsize_t);
00318 LIBTIFF_DLL_IMPEXP  tdata_t _TIFFrealloc(tdata_t, tsize_t);
00319 LIBTIFF_DLL_IMPEXP  void _TIFFmemset(tdata_t, int, tsize_t);
00320 LIBTIFF_DLL_IMPEXP  void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
00321 LIBTIFF_DLL_IMPEXP  int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
00322 LIBTIFF_DLL_IMPEXP  void _TIFFfree(tdata_t);
00323 
00324 /*
00325 ** Stuff, related to tag handling and creating custom tags.
00326 */
00327 LIBTIFF_DLL_IMPEXP  int  TIFFGetTagListCount( TIFF * );
00328 LIBTIFF_DLL_IMPEXP  ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
00329     
00330 #define TIFF_ANY    TIFF_NOTYPE /* for field descriptor searching */
00331 #define TIFF_VARIABLE   -1      /* marker for variable length tags */
00332 #define TIFF_SPP    -2      /* marker for SamplesPerPixel tags */
00333 #define TIFF_VARIABLE2  -3      /* marker for uint32 var-length tags */
00334 
00335 #define FIELD_CUSTOM    65    
00336 
00337 typedef struct {
00338     ttag_t  field_tag;      /* field's tag */
00339     short   field_readcount;    /* read count/TIFF_VARIABLE/TIFF_SPP */
00340     short   field_writecount;   /* write count/TIFF_VARIABLE */
00341     TIFFDataType field_type;    /* type of associated data */
00342         unsigned short field_bit;   /* bit in fieldsset bit vector */
00343     unsigned char field_oktochange; /* if true, can change while writing */
00344     unsigned char field_passcount;  /* if true, pass dir count on set */
00345     char    *field_name;        /* ASCII name */
00346 } TIFFFieldInfo;
00347 
00348 typedef struct _TIFFTagValue {
00349     const TIFFFieldInfo  *info;
00350     int             count;
00351     void           *value;
00352 } TIFFTagValue;
00353 
00354 LIBTIFF_DLL_IMPEXP  void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
00355 LIBTIFF_DLL_IMPEXP  const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
00356 LIBTIFF_DLL_IMPEXP  const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
00357                              TIFFDataType);
00358 LIBTIFF_DLL_IMPEXP  const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
00359 LIBTIFF_DLL_IMPEXP  const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
00360 
00361 typedef int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list);
00362 typedef int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list);
00363 typedef void (*TIFFPrintMethod)(TIFF*, FILE*, long);
00364     
00365 typedef struct {
00366     TIFFVSetMethod  vsetfield;  /* tag set routine */
00367     TIFFVGetMethod  vgetfield;  /* tag get routine */
00368     TIFFPrintMethod printdir;   /* directory print routine */
00369 } TIFFTagMethods;
00370         
00371 LIBTIFF_DLL_IMPEXP  TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
00372 LIBTIFF_DLL_IMPEXP  void *TIFFGetClientInfo( TIFF *, const char * );
00373 LIBTIFF_DLL_IMPEXP  void TIFFSetClientInfo( TIFF *, void *, const char * );
00374 
00375 LIBTIFF_DLL_IMPEXP  void TIFFCleanup(TIFF*);
00376 LIBTIFF_DLL_IMPEXP  void TIFFClose(TIFF*);
00377 LIBTIFF_DLL_IMPEXP  int TIFFFlush(TIFF*);
00378 LIBTIFF_DLL_IMPEXP  int TIFFFlushData(TIFF*);
00379 LIBTIFF_DLL_IMPEXP  int TIFFGetField(TIFF*, ttag_t, ...);
00380 LIBTIFF_DLL_IMPEXP  int TIFFVGetField(TIFF*, ttag_t, va_list);
00381 LIBTIFF_DLL_IMPEXP  int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
00382 LIBTIFF_DLL_IMPEXP  int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
00383 LIBTIFF_DLL_IMPEXP  int TIFFReadDirectory(TIFF*);
00384 LIBTIFF_DLL_IMPEXP  int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
00385                     size_t);
00386 LIBTIFF_DLL_IMPEXP  int TIFFReadEXIFDirectory(TIFF*, toff_t);
00387 LIBTIFF_DLL_IMPEXP  tsize_t TIFFScanlineSize(TIFF*);
00388 LIBTIFF_DLL_IMPEXP  tsize_t TIFFOldScanlineSize(TIFF*);
00389 LIBTIFF_DLL_IMPEXP  tsize_t TIFFNewScanlineSize(TIFF*);
00390 LIBTIFF_DLL_IMPEXP  tsize_t TIFFRasterScanlineSize(TIFF*);
00391 LIBTIFF_DLL_IMPEXP  tsize_t TIFFStripSize(TIFF*);
00392 LIBTIFF_DLL_IMPEXP  tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
00393 LIBTIFF_DLL_IMPEXP  tsize_t TIFFVStripSize(TIFF*, uint32);
00394 LIBTIFF_DLL_IMPEXP  tsize_t TIFFTileRowSize(TIFF*);
00395 LIBTIFF_DLL_IMPEXP  tsize_t TIFFTileSize(TIFF*);
00396 LIBTIFF_DLL_IMPEXP  tsize_t TIFFVTileSize(TIFF*, uint32);
00397 LIBTIFF_DLL_IMPEXP  uint32 TIFFDefaultStripSize(TIFF*, uint32);
00398 LIBTIFF_DLL_IMPEXP  void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
00399 LIBTIFF_DLL_IMPEXP  int TIFFFileno(TIFF*);
00400 LIBTIFF_DLL_IMPEXP  int TIFFSetFileno(TIFF*, int);
00401 LIBTIFF_DLL_IMPEXP  thandle_t TIFFClientdata(TIFF*);
00402 LIBTIFF_DLL_IMPEXP  thandle_t TIFFSetClientdata(TIFF*, thandle_t);
00403 LIBTIFF_DLL_IMPEXP  int TIFFGetMode(TIFF*);
00404 LIBTIFF_DLL_IMPEXP  int TIFFSetMode(TIFF*, int);
00405 LIBTIFF_DLL_IMPEXP  int TIFFIsTiled(TIFF*);
00406 LIBTIFF_DLL_IMPEXP  int TIFFIsByteSwapped(TIFF*);
00407 LIBTIFF_DLL_IMPEXP  int TIFFIsUpSampled(TIFF*);
00408 LIBTIFF_DLL_IMPEXP  int TIFFIsMSB2LSB(TIFF*);
00409 LIBTIFF_DLL_IMPEXP  int TIFFIsBigEndian(TIFF*);
00410 LIBTIFF_DLL_IMPEXP  TIFFReadWriteProc TIFFGetReadProc(TIFF*);
00411 LIBTIFF_DLL_IMPEXP  TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
00412 LIBTIFF_DLL_IMPEXP  TIFFSeekProc TIFFGetSeekProc(TIFF*);
00413 LIBTIFF_DLL_IMPEXP  TIFFCloseProc TIFFGetCloseProc(TIFF*);
00414 LIBTIFF_DLL_IMPEXP  TIFFSizeProc TIFFGetSizeProc(TIFF*);
00415 LIBTIFF_DLL_IMPEXP  TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
00416 LIBTIFF_DLL_IMPEXP  TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
00417 LIBTIFF_DLL_IMPEXP  uint32 TIFFCurrentRow(TIFF*);
00418 LIBTIFF_DLL_IMPEXP  tdir_t TIFFCurrentDirectory(TIFF*);
00419 LIBTIFF_DLL_IMPEXP  tdir_t TIFFNumberOfDirectories(TIFF*);
00420 LIBTIFF_DLL_IMPEXP  uint32 TIFFCurrentDirOffset(TIFF*);
00421 LIBTIFF_DLL_IMPEXP  tstrip_t TIFFCurrentStrip(TIFF*);
00422 LIBTIFF_DLL_IMPEXP  ttile_t TIFFCurrentTile(TIFF*);
00423 LIBTIFF_DLL_IMPEXP  int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
00424 LIBTIFF_DLL_IMPEXP  int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
00425 LIBTIFF_DLL_IMPEXP  int TIFFSetupStrips(TIFF *);
00426 LIBTIFF_DLL_IMPEXP  int TIFFWriteCheck(TIFF*, int, const char *);
00427 LIBTIFF_DLL_IMPEXP  void TIFFFreeDirectory(TIFF*);
00428 LIBTIFF_DLL_IMPEXP  int TIFFCreateDirectory(TIFF*);
00429 LIBTIFF_DLL_IMPEXP  int TIFFLastDirectory(TIFF*);
00430 LIBTIFF_DLL_IMPEXP  int TIFFSetDirectory(TIFF*, tdir_t);
00431 LIBTIFF_DLL_IMPEXP  int TIFFSetSubDirectory(TIFF*, uint32);
00432 LIBTIFF_DLL_IMPEXP  int TIFFUnlinkDirectory(TIFF*, tdir_t);
00433 LIBTIFF_DLL_IMPEXP  int TIFFSetField(TIFF*, ttag_t, ...);
00434 LIBTIFF_DLL_IMPEXP  int TIFFVSetField(TIFF*, ttag_t, va_list);
00435 LIBTIFF_DLL_IMPEXP  int TIFFWriteDirectory(TIFF *);
00436 LIBTIFF_DLL_IMPEXP  int TIFFCheckpointDirectory(TIFF *);
00437 LIBTIFF_DLL_IMPEXP  int TIFFRewriteDirectory(TIFF *);
00438 LIBTIFF_DLL_IMPEXP  int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
00439 
00440 #if defined(c_plusplus) || defined(__cplusplus)
00441 LIBTIFF_DLL_IMPEXP  void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
00442 LIBTIFF_DLL_IMPEXP  int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
00443 LIBTIFF_DLL_IMPEXP  int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
00444 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
00445 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
00446                       int = ORIENTATION_BOTLEFT, int = 0);
00447 #else
00448 LIBTIFF_DLL_IMPEXP  void TIFFPrintDirectory(TIFF*, FILE*, long);
00449 LIBTIFF_DLL_IMPEXP  int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
00450 LIBTIFF_DLL_IMPEXP  int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
00451 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
00452 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
00453 #endif
00454 
00455 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
00456 LIBTIFF_DLL_IMPEXP  int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
00457 LIBTIFF_DLL_IMPEXP  int TIFFRGBAImageOK(TIFF*, char [1024]);
00458 LIBTIFF_DLL_IMPEXP  int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
00459 LIBTIFF_DLL_IMPEXP  int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
00460 LIBTIFF_DLL_IMPEXP  void TIFFRGBAImageEnd(TIFFRGBAImage*);
00461 LIBTIFF_DLL_IMPEXP  TIFF* TIFFOpen(const char*, const char*);
00462 # ifdef __WIN32__
00463 LIBTIFF_DLL_IMPEXP  TIFF* TIFFOpenW(const wchar_t*, const char*);
00464 # endif /* __WIN32__ */
00465 LIBTIFF_DLL_IMPEXP  TIFF* TIFFFdOpen(int, const char*, const char*);
00466 LIBTIFF_DLL_IMPEXP  TIFF* TIFFClientOpen(const char*, const char*,
00467         thandle_t,
00468         TIFFReadWriteProc, TIFFReadWriteProc,
00469         TIFFSeekProc, TIFFCloseProc,
00470         TIFFSizeProc,
00471         TIFFMapFileProc, TIFFUnmapFileProc);
00472 LIBTIFF_DLL_IMPEXP  const char* TIFFFileName(TIFF*);
00473 LIBTIFF_DLL_IMPEXP  const char* TIFFSetFileName(TIFF*, const char *);
00474 LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
00475 LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
00476 LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
00477 LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
00478 LIBTIFF_DLL_IMPEXP  TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
00479 LIBTIFF_DLL_IMPEXP  TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
00480 LIBTIFF_DLL_IMPEXP  TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
00481 LIBTIFF_DLL_IMPEXP  TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
00482 LIBTIFF_DLL_IMPEXP  TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
00483 LIBTIFF_DLL_IMPEXP  ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
00484 LIBTIFF_DLL_IMPEXP  int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
00485 LIBTIFF_DLL_IMPEXP  ttile_t TIFFNumberOfTiles(TIFF*);
00486 LIBTIFF_DLL_IMPEXP  tsize_t TIFFReadTile(TIFF*,
00487         tdata_t, uint32, uint32, uint32, tsample_t);
00488 LIBTIFF_DLL_IMPEXP  tsize_t TIFFWriteTile(TIFF*,
00489         tdata_t, uint32, uint32, uint32, tsample_t);
00490 LIBTIFF_DLL_IMPEXP  tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
00491 LIBTIFF_DLL_IMPEXP  tstrip_t TIFFNumberOfStrips(TIFF*);
00492 LIBTIFF_DLL_IMPEXP  tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
00493 LIBTIFF_DLL_IMPEXP  tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
00494 LIBTIFF_DLL_IMPEXP  tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
00495 LIBTIFF_DLL_IMPEXP  tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
00496 LIBTIFF_DLL_IMPEXP  tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
00497 LIBTIFF_DLL_IMPEXP  tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
00498 LIBTIFF_DLL_IMPEXP  tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
00499 LIBTIFF_DLL_IMPEXP  tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
00500 LIBTIFF_DLL_IMPEXP  int TIFFDataWidth(TIFFDataType);    /* table of tag datatype widths */
00501 LIBTIFF_DLL_IMPEXP  void TIFFSetWriteOffset(TIFF*, toff_t);
00502 LIBTIFF_DLL_IMPEXP  void TIFFSwabShort(uint16*);
00503 LIBTIFF_DLL_IMPEXP  void TIFFSwabLong(uint32*);
00504 LIBTIFF_DLL_IMPEXP  void TIFFSwabDouble(double*);
00505 LIBTIFF_DLL_IMPEXP  void TIFFSwabArrayOfShort(uint16*, unsigned long);
00506 LIBTIFF_DLL_IMPEXP  void TIFFSwabArrayOfTriples(uint8*, unsigned long);
00507 LIBTIFF_DLL_IMPEXP  void TIFFSwabArrayOfLong(uint32*, unsigned long);
00508 LIBTIFF_DLL_IMPEXP  void TIFFSwabArrayOfDouble(double*, unsigned long);
00509 LIBTIFF_DLL_IMPEXP  void TIFFReverseBits(unsigned char *, unsigned long);
00510 LIBTIFF_DLL_IMPEXP  const unsigned char* TIFFGetBitRevTable(int);
00511 
00512 #ifdef LOGLUV_PUBLIC
00513 #define U_NEU       0.210526316
00514 #define V_NEU       0.473684211
00515 #define UVSCALE     410.
00516 LIBTIFF_DLL_IMPEXP  double LogL16toY(int);
00517 LIBTIFF_DLL_IMPEXP  double LogL10toY(int);
00518 LIBTIFF_DLL_IMPEXP  void XYZtoRGB24(float*, uint8*);
00519 LIBTIFF_DLL_IMPEXP  int uv_decode(double*, double*, int);
00520 LIBTIFF_DLL_IMPEXP  void LogLuv24toXYZ(uint32, float*);
00521 LIBTIFF_DLL_IMPEXP  void LogLuv32toXYZ(uint32, float*);
00522 #if defined(c_plusplus) || defined(__cplusplus)
00523 LIBTIFF_DLL_IMPEXP  int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
00524 LIBTIFF_DLL_IMPEXP  int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
00525 LIBTIFF_DLL_IMPEXP  int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
00526 LIBTIFF_DLL_IMPEXP  uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
00527 LIBTIFF_DLL_IMPEXP  uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
00528 #else
00529 LIBTIFF_DLL_IMPEXP  int LogL16fromY(double, int);
00530 LIBTIFF_DLL_IMPEXP  int LogL10fromY(double, int);
00531 LIBTIFF_DLL_IMPEXP  int uv_encode(double, double, int);
00532 LIBTIFF_DLL_IMPEXP  uint32 LogLuv24fromXYZ(float*, int);
00533 LIBTIFF_DLL_IMPEXP  uint32 LogLuv32fromXYZ(float*, int);
00534 #endif
00535 #endif /* LOGLUV_PUBLIC */
00536     
00537 LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
00538 LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
00539                 float *, float *, float *);
00540 LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
00541              uint32 *, uint32 *, uint32 *);
00542 
00543 LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
00544 LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
00545                uint32 *, uint32 *, uint32 *);
00546 
00547 #if defined(c_plusplus) || defined(__cplusplus)
00548 }
00549 #endif
00550 
00551 #endif /* _TIFFIO_ */
00552 
00553 /* vim: set ts=8 sts=8 sw=8 noet: */
00554 /*
00555  * Local Variables:
00556  * mode: c
00557  * c-basic-offset: 8
00558  * fill-column: 78
00559  * End:
00560  */

Generated on Sat May 26 2012 04:31:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.