home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / globvars.h < prev    next >
C/C++ Source or Header  |  1994-09-29  |  8KB  |  190 lines

  1. /* This file defines all useful external variables. It's automatically */
  2. /* included by globals.h, thus every module includes it too. */
  3.  
  4. #ifndef MAIN
  5. #define EX extern
  6. #else
  7. #define EX
  8. #endif
  9.  
  10. #include <dos/dos.h>
  11.  
  12. /**********************************************************************/
  13. /*************************  Global Variables  *************************/
  14. /**********************************************************************/
  15.  
  16. #ifndef DISPLAY
  17.             /*   -------    Globals only in DVIprint  ---------    */
  18.  
  19. EX long     bufflen;        /* printergraphics line buffer        */
  20. EX char    *o_printer_name;    /* which printer?            */
  21. EX long     last_form_feed;    /* a FormFeed at the last page?     */
  22. EX long     o_optimize;        /* Optimize printer ouput option    */
  23. EX long     Reverse;        /* process DVI pages in reverse order ? */
  24. EX long  unidirect;        /* print direction for hardcopy     */
  25. EX long  draft;            /* quality for hardcopy         */
  26. EX char *output_file_name;    /* name of the output file        */
  27. EX short full_page_in_ram;    /* must the whole page-bitmap into ram? */
  28. EX short print_page_numbers;    /* print: 0=all, 1=odd, 2=even page nrs */
  29. EX short print_width;        /* nr of lines printed per pass     */
  30. EX short nr_printed_pages;    /* how much pages are printed        */
  31. EX long  o_showprinter;        /* show printer definition file        */
  32. EX long     do_accounting;        /* should I do accounting        */
  33.  
  34. EX FILE    *output_file_ptr;    /* output file pointer            */
  35. EX long     ncopies;        /* number of copies to print        */
  36. EX long  NrOfPagesToPrint;    /* number of pages to print        */
  37. EX long  PhyPageNumbers;    /* from/to are physical numbers        */
  38.  
  39. EX long  bookmode;        /* bookmode (not implemented)           */
  40.  
  41. EX long  usegui;        /* open a GUI                 */
  42. EX ULONG GUIsignals;        /* signal mask for the GUI        */
  43.  
  44. /*    Schau, was Du hier loeschen kannst.    */
  45. #if 0
  46.  #if 0
  47.  EX int     g_logfile;        /* Are these messages going to a log file? */
  48.  #endif
  49. EX int     printer_type;        /* printer-type for hardcopy        */
  50. EX int     output_to_file;    /* should output redirected to a file    */
  51. EX int     bitsperlong;
  52. EX int     g_errenc;        /* has an error been encountered?    */
  53. #endif
  54.  
  55. #ifdef AMIGA
  56. EX long     o_density;        /* preferences printer density        */
  57. EX long  iffprint;        /* print to iff-file            */
  58. EX long  turbo_mode;        /* print in TURBO mode?         */
  59. EX short os_2;            /* do we work with AMIGA OS 2.0 or greater */
  60. #endif /* AMIGA */
  61.  
  62.  
  63.  
  64. #else /* DISPLAY */
  65.             /* -----------    Globals only in ShowDVI      ------------    */
  66.  
  67. EX FILE *pkfile;
  68. EX long     bytestoread;
  69. EX long  max_page_number;    /* max. number of pages in the actual file */
  70. EX long  current_page;            /* number of the actual page *//*hes:CurrentPage gibt es auch noch !*/
  71. EX short corrupt;        /* DVI file corrupted              */
  72. EX short use_phy_number;    /* use phy numbers insteat of logical */
  73.  
  74. EX WORD Page_LeftPoint;        /* Eck-Koordinaten der dargestellten Seite */
  75. EX WORD Page_RightPoint;
  76. EX WORD Page_TopPoint;
  77. EX WORD Page_BottomPoint;
  78.  
  79. EX short AddXpixel;        /* wieviele Pixel kommen auf Alignment-Gruende zur Bitmap hinzu... */
  80.  
  81. EX short InSearchMode;        /* wird gerade nur gesucht? Wichtig fuer SetChar() */
  82. EX long  SearchStartPage;
  83. EX long  SearchFoundPage;
  84.  
  85. #include <graphics/gfx.h>
  86. EX struct Rectangle * SearchRect;    /* wenn etwas gefunden wurde, dann steht dort wo */
  87. EX struct Rectangle * SearchFoundRect;    /* da wird es bis zum Ende der Seite gespeichert */
  88.  
  89. #endif /* DISPLAY */
  90.  
  91.  
  92.  
  93.         /*   ------------    Globals to both programs  -----------    */
  94.  
  95. EX long     current_page_phy;    /* number of the actual physical page */
  96. EX char       * ArgPubname;        /* PubScreen Name als Argument         */
  97.  
  98. EX char         filename[STRSIZE];    /* DVI file name (with path)        */
  99. EX char         dirname[STRSIZE];    /* current path of DVI file        */
  100. EX char       * g_progname;        /* program name    (*not* an array!)    */
  101. EX int          MaxDviBufSize;        /* should the DVI-File copied int RAM    */
  102. EX DVIFILE    * dvifp;             /* DVI file pointer            */
  103. EX struct DateStamp dvidatestamp;    /* Zeit des DVIfiles            */
  104. EX FILE          * g_logfp;        /* log file pointer (for errors)        */
  105. EX long         g_authors;        /* print author names            */
  106. EX long         FirstPage;        /* first page to print (uses count0)    */
  107. EX long         LastPage;        /* last page to print            */
  108. EX long         CurrentPage;        /* the current page number        */
  109. EX long         NumOfPages;        /* number of pages in DVI-file        */
  110. EX long         PreLoad;        /* preload the font descriptions?    */
  111. EX long         resolution;        /* resolution                */
  112. EX int         hconvresolution;
  113. EX int         vconvresolution;
  114. EX int         hmaxdrift;        /* max pixels away from true rounded position */
  115. EX int         vmaxdrift;        /* max pixels away from true rounded position */
  116. EX int         thinspace;        /* needet in dvihand.c for rounding    */
  117. EX int         backspace;
  118. EX int         vertsmallspace;    /* also ^^                */
  119. EX int         bytesperlong;
  120. EX double     alpha;        /* conversion ratio, DVI unit per TFM unit */
  121. EX long         den;            /* denominator specified in preamble    */
  122. EX long      h;            /* current horizontal position        */
  123. EX long      hh;            /* current h on device            */
  124. EX long      v;            /* current vertical position        */
  125. EX long      vv;            /* current v on device            */
  126. EX long      mag;            /* magnification specified in preamble    */
  127. EX long      num;            /* numerator specified in preamble    */
  128. EX int       pheight_pt;            /* real height in pt            */
  129. EX int       pwidth_pt;            /* real width in pt            */
  130. EX int         hoffset, voffset;    /* h. and vert. page offset in pixel    */
  131. EX long         paper_height, paper_width;
  132. EX float    user_paper_height_in, user_paper_width_in;
  133. EX long         hconv, vconv;        /* converts DVI units to pixels     */
  134. EX long      ppagep;        /* previous page pointer        */
  135. EX long      postambleptr;        /* Pointer to the postamble        */
  136. EX char          * PXLpath;        /* new pxl-area ('FONTDIR')        */
  137. EX long         fontmemsize;
  138. EX long         maxbitmapsize;        /* maximal size of bitmap        */
  139. EX long         g_quiet;        /* for quiet operation            */
  140. EX long        mark_fonts;        /* markiere alle benoetigten Fonts      */
  141. EX long      Stats;            /* more output to log file        */
  142. EX long      DebugStats;        /* flush stats file            */
  143. EX char          * g_Logname;        /* name of log file, if created     */
  144. EX int        g_logging;        /* Are we logging ?            */
  145. EX long         ToDo;            /* libs/devices/files to process,    */
  146.                 /* see flags in globals.h        */
  147.  
  148. EX long         landscape;        /* print in landscape modus?        */
  149. EX long        twopage;        /* two pages at once            */
  150. EX long        leftpage;        /* current page leftpage of twopage?    */
  151.  
  152. EX long        start_specialhost;    /* start specialhost automatically    */
  153.  
  154. EX float    moffset_in_fix;        /* twopage mid-offset            */
  155. EX int        moffset_is_true;
  156. EX float    moffset_in;        /* mid-offset in inch            */
  157. EX int        moffset;        /* moffset in pixel            */
  158.  
  159.  
  160. /* Die zwei folgenden Variablen halten den h/v-offset, so wie er eingegeben wurde. */
  161. EX float hoffset_in_fix;    /* hoffset in inch            */
  162. EX float voffset_in_fix;    /* voffset in inch            */
  163. EX int   hoffset_is_true;    /* hoffset in true inch            */
  164. EX int   voffset_is_true;    /* hoffset in true inch            */
  165.  
  166. /* Das ist der jeweils geltende h/v-offset, angepasst an die Magnification.    */
  167. EX float hoffset_in;        /* hoffset in inch            */
  168. EX float voffset_in;        /* voffset in inch            */
  169.  
  170.  
  171. /* Folgende zwei Variablen legen den (0,0) Punkt innerhalb der Bitmap fest         */
  172. /* Die Werte werden beim Zeichnen der Buchstaben/Linien, sowie bei den Bildern benoetigt */
  173. /* Gesetzt werden sie laut den hoff/voff. Besonderer Fall ist bei twoup. Dort wird     */
  174. /* der Wert je nach linker/rechter Seite geaendert.                     */
  175. EX long  OffsetBitmap_X;
  176. EX long  OffsetBitmap_Y;
  177.  
  178. #ifdef DEBUG
  179. EX   int DeBug;
  180. #endif
  181.  
  182. #ifdef AMIGA
  183. EX int Enable_Abort;        /* Ctrl-C --> _abort            */
  184. EX long task_priority;
  185. EX long old_task_priority;
  186. #endif
  187.  
  188. /*    Schau, was Du hier loeschen kannst.    */
  189. EX char m_string[STRSIZE];    /* messagestring for warnings and fatal errors */
  190.