Blame


1 05a4d855 2007-03-26 devnull #undef pipe
2 05a4d855 2007-03-26 devnull
3 24c02865 2005-01-04 devnull typedef struct Document Document;
4 24c02865 2005-01-04 devnull
5 24c02865 2005-01-04 devnull struct Document {
6 24c02865 2005-01-04 devnull char *docname;
7 24c02865 2005-01-04 devnull int npage;
8 24c02865 2005-01-04 devnull int fwdonly;
9 24c02865 2005-01-04 devnull char* (*pagename)(Document*, int);
10 24c02865 2005-01-04 devnull Image* (*drawpage)(Document*, int);
11 24c02865 2005-01-04 devnull int (*addpage)(Document*, char*);
12 24c02865 2005-01-04 devnull int (*rmpage)(Document*, int);
13 24c02865 2005-01-04 devnull Biobuf *b;
14 24c02865 2005-01-04 devnull void *extra;
15 d9e047e5 2010-02-04 rsc int type;
16 24c02865 2005-01-04 devnull };
17 24c02865 2005-01-04 devnull
18 05a4d855 2007-03-26 devnull typedef struct Graphic Graphic;
19 05a4d855 2007-03-26 devnull
20 05a4d855 2007-03-26 devnull struct Graphic {
21 05a4d855 2007-03-26 devnull int type;
22 05a4d855 2007-03-26 devnull int fd;
23 05a4d855 2007-03-26 devnull char *name;
24 05a4d855 2007-03-26 devnull };
25 05a4d855 2007-03-26 devnull
26 05a4d855 2007-03-26 devnull enum {
27 05a4d855 2007-03-26 devnull Ipic,
28 05a4d855 2007-03-26 devnull Itiff,
29 05a4d855 2007-03-26 devnull Ijpeg,
30 05a4d855 2007-03-26 devnull Igif,
31 05a4d855 2007-03-26 devnull Iinferno,
32 05a4d855 2007-03-26 devnull Ifax,
33 05a4d855 2007-03-26 devnull Icvt2pic,
34 05a4d855 2007-03-26 devnull Iplan9bm,
35 05a4d855 2007-03-26 devnull Ippm,
36 05a4d855 2007-03-26 devnull Ipng,
37 05a4d855 2007-03-26 devnull Iyuv,
38 05a4d855 2007-03-26 devnull Ibmp,
39 05a4d855 2007-03-26 devnull };
40 05a4d855 2007-03-26 devnull
41 d9e047e5 2010-02-04 rsc enum {
42 d9e047e5 2010-02-04 rsc Tgfx,
43 d9e047e5 2010-02-04 rsc Tpdf,
44 d9e047e5 2010-02-04 rsc Tps,
45 d9e047e5 2010-02-04 rsc }
46 d9e047e5 2010-02-04 rsc ;
47 05a4d855 2007-03-26 devnull
48 24c02865 2005-01-04 devnull void *emalloc(int);
49 24c02865 2005-01-04 devnull void *erealloc(void*, int);
50 24c02865 2005-01-04 devnull char *estrdup(char*);
51 24c02865 2005-01-04 devnull int spawncmd(char*, char **, int, int, int);
52 24c02865 2005-01-04 devnull
53 24c02865 2005-01-04 devnull int spooltodisk(uchar*, int, char**);
54 24c02865 2005-01-04 devnull int stdinpipe(uchar*, int);
55 24c02865 2005-01-04 devnull Document *initps(Biobuf*, int, char**, uchar*, int);
56 24c02865 2005-01-04 devnull Document *initpdf(Biobuf*, int, char**, uchar*, int);
57 24c02865 2005-01-04 devnull Document *initgfx(Biobuf*, int, char**, uchar*, int);
58 24c02865 2005-01-04 devnull Document *inittroff(Biobuf*, int, char**, uchar*, int);
59 24c02865 2005-01-04 devnull Document *initdvi(Biobuf*, int, char**, uchar*, int);
60 24c02865 2005-01-04 devnull Document *initmsdoc(Biobuf*, int, char**, uchar*, int);
61 24c02865 2005-01-04 devnull
62 24c02865 2005-01-04 devnull void viewer(Document*);
63 24c02865 2005-01-04 devnull extern Cursor reading;
64 24c02865 2005-01-04 devnull extern int chatty;
65 24c02865 2005-01-04 devnull extern int goodps;
66 24c02865 2005-01-04 devnull extern int textbits, gfxbits;
67 24c02865 2005-01-04 devnull extern int reverse;
68 24c02865 2005-01-04 devnull extern int clean;
69 24c02865 2005-01-04 devnull extern int ppi;
70 24c02865 2005-01-04 devnull extern int teegs;
71 24c02865 2005-01-04 devnull extern int truetoboundingbox;
72 24c02865 2005-01-04 devnull extern int wctlfd;
73 24c02865 2005-01-04 devnull extern int resizing;
74 24c02865 2005-01-04 devnull extern int mknewwindow;
75 d9e047e5 2010-02-04 rsc extern int fitwin;
76 24c02865 2005-01-04 devnull
77 24c02865 2005-01-04 devnull void rot180(Image*);
78 24c02865 2005-01-04 devnull Image *rot90(Image*);
79 17157e4a 2006-03-20 devnull Image *rot270(Image*);
80 24c02865 2005-01-04 devnull Image *resample(Image*, Image*);
81 24c02865 2005-01-04 devnull
82 24c02865 2005-01-04 devnull /* ghostscript interface shared by ps, pdf */
83 24c02865 2005-01-04 devnull typedef struct GSInfo GSInfo;
84 d9e047e5 2010-02-04 rsc typedef struct PDFInfo PDFInfo;
85 d9e047e5 2010-02-04 rsc typedef struct Page Page;
86 d9e047e5 2010-02-04 rsc typedef struct PSInfo PSInfo;
87 24c02865 2005-01-04 devnull struct GSInfo {
88 05a4d855 2007-03-26 devnull Graphic g;
89 24c02865 2005-01-04 devnull int gsfd;
90 24c02865 2005-01-04 devnull Biobuf gsrd;
91 24c02865 2005-01-04 devnull int gspid;
92 24c02865 2005-01-04 devnull int ppi;
93 24c02865 2005-01-04 devnull };
94 d9e047e5 2010-02-04 rsc struct PDFInfo {
95 d9e047e5 2010-02-04 rsc GSInfo gs;
96 d9e047e5 2010-02-04 rsc Rectangle *pagebbox;
97 d9e047e5 2010-02-04 rsc };
98 d9e047e5 2010-02-04 rsc struct Page {
99 d9e047e5 2010-02-04 rsc char *name;
100 d9e047e5 2010-02-04 rsc int offset; /* offset of page beginning within file */
101 d9e047e5 2010-02-04 rsc };
102 d9e047e5 2010-02-04 rsc struct PSInfo {
103 d9e047e5 2010-02-04 rsc GSInfo gs;
104 d9e047e5 2010-02-04 rsc Rectangle bbox; /* default bounding box */
105 d9e047e5 2010-02-04 rsc Page *page;
106 d9e047e5 2010-02-04 rsc int npage;
107 d9e047e5 2010-02-04 rsc int clueless; /* don't know where page boundaries are */
108 d9e047e5 2010-02-04 rsc long psoff; /* location of %! in file */
109 d9e047e5 2010-02-04 rsc char ctm[256];
110 d9e047e5 2010-02-04 rsc };
111 d9e047e5 2010-02-04 rsc
112 24c02865 2005-01-04 devnull void waitgs(GSInfo*);
113 24c02865 2005-01-04 devnull int gscmd(GSInfo*, char*, ...);
114 17157e4a 2006-03-20 devnull int spawngs(GSInfo*, char*);
115 24c02865 2005-01-04 devnull void setdim(GSInfo*, Rectangle, int, int);
116 24c02865 2005-01-04 devnull int spawnwriter(GSInfo*, Biobuf*);
117 24c02865 2005-01-04 devnull Rectangle screenrect(void);
118 24c02865 2005-01-04 devnull void newwin(void);
119 24c02865 2005-01-04 devnull void zerox(void);
120 24c02865 2005-01-04 devnull Rectangle winrect(void);
121 24c02865 2005-01-04 devnull void resize(int, int);
122 24c02865 2005-01-04 devnull int max(int, int);
123 24c02865 2005-01-04 devnull int min(int, int);
124 24c02865 2005-01-04 devnull void wexits(char*);
125 24c02865 2005-01-04 devnull Image* xallocimage(Display*, Rectangle, ulong, int, ulong);
126 24c02865 2005-01-04 devnull int bell(void*, char*);
127 05a4d855 2007-03-26 devnull Image* convert(Graphic *g);
128 b3453e08 2009-08-10 fshahriar Image* cachedpage(Document*, int, int);
129 b3453e08 2009-08-10 fshahriar void cacheflush(void);
130 d9e047e5 2010-02-04 rsc void fit(void);
131 24c02865 2005-01-04 devnull
132 2fb0c444 2009-08-20 jrm8005 extern char tempfile[40];
133 2fb0c444 2009-08-20 jrm8005
134 24c02865 2005-01-04 devnull extern int stdinfd;
135 24c02865 2005-01-04 devnull extern int truecolor;
136 24c02865 2005-01-04 devnull
137 2fb0c444 2009-08-20 jrm8005
138 24c02865 2005-01-04 devnull /* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
139 24c02865 2005-01-04 devnull * or in vncs, and there is a bug in the kernel for copying images
140 24c02865 2005-01-04 devnull * from cpu memory -> video memory (memmove is not being used).
141 24c02865 2005-01-04 devnull * until all that is settled, ignore the draw operators.
142 24c02865 2005-01-04 devnull */
143 24c02865 2005-01-04 devnull #define drawop(a,b,c,d,e,f) draw(a,b,c,d,e)
144 24c02865 2005-01-04 devnull #define gendrawop(a,b,c,d,e,f,g) gendraw(a,b,c,d,e,f)