home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
prog
/
c
/
ifflib16.lha
/
iff.h
< prev
next >
Wrap
C/C++ Source or Header
|
1988-12-01
|
2KB
|
69 lines
/* C include file for the iff.library V16.1, 01-Dec-88 by CHW */
#ifndef LIBRARIES_IFF_H
#define LIBRARIES_IFF_H
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif
#define IFFNAME "iff.library"
#define IFFVERSION 16L /* Current library version */
/************** E R R O R - C O D E S ***********************************/
#define IFF_BADTASK -1 /* IffError() called by wrong task */
#define IFF_CANTOPENFILE 16 /* File not found */
#define IFF_READERROR 17 /* Error reading file */
#define IFF_NOMEM 18 /* Not enough memory */
#define IFF_NOTIFF 19 /* File is not an IFF file */
#define IFF_WRITEERROR 20 /* Error writing file */
#define IFF_NOILBM 24 /* IFF file is not of type ILBM */
#define IFF_NOBMHD 25 /* BMHD chunk not found */
#define IFF_NOBODY 26 /* BODY chunk not found */
#define IFF_TOOMANYPLANES 27 /* BODY has more planes than BitMap */
#define IFF_UNKNOWNCOMPRESSION 28 /* Unknown compression type */
/************** S T R U C T U R E S *************************************/
struct Chunk
{
LONG ckID;
LONG ckSize;
UBYTE ckData[1]; /* should be UBYTE ckData[ckSize] */
};
struct BitMapHeader
{
UWORD w,h;
WORD x,y;
UBYTE nPlanes;
UBYTE masking;
UBYTE compression;
UBYTE pad1;
UWORD transparentColor;
UBYTE xAspect,yAspect;
WORD pageWidth,pageHeight;
};
/************** F U N C T I O N D E C L A R A T I O N S ***************/
APTR OpenIFF();
void CloseIFF();
struct Chunk *FindChunk();
LONG GetColorTab();
struct BitMapHeader *GetBMHD();
BOOL DecodePic();
BOOL SaveBitMap();
BOOL SaveClip();
LONG IffError();
UWORD GetViewModes();
APTR NewOpenIFF();
#endif !LIBRARIES_IFF_H