aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/page/page.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/page/page.h')
-rw-r--r--src/cmd/page/page.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/cmd/page/page.h b/src/cmd/page/page.h
new file mode 100644
index 00000000..aa19ff71
--- /dev/null
+++ b/src/cmd/page/page.h
@@ -0,0 +1,84 @@
+#include <cursor.h>
+
+typedef struct Document Document;
+
+struct Document {
+ char *docname;
+ int npage;
+ int fwdonly;
+ char* (*pagename)(Document*, int);
+ Image* (*drawpage)(Document*, int);
+ int (*addpage)(Document*, char*);
+ int (*rmpage)(Document*, int);
+ Biobuf *b;
+ void *extra;
+};
+
+void *emalloc(int);
+void *erealloc(void*, int);
+char *estrdup(char*);
+int spawncmd(char*, char **, int, int, int);
+
+int spooltodisk(uchar*, int, char**);
+int stdinpipe(uchar*, int);
+Document *initps(Biobuf*, int, char**, uchar*, int);
+Document *initpdf(Biobuf*, int, char**, uchar*, int);
+Document *initgfx(Biobuf*, int, char**, uchar*, int);
+Document *inittroff(Biobuf*, int, char**, uchar*, int);
+Document *initdvi(Biobuf*, int, char**, uchar*, int);
+Document *initmsdoc(Biobuf*, int, char**, uchar*, int);
+
+void viewer(Document*);
+extern Cursor reading;
+extern int chatty;
+extern int goodps;
+extern int textbits, gfxbits;
+extern int reverse;
+extern int clean;
+extern int ppi;
+extern int teegs;
+extern int truetoboundingbox;
+extern int wctlfd;
+extern int resizing;
+extern int mknewwindow;
+
+void rot180(Image*);
+Image *rot90(Image*);
+Image *resample(Image*, Image*);
+
+/* ghostscript interface shared by ps, pdf */
+typedef struct GSInfo GSInfo;
+struct GSInfo {
+ int gsfd;
+ Biobuf gsrd;
+ int gspid;
+ int gsdfd;
+ int ppi;
+};
+void waitgs(GSInfo*);
+int gscmd(GSInfo*, char*, ...);
+int spawngs(GSInfo*);
+void setdim(GSInfo*, Rectangle, int, int);
+int spawnwriter(GSInfo*, Biobuf*);
+Rectangle screenrect(void);
+void newwin(void);
+void zerox(void);
+Rectangle winrect(void);
+void resize(int, int);
+int max(int, int);
+int min(int, int);
+void wexits(char*);
+Image* xallocimage(Display*, Rectangle, ulong, int, ulong);
+int bell(void*, char*);
+int opentemp(char *template);
+
+extern int stdinfd;
+extern int truecolor;
+
+/* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
+ * or in vncs, and there is a bug in the kernel for copying images
+ * from cpu memory -> video memory (memmove is not being used).
+ * until all that is settled, ignore the draw operators.
+ */
+#define drawop(a,b,c,d,e,f) draw(a,b,c,d,e)
+#define gendrawop(a,b,c,d,e,f,g) gendraw(a,b,c,d,e,f)