home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / SpecHost / Parse.h < prev    next >
C/C++ Source or Header  |  1994-10-07  |  2KB  |  108 lines

  1. /*
  2. **    SpecialHost for PasTeX
  3. **
  4. **    Copyright © by Olaf Barthel & Georg Heßmann
  5. */
  6.  
  7. /*
  8. ** Parse.h
  9. **
  10. ** latest revision: 4 Oct 1994, by Giuseppe Ghibò
  11. **
  12. */
  13.  
  14. #define STRSIZE 256
  15.  
  16. /* Modes */
  17.  
  18. enum    {    BandW,FS,Burkes,Sierra,JJN,Stucki,BlueNoise,Ordered,Halftone,
  19.         RandomNoise,BckBrick,FwdBrick,Hexagon,SpiralDot,Horizontal,
  20.         StevensonArce
  21.     };
  22.  
  23. #define GOT_LLX        (1L << 0)
  24. #define GOT_LLY        (1L << 1)
  25. #define GOT_URX        (1L << 2)
  26. #define GOT_URY        (1L << 3)
  27. #define GOT_RWI        (1L << 4)
  28. #define GOT_RHI        (1L << 5)
  29. #define GOT_ANGLE    (1L << 6)
  30. #define GOT_HSIZE    (1L << 7)
  31. #define GOT_VSIZE    (1L << 8)
  32. #define GOT_HSCALE    (1L << 9)
  33. #define GOT_VSCALE    (1L << 10)
  34. #define GOT_SCALE    (1L << 11)
  35. #define GOT_HOFFSET    (1L << 12)
  36. #define GOT_VOFFSET    (1L << 13)
  37. #define GOT_CLIP    (1L << 14)
  38.  
  39. #define SUFFICIENT_PS_ARGS (GOT_LLX | GOT_LLY | GOT_URX | GOT_URY | GOT_RWI)
  40.  
  41. struct parse_result
  42. {
  43.     char    iffile[STRSIZE];
  44.     char    psfile[STRSIZE];
  45.     float    hsize;
  46.     float    vsize;
  47.     float    hoffset;
  48.     float    voffset;
  49.     float    scale;
  50.     float    hscale;
  51.     float    vscale;
  52.     float    angle;
  53.     long    hres;
  54.     long    vres;
  55.     long    mode;
  56.     long    bright;
  57.     long    contrast;
  58.     long    gamma;
  59.     long    red;
  60.     long    green;
  61.     long    blue;
  62.  
  63.     float    llx,lly,urx,ury,rwi,rhi;
  64.  
  65.     long    gotcontrol;
  66.  
  67.     long    transfer,
  68.         rendering,
  69.         invert,
  70.         base_dpi,
  71.         threshold,
  72.         patch_colours,
  73.         dither_opt;
  74.  
  75.     char    psinit_file[STRSIZE],
  76.         psinit_string[STRSIZE];
  77.  
  78.     long    current_x;    /* (ghi) current point */
  79.     long    current_y;
  80.  
  81.     long    page_width;    /* (ghi) page width */
  82.     long    page_height;
  83.  
  84.     long    DVI_mag;    /* DVI magnification */
  85. };
  86.  
  87. BOOL ParseSpecial(STRPTR OldString,struct parse_result *Result);
  88.  
  89. struct psfig_data {
  90.     LONG    width,
  91.         height,
  92.         llx,
  93.         lly,
  94.         urx,
  95.         ury;
  96.     float    angle;
  97.     BOOL    clip;
  98. };
  99.  
  100. #define PSFIG_OFF    0 /* there are no psfig special */
  101. #define PSFIG_BEGIN    1 /* ps::[begin] ... hitted and successful */
  102. #define PSFIG_WAIT    2 /* next command has to be `ps::[end] endTeXFig */
  103. #define PSFIG_END    3 /* psfig special is complete and may be processed */
  104.  
  105. GLOBAL LONG psfig_status; /* (ghi) status of a psfig special. */
  106. GLOBAL struct psfig_data psfig_data; /* (ghi) a structure containing psfig special information */
  107. GLOBAL VOID __regargs Init_Extra_Transf(VOID);
  108.