home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 309.lha / PBM_PLUS / pbm / tiff.h < prev    next >
C/C++ Source or Header  |  1980-12-04  |  3KB  |  108 lines

  1. /* 
  2. **---------------------------------------------------------------------
  3. ** Tiff.h
  4. **---------------------------------------------------------------------
  5. **      Copyright 1988 by Paul J. Emerson 
  6. **                                                                     
  7. **      Permission to use, copy, modify, and distribute this software 
  8. **      and its documentation for any purpose and without fee is        
  9. **      hereby granted, provided that the above copyright notice        
  10. **      appear in all copies and that both that copyright notice and    
  11. **      this permission notice appear in supporting documentation, and  
  12. **      that the name of Paul J. Emerson not be used in advertising or 
  13. **      publicity pertaining to distribution of the software without 
  14. **      specific, written prior permission.  Paul J. Emerson makes no 
  15. **      representations about the suitability of this software for 
  16. **      any purpose.  It is provided "as is" without express or implied 
  17. **      warranty.          
  18. **
  19. **      Version 1.0 
  20. **        Paul Emerson (ucf-cs!sdgsun!paul) December 1988
  21. **
  22. **---------------------------------------------------------------------
  23. */
  24.  
  25. /* Types as defined in the TIFF standard for SUN3 */
  26.  
  27. typedef unsigned char  BYTE;         /* 8-bits */
  28. typedef unsigned char  ASCII;        /* 8-bits */
  29. typedef unsigned short SHORT;        /* 16 bits */
  30. typedef unsigned int   LONG;         /* 32 bits */
  31. typedef unsigned long  RATIONAL;     /* 2 LONG's numerator : denominator
  32.  
  33. #define INFINITY  99999
  34.  
  35. /*
  36. ** Data Types
  37. */
  38.  
  39. #define TYPEBYTE     1      
  40. #define TYPEASCII    2     
  41. #define TYPESHORT    3    
  42. #define TYPELONG     4   
  43. #define TYPERATIONAL 5  
  44.  
  45. struct TiffHeader 
  46.        {
  47.        BYTE            ByteOrder[2];
  48.        SHORT           Version; 
  49.        LONG            IdfOffset;
  50.        };
  51.  
  52. struct IDF
  53.        {
  54.        SHORT    NumEntries;
  55.        struct   IDF_Entry *idfptr;    
  56.        };
  57.  
  58. struct IDF_Entry 
  59.        {
  60.        SHORT Tag;
  61.        SHORT Type;
  62.        LONG  Length;
  63.        LONG  ValueOffset;
  64.        };
  65.  
  66. struct  Tiffstruct 
  67.      {
  68.      int SubFileType;
  69.      int ImageWidth;
  70.      int ImageLength;
  71.      int BitsPerSample;
  72.      int Compression;
  73.      int PhotoInterp;
  74.      int Threshold;
  75.      int CellWidth;
  76.      int CellLength;
  77.      int FillOrder;
  78.      char *DocName;
  79.      char *ImageDescript;
  80.      char *Make;
  81.      char *Model;
  82.      int StOffsetCnt;
  83.      LONG *StripOffset;
  84.      int Orientation;
  85.      int SamplesPixel;
  86.      int RowsStrip;
  87.      int StripByteCnt;
  88.      LONG *SBytesCntOffset;
  89.      int MinSampleValue;
  90.      int MaxSampleValue;
  91.      int Xres;
  92.      int Yres;
  93.      int PlanarConfig;
  94.      char *PageName;
  95.      int XPos; 
  96.      int YPos;
  97.      int FreeOffsets;
  98.      int FreeByteCount;
  99.      int GrayResUnit;
  100.      int GrayResCurve;
  101.      int Group3Option;
  102.      int Group4Option;
  103.      int ResolutionUnit;
  104.      int PageNumber;
  105.      int ColorResUnit;
  106.      int ColorResCurv;
  107.      };
  108.