00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 #ifndef PSD_H
00015 #define PSD_H
00016 
00017 #include "il_internal.h"
00018 
00019 #ifdef _MSC_VER
00020 #pragma pack(push, packed_struct, 1)
00021 #endif
00022 typedef struct PSDHEAD
00023 {
00024         ILubyte         Signature[4];
00025         ILushort        Version;
00026         ILubyte         Reserved[6];
00027         ILushort        Channels;
00028         ILuint          Height;
00029         ILuint          Width;
00030         ILushort        Depth;
00031         ILushort        Mode;
00032 } IL_PACKSTRUCT PSDHEAD;
00033 
00034 #ifdef _MSC_VER
00035 #pragma pack(pop,  packed_struct)
00036 #endif
00037 
00038 ILushort        ChannelNum;
00039 
00040 ILboolean       iIsValidPsd(void);
00041 ILboolean       iCheckPsd(PSDHEAD *Header);
00042 ILboolean       iLoadPsdInternal(void);
00043 ILboolean       ReadPsd(PSDHEAD *Head);
00044 ILboolean       ReadGrey(PSDHEAD *Head);
00045 ILboolean       ReadIndexed(PSDHEAD *Head);
00046 ILboolean       ReadRGB(PSDHEAD *Head);
00047 ILboolean       ReadCMYK(PSDHEAD *Head);
00048 ILuint          *GetCompChanLen(PSDHEAD *Head);
00049 ILboolean       PsdGetData(PSDHEAD *Head, void *Buffer, ILboolean Compressed);
00050 ILboolean       ParseResources(ILuint ResourceSize, ILubyte *Resources);
00051 ILboolean       GetSingleChannel(PSDHEAD *Head, ILubyte *Buffer, ILboolean Compressed);
00052 ILboolean       iSavePsdInternal(void);
00053 
00054 
00055 
00056 #endif//PSD_H