page.h 2.0 KB

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