00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 #ifndef EXR_H
00015 #define EXR_H
00016 
00017 #include "il_internal.h"
00018 #include <ImfIO.h>
00019 
00020 
00021 
00022                                                 
00023 
00024 
00025 typedef struct EXRHEAD
00026 {
00027         ILuint          MagicNumber;            
00028         ILuint          Version;                        
00029 } IL_PACKSTRUCT EXRHEAD;
00030 
00031 
00032 #define EXR_UINT 0
00033 #define EXR_HALF 1
00034 #define EXR_FLOAT 2
00035 
00036 #define EXR_NO_COMPRESSION    0
00037 #define EXR_RLE_COMPRESSION   1
00038 #define EXR_ZIPS_COMPRESSION  2
00039 #define EXR_ZIP_COMPRESSION   3
00040 #define EXR_PIZ_COMPRESSION   4
00041 #define EXR_PXR24_COMPRESSION 5
00042 #define EXR_B44_COMPRESSION   6
00043 #define EXR_B44A_COMPRESSION  7
00044 
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00050 ILboolean iIsValidExr();
00051 ILboolean iCheckExr(EXRHEAD *Header);
00052 ILboolean iLoadExrInternal();
00053 ILboolean iSaveExrInternal();
00054 
00055 #ifdef __cplusplus
00056 }
00057 #endif
00058 
00059 class ilIStream : public Imf::IStream
00060 {
00061         public:
00062                 ilIStream();
00063                 virtual bool    read (char c[], int n);
00064                 
00065                 
00066                 virtual Imf::Int64      tellg ();
00067                 virtual void    seekg (Imf::Int64 Pos);
00068                 virtual void    clear ();
00069 
00070         protected:
00071 
00072         private:
00073 };
00074 
00075 class ilOStream : public Imf::OStream
00076 {
00077         public:
00078                 ilOStream();
00079                 virtual void    write (const char c[], int n);
00080                 
00081                 
00082                 virtual Imf::Int64      tellp ();
00083                 virtual void    seekp (Imf::Int64 Pos);
00084 
00085         protected:
00086 
00087         private:
00088 };
00089 
00090 #endif//EXR_H