Blob


1 typedef struct Document Document;
3 struct Document {
4 char *docname;
5 int npage;
6 int fwdonly;
7 char* (*pagename)(Document*, int);
8 Image* (*drawpage)(Document*, int);
9 int (*addpage)(Document*, char*);
10 int (*rmpage)(Document*, int);
11 Biobuf *b;
12 void *extra;
13 };
15 void *emalloc(int);
16 void *erealloc(void*, int);
17 char *estrdup(char*);
18 int spawncmd(char*, char **, int, int, int);
20 int spooltodisk(uchar*, int, char**);
21 int stdinpipe(uchar*, int);
22 Document *initps(Biobuf*, int, char**, uchar*, int);
23 Document *initpdf(Biobuf*, int, char**, uchar*, int);
24 Document *initgfx(Biobuf*, int, char**, uchar*, int);
25 Document *inittroff(Biobuf*, int, char**, uchar*, int);
26 Document *initdvi(Biobuf*, int, char**, uchar*, int);
27 Document *initmsdoc(Biobuf*, int, char**, uchar*, int);
29 void viewer(Document*);
30 extern Cursor reading;
31 extern int chatty;
32 extern int goodps;
33 extern int textbits, gfxbits;
34 extern int reverse;
35 extern int clean;
36 extern int ppi;
37 extern int teegs;
38 extern int truetoboundingbox;
39 extern int wctlfd;
40 extern int resizing;
41 extern int mknewwindow;
43 void rot180(Image*);
44 Image *rot90(Image*);
45 Image *rot270(Image*);
46 Image *resample(Image*, Image*);
48 /* ghostscript interface shared by ps, pdf */
49 typedef struct GSInfo GSInfo;
50 struct GSInfo {
51 int gsfd;
52 Biobuf gsrd;
53 int gspid;
54 int gsdfd;
55 int ppi;
56 };
57 void waitgs(GSInfo*);
58 int gscmd(GSInfo*, char*, ...);
59 int spawngs(GSInfo*, char*);
60 void setdim(GSInfo*, Rectangle, int, int);
61 int spawnwriter(GSInfo*, Biobuf*);
62 Rectangle screenrect(void);
63 void newwin(void);
64 void zerox(void);
65 Rectangle winrect(void);
66 void resize(int, int);
67 int max(int, int);
68 int min(int, int);
69 void wexits(char*);
70 Image* xallocimage(Display*, Rectangle, ulong, int, ulong);
71 int bell(void*, char*);
72 int opentemp(char *template);
74 extern int stdinfd;
75 extern int truecolor;
77 /* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
78 * or in vncs, and there is a bug in the kernel for copying images
79 * from cpu memory -> video memory (memmove is not being used).
80 * until all that is settled, ignore the draw operators.
81 */
82 #define drawop(a,b,c,d,e,f) draw(a,b,c,d,e)
83 #define gendrawop(a,b,c,d,e,f,g) gendraw(a,b,c,d,e,f)