/* -------------------------- psimage.h ------------------------- */ #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #ifdef min #undef min #endif #define min(a, b) ((a) < (b) ? (a) : (b)) typedef int BOOL; /* Simple prototype macros for K&R and ANSI-C */ #ifdef KNR #define P0(v) () #define P1(t1, p1) (p1) t1 p1 #define P2(t1, p1, t2, p2) (p1, p2) t1 p1; t2 p2 #define P3(t1, p1, t2, p2, t3, p3) (p1, p2, p3) t1 p1; t2 p2; t3 p3 #else #define P0(v) (void) #define P1(t1, p1) (t1 p1) #define P2(t1, p1, t2, p2) (t1 p1, t2 p2) #define P3(t1, p1, t2, p2, t3, p3) (t1 p1, t2 p2, t3 p3) #endif /* data output mode: binary, ascii85, hex-ascii */ typedef enum { BINARY, ASCII85, ASCIIHEX } DATAMODE; typedef struct { FILE *fp; /* file pointer for jpeg file */ char *filename; /* name of image file */ int width; /* pixels per line */ int height; /* rows */ int components; /* number of color components */ int bits_per_component; /* bits per color component */ float dpi; /* image resolution in dots per inch */ DATAMODE mode; /* output mode: 8bit, ascii, ascii85 */ long startpos; /* offset to jpeg data */ BOOL landscape; /* rotate image to landscape mode? */ BOOL adobe; /* image includes Adobe comment marker */ } imagedata; #define DPI_IGNORE -1.0 /* dummy value for imagedata.dpi */ #define DPI_USE_FILE 0.0 /* dummy value for imagedata.dpi */