/*
 *
 */
 
#define RowBytes(cols)		( ( ( (int)(cols) + 15 ) / 16 ) * 2 )

/* definitions for BMHD */

struct BitMapHeader
{
    unsigned short w, h;
    short x, y;
    unsigned char nPlanes, masking, compression, pad1;
    unsigned short transparentColor;
    unsigned char xAspect, yAspect;
    short pageWidth, pageHeight;
};

#define mskNone			0
#define mskHasMask		1
#define mskHasTransparentColor	2
#define mskLasso		3

#define cmpNone			0
#define cmpByteRun1		1

#define ID_ILBM			MAKE_ID('I','L','B','M')
#define ID_CMAP			MAKE_ID('C','M','A','P')
#define ID_BMHD                 MAKE_ID('B','M','H','D')
#define ID_BODY                 MAKE_ID('B','O','D','Y')

/* A4 paper is 8.4" x 11.7". */
#ifdef DINA4
#define WIDTH_10THS 84
#define HEIGHT_10THS 117
#else
#define WIDTH_10THS 85 
#define HEIGHT_10THS 110
#endif
#undef DINA4


/* 
 * protos
 */
struct Library *OpenLibrary( UBYTE *libName, unsigned long version );
void CloseLibrary( struct Library *library );
BPTR Open( UBYTE *name, long accessMode );
LONG Close( BPTR file );

/* 
 * device operations
 */
#define bdev  ((ilbm_device *)pdev)

#define SETRGB(r,g,b) {\
 bdev->palette[bdev->ncols][0]=r;\
 bdev->palette[bdev->ncols][1]=g;\
 bdev->palette[bdev->ncols][2]=b;\
 bdev->ncols++;}

