home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / dvihand.h < prev    next >
C/C++ Source or Header  |  1994-07-10  |  924b  |  49 lines

  1. #define PixRound(x,conv)    (long)(((long)(x) + ((long)(conv) / 2)) / (long)(conv))
  2.  
  3. extern double alpha;                    /* conversion ratio, DVI unit per TFM unit */
  4.  
  5.  
  6.  
  7. #include "dvihand.i"
  8.  
  9. static long Read1Byte        Args((DVIFILE *fp));
  10. static long Read2Byte        Args((DVIFILE *fp));
  11. static long Read3Byte        Args((DVIFILE *fp));
  12. static long Read4Byte        Args((DVIFILE *fp));
  13.  
  14.  
  15.  
  16. static long __inline Read1Byte(DVIFILE *fp)     /* return n byte quantity from file fd */
  17. {
  18.   unsigned char buf;
  19.  
  20.   DVIfread(&buf, 1, 1, fp);
  21.  
  22.   return buf;
  23. }
  24.  
  25. static long __inline Read2Byte(DVIFILE *fp)
  26. {
  27.   unsigned short x;
  28.  
  29.   DVIfread((char *)&x,2,1,fp);
  30.   return (long)((unsigned long)x);
  31. }
  32.  
  33. static long __inline Read3Byte(DVIFILE *fp)
  34. {
  35.   unsigned char x[4];
  36.  
  37.   DVIfread(&(x[0]),3,1,fp);
  38.   return (long)((*(unsigned long *)(&(x[0]))) >> 8);
  39. }
  40.  
  41. static long __inline Read4Byte(DVIFILE *fp)
  42. {
  43.   long x;
  44.  
  45.   DVIfread((char *)&x,1,4,fp);
  46.   return x;
  47. }
  48.  
  49.