home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / unix / unix_mw2.sha / dvi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1985-04-26  |  1.9 KB  |  106 lines

  1. #define    MAX_WORDS    (200)        /* 200 words per paragraph */
  2.  
  3. /*
  4.  *    dvi specific definitions
  5.  */
  6. #define    pt_per_in    (72)
  7. #define    sp_per_pt    (1<<16)
  8.  
  9. #define    scale_num    (25400000)    /* scaling factor - sp to 10e-7 m. */
  10. #define    scale_denom    (473628672)
  11.  
  12. #define    TEX_ID        (2)        /* TeX version 2 */
  13.  
  14.  
  15. #define    WD_WORD    (0x01)
  16. #define    WD_TAB    (0x02)
  17. #define    WD_DTAB (0x04)
  18. #define    WD_UL    (0x08)
  19.  
  20. #define    TABMAX    10            /* can you believe this? */
  21.  
  22.  
  23.  
  24. #define    SET0    0
  25. #define    PUT1    133
  26. #define    PUTRULE    137
  27. #define    NOP    138
  28. #define    BOP    139
  29. #define    EOP    140
  30. #define    PUSH    141
  31. #define    POP    142
  32. #define    RIGHT1    143
  33. #define    RIGHT2    144
  34. #define    RIGHT3    145
  35. #define    RIGHT4    146
  36. #define    W0    147
  37. #define    W1    148
  38. #define    X0    152
  39. #define    X1    153
  40. #define    X2    154
  41. #define    X3    155
  42. #define    X4    156
  43. #define    DOWN1    157
  44. #define    DOWN2    158
  45. #define    DOWN3    159
  46. #define    DOWN4    160
  47. #define    Y0    161
  48. #define    Y1    162
  49. #define    Y2    163
  50. #define    Y3    164
  51. #define    Y4    165
  52. #define    Z0    166
  53. #define    Z1    167
  54. #define    FONT0    171
  55. #define    FONT1    235
  56. #define    XXX1    239
  57. #define    DFONT1    243
  58. #define    PRE    247
  59. #define    POST    248
  60. #define    POSTPOST 249
  61.  
  62.  
  63. #define    pt_to_sp(x)    ((x) * sp_per_pt)
  64. #define    mpt_to_sp(x)    (pt_to_sp(x)/1000)
  65. #define    min_to_sp(x)    (pt_to_sp( (((x) * pt_per_in) / 1000) ))
  66. #define    fix_to_sp(x)    (((x>>3)+1)>>1)
  67. #define    pix_to_sp(x)    pt_to_sp((((double)x) / 80) * pt_per_in)
  68.  
  69. #define    sp_to_in(x)    ((((double)x) / sp_per_pt) / pt_per_in )
  70.  
  71. #define    out4(v)        (out( outfd, 4, (long)(v) ))
  72. #define    out3(v)        (out( outfd, 3, (long)(v) ))
  73. #define    out2(v)        (out( outfd, 2, (long)(v) ))
  74. #define    out1(v)        (out( outfd, 1, (long)(v) ))
  75.  
  76. #define    outcmd(c)    (out1(c))
  77.  
  78. /*
  79.  *    type defininitions
  80.  */
  81.  
  82. typedef    struct
  83.     {
  84.     short    wd_flags;
  85.     SP    wd_length;
  86.     int    wd_pos;        
  87.     int    wd_end;    
  88.     } WORD;
  89. #define    wd_tabcnt    wd_pos
  90.  
  91. typedef struct
  92.     {
  93.     SP    p_h;        /* current horizontal position */
  94.     SP    p_v;        /* current vertical position */
  95.     SP    p_w;        /* delta */
  96.     SP    p_x;        /* delta */
  97.     SP    p_y;        /* delta */
  98.     SP    p_z;        /* delta */
  99.     } POS;
  100.  
  101. /*
  102.  *    external variables
  103.  */
  104.  
  105. extern    FILE    * outfd;
  106.