1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
/* -------------------------- 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 */
|