page.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. Document *initmsdoc(Biobuf*, int, char**, uchar*, int);
  25. void viewer(Document*);
  26. extern Cursor reading;
  27. extern int chatty;
  28. extern int goodps;
  29. extern int textbits, gfxbits;
  30. extern int reverse;
  31. extern int clean;
  32. extern int ppi;
  33. extern int teegs;
  34. extern int truetoboundingbox;
  35. extern int wctlfd;
  36. extern int resizing;
  37. extern int mknewwindow;
  38. void rot180(Image*);
  39. Image *rot90(Image*);
  40. Image *resample(Image*, Image*);
  41. /* ghostscript interface shared by ps, pdf */
  42. typedef struct GSInfo GSInfo;
  43. struct GSInfo {
  44. int gsfd;
  45. Biobuf gsrd;
  46. int gspid;
  47. int gsdfd;
  48. int ppi;
  49. };
  50. void waitgs(GSInfo*);
  51. int gscmd(GSInfo*, char*, ...);
  52. int spawngs(GSInfo*);
  53. void setdim(GSInfo*, Rectangle, int, int);
  54. int spawnwriter(GSInfo*, Biobuf*);
  55. Rectangle screenrect(void);
  56. void newwin(void);
  57. void zerox(void);
  58. Rectangle winrect(void);
  59. void resize(int, int);
  60. int max(int, int);
  61. int min(int, int);
  62. void wexits(char*);
  63. Image* xallocimage(Display*, Rectangle, ulong, int, ulong);
  64. int bell(void*, char*);
  65. int opentemp(char *template);
  66. extern int stdinfd;
  67. extern int truecolor;
  68. /* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
  69. * or in vncs, and there is a bug in the kernel for copying images
  70. * from cpu memory -> video memory (memmove is not being used).
  71. * until all that is settled, ignore the draw operators.
  72. */
  73. #define drawop(a,b,c,d,e,f) draw(a,b,c,d,e)
  74. #define gendrawop(a,b,c,d,e,f,g) gendraw(a,b,c,d,e,f)