]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/page/page.h
merge
[plan9front.git] / sys / src / cmd / page / page.h
1 typedef struct Document Document;
2
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 };
14
15 void *emalloc(int);
16 void *erealloc(void*, int);
17 char *estrdup(char*);
18 int spawncmd(char*, char **, int, int, int);
19
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);
28
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;
42
43 void rot180(Image*);
44 Image *rot90(Image*);
45 Image *rot270(Image*);
46 Image *resample(Image*, Image*);
47
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);
73 Image*  cachedpage(Document*, int, int);
74 void    cacheflush(void);
75
76 extern int stdinfd;
77 extern int truecolor;
78
79 /* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
80  * or in vncs, and there is a bug in the kernel for copying images
81  * from cpu memory -> video memory (memmove is not being used).
82  * until all that is settled, ignore the draw operators.
83  */
84 #define drawop(a,b,c,d,e,f) draw(a,b,c,d,e)
85 #define gendrawop(a,b,c,d,e,f,g) gendraw(a,b,c,d,e,f)