home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / Tex29 / StTeXsrc.zoo / src / dvi.h < prev    next >
Text File  |  1988-03-13  |  3KB  |  110 lines

  1.  
  2. /*
  3.  * @(#)dvi.h 2.6 EPA
  4.  *
  5.  * Copyright 1987,1988 Pat J Monardo
  6.  *
  7.  * Redistribution of this file is permitted through
  8.  * the specifications in the file COPYING.
  9.  *
  10.  * 
  11.  */
  12.  
  13. global  byte_file   dvi_file;
  14. global  str         dvi_name;
  15.  
  16. #define SET_CHAR_0      0
  17. #define SET1            128
  18. #define SET_RULE        132
  19. #define PUT1            133
  20. #define PUT_RULE        137
  21. #define NOP             138
  22. #define BOP             139
  23. #define EOP             140
  24. #define PUSH            141
  25. #define POP             142
  26. #define RIGHT1          143
  27. #define W0              147
  28. #define W1              148
  29. #define X0              152
  30. #define X1              153
  31. #define DOWN1           157
  32. #define Y0              161
  33. #define Y1              162
  34. #define Z0              166
  35. #define Z1              167
  36. #define FNT_NUM_0       171
  37. #define FNT1            235
  38. #define XXX1            239
  39. #define XXX4            242
  40. #define FNT_DEF1        243
  41. #define PRE             247
  42. #define POST            248
  43. #define POST_POST       249
  44. #define ID_BYTE         2
  45.  
  46. global  qword       c;
  47. global  qword       f;
  48. global  ptr         g;
  49. global  int         dead_cycles;
  50. global  bool        doing_leaders;
  51. global  val         last_bop;
  52. global  val         lq;
  53. global  val         lr;
  54. global  val         lx;
  55. global  scal        max_h;
  56. global  scal        max_v;
  57. global  int         max_push;
  58. global  scal        rule_ht;
  59. global  scal        rule_dp;
  60. global  scal        rule_wd;
  61.  
  62. global  fnt         dvi_f;
  63. global  scal        dvi_h;
  64. global  scal        dvi_v;
  65. global  scal        cur_h;
  66. global  scal        cur_v;
  67. global  int         cur_s;
  68.  
  69. global  ptr         down_ptr;
  70. global  ptr         right_ptr;
  71.  
  72. global  byte        dvi_buf[];
  73. global  ptr         dvi_limit; 
  74. global  ptr         dvi_ptr;
  75. global  val         dvi_offset;
  76. global  val         dvi_gone;
  77. global  bool        output_active;
  78. global  int         total_pages;
  79.     
  80. #define MOVEMENT_NODE_SIZE      3
  81. #define location(L)             mem[L + 2].i
  82.  
  83. #define synch_h() \
  84.     {if (cur_h != dvi_h) \
  85.         {movement(cur_h - dvi_h, RIGHT1); dvi_h = cur_h;}}
  86.  
  87. #define synch_v() \
  88.     {if (cur_v != dvi_v) \
  89.         {movement(cur_v - dvi_v, DOWN1); dvi_v = cur_v;}}
  90.  
  91. #define dvi_out(B) \
  92.     {dvi_buf[dvi_ptr] = B; \
  93.     incr(dvi_ptr); \
  94.     if (dvi_ptr == dvi_limit) \
  95.         dvi_swap();}
  96.  
  97. #define write_dvi(a, b) \
  98.     {fwrite(&dvi_buf[a], sizeof(dvi_buf[0]), b - a, dvi_file);}
  99.  
  100.  
  101. int     dvi_swap();
  102. int     dvi_four();
  103. int     dvi_pop();
  104. int     dvi_font_def();
  105. int     movement();
  106. int     prune_movements();
  107. int     hlist_out();
  108. int     vlist_out();
  109. int     ship_out();
  110.