summaryrefslogtreecommitdiff
path: root/Build/source/texk/psutils/psutils-src/psspec.h
blob: 5764cf74f2f331d8ac648670060016ba3ea2b3c4 (plain)
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
/* psspec.h
 * Page spec routines for page rearrangement
 *
 * (c) Reuben Thomas 2012
 * (c) Angus J. C. Duggan 1991-1997
 * See file LICENSE for details.
 */

/* pagespec flags */
#define ADD_NEXT (0x01)
#define ROTATE   (0x02)
#define HFLIP    (0x04)
#define VFLIP    (0x08)
#define SCALE    (0x10)
#define OFFSET   (0x20)
#define REVERSED (0x40)
#define GSAVE    (ROTATE|HFLIP|VFLIP|SCALE|OFFSET)

typedef struct pagespec {
   int pageno, flags, rotate;
   double xoff, yoff, scale;
   struct pagespec *next;
} PageSpec ;

extern double width, height; /* Width and height of paper in PostScript pt */

extern PageSpec *newspec(void);
extern int parseint(char **sp);
extern double parsedouble(char **sp);
extern double parsedimen(char **sp);
extern double singledimen(char *str);
extern void pstops(int modulo, int pps, int nobind, PageSpec *specs,
		   double draw);
extern void pstops_write(int modulo, int pps, int nobind, PageSpec *specs,
                         double draw, off_t *ignorelist);