iflTypes.h
Upload User: hxy0789
Upload Date: 2018-04-15
Package Size: 6270k
Code Size: 5k
Category:

OpenGL program

Development Platform:

Visual C++

  1. #if 0 
  2.     Copyright (c) 1991 SGI   All Rights Reserved
  3.     THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SGI
  4.     The copyright notice above does not evidence any
  5.     actual or intended publication of such source code,
  6.     and is an unpublished work by Silicon Graphics, Inc.
  7.     This material contains CONFIDENTIAL INFORMATION that
  8.     is the property of Silicon Graphics, Inc. Any use,
  9.     duplication or disclosure not specifically authorized
  10.     by Silicon Graphics is strictly prohibited.
  11.     
  12.     RESTRICTED RIGHTS LEGEND:
  13.     
  14.     Use, duplication or disclosure by the Government is
  15.     subject to restrictions as set forth in subdivision
  16.     (c)(1)(ii) of the Rights in Technical Data and Computer
  17.     Software clause at DFARS 52.227-7013, and/or in similar
  18.     or successor clauses in the FAR, DOD or NASA FAR
  19.     Supplement.  Unpublished- rights reserved under the
  20.     Copyright Laws of the United States.  Contractor is
  21.     SILICON GRAPHICS, INC., 2011 N. Shoreline Blvd.,
  22.     Mountain View, CA 94039-7311
  23. #endif
  24. #ifndef _iflTypes_h_
  25. #define _iflTypes_h_
  26. #include <ifl/iflDefs.h>
  27. #include <sys/types.h>
  28. /* Define the image data types */
  29. enum iflDataType {
  30.     iflBit  = 1, /* single-bit */
  31.     iflUChar  = 2, /* unsigned character (byte) */
  32.     iflChar  = 4, /* signed character (byte) */
  33.     iflUShort = 8, /* unsigned short integer (nominally 16 bits) */
  34.     iflShort = 16, /* signed short integer */
  35.     iflUInt = 32, /* unsigned integer (nominally 32 bits) */
  36.     iflInt = 64, /* integer */
  37.     iflULong = 32, /* deprecated, same as iflUInt */
  38.     iflLong = 64, /* deprecated, same as iflULong */
  39.     iflFloat = 128, /* floating point */
  40.     iflDouble = 256 /* double precision floating point */
  41. };
  42. #ifndef __cplusplus
  43. typedef enum iflDataType iflDataType;
  44. #endif
  45. /* Define the pixel component ordering */
  46. enum iflOrder {
  47.     iflInterleaved = 1, /* store as RGBRGBRGBRGB... */
  48.     iflSequential  = 2, /* store as RRR..GGG..BBB.. per line */
  49.     iflSeparate    = 4 /* channels are stored in separate tiles */
  50. };
  51. #ifndef __cplusplus
  52. typedef enum iflOrder iflOrder;
  53. #endif
  54. /* Define supported Color Models */
  55. enum iflColorModel {
  56.     iflNegative = 1,      /* inverted luminance (min value is white) */
  57.     iflLuminance = 2,     /* luminamce */
  58.     iflRGB = 3,          /* full color (Red, Green, Blue triplets) */
  59.     iflRGBPalette = 4,     /* color mapped values */
  60.     iflRGBA = 5,     /* full color with transparency (alpha channel) */
  61.     iflHSV = 6,          /* Hue, Saturation, Value */
  62.     iflCMY = 7,          /* Cyan, Magenta, Yellow */
  63.     iflCMYK = 8,     /* Cyan, Magenta, Yellow */
  64.     iflBGR = 9,          /* full color (ordered Blue, Green, Red) */
  65.     iflABGR = 10,     /* Alpha, Blue, Green, Red (SGI frame buffers) */
  66.     iflMultiSpectral = 11,  /* multi-spectral data, arbitrary number of chans */
  67.     iflYCC = 12,      /* PhotoCD color model (Luminance, Chrominance) */
  68.     iflLuminanceAlpha = 13  /* Luminance plus alpha */
  69. };
  70. #ifndef __cplusplus
  71. typedef enum iflColorModel iflColorModel;
  72. #endif
  73. /* Define supported orientations */
  74. enum iflOrientation {
  75.     /* NOTE: These values cannot be changed.  Various tables (and the TIFF
  76.              library interface) depend on their ordering */
  77.     iflUpperLeftOrigin = 1,  /* from upper left corner, scan right then down */
  78.     iflUpperRightOrigin = 2, /* from upper right corner, scan left then down */
  79.     iflLowerRightOrigin = 3, /* from lower right corner, scan left then up */
  80.     iflLowerLeftOrigin = 4,  /* from lower left corner, scan right then up */
  81.     iflLeftUpperOrigin = 5,  /* from upper left corner, scan down then right */
  82.     iflRightUpperOrigin = 6, /* from upper right corner, scan down then left */
  83.     iflRightLowerOrigin = 7, /* from lower right corner, scan up then left */
  84.     iflLeftLowerOrigin = 8   /* from lower left corner, scan up then right */
  85. };
  86. #ifndef __cplusplus
  87. typedef enum iflOrientation iflOrientation;
  88. #endif
  89. /* Define supported compression schemes */
  90. enum iflCompression {
  91.     iflUnknownCompression = -1, /* Compressed, but not in the list below */
  92.     iflNoCompression = 1,    /* Not compressed */
  93.     iflSGIRLE = 2,      /* SGI's RLE compression */
  94.     iflCCITTFAX3 = 3,      /* CCITT Group 3 fax encoding */
  95.     iflCCITTFAX4 = 4,      /* CCITT Group 4 fax encoding */
  96.     iflLZW = 5,      /* Lempel-Ziv  & Welch */
  97.     iflJPEG = 6,      /* Joint Photographics Expert Group */
  98.     iflPACKBITS = 7,      /* Macintosh RLE */
  99.     iflZIP = 8      /* ZIP deflate/inflate */
  100. };
  101. #ifndef __cplusplus
  102. typedef enum iflCompression iflCompression;
  103. #endif
  104. /* Define flip modes */
  105. enum iflFlip {
  106.     iflNoFlip = 0,     /* No Flip */
  107.     iflXFlip = 1,     /* Flip about X axis of input */
  108.     iflYFlip = 2     /* Flip about Y axis of input */
  109. };
  110. #ifndef __cplusplus
  111. typedef enum iflFlip iflFlip;
  112. #endif
  113. /* 
  114.  * class ID is really the address of 
  115.  * a class's iflClassList member (see iflClassList.h) 
  116.  */
  117. #ifdef __cplusplus
  118. class iflClassList;
  119. typedef const iflClassList* iflClassId;
  120. #else
  121. typedef const struct iflClassList* iflClassId;
  122. #endif
  123. /* use iflClassID macro to construct parameter to derivesFrom method */
  124. #ifdef __cplusplus
  125. #define iflClassID(class) &class::classList
  126. #else
  127. #define iflClassID(class) /* not implemented */
  128. #endif
  129. #define iflClassIdNone NULL
  130. enum iflAxis {
  131.     iflX = 0, iflY = 1, iflZ = 2, iflC = 3
  132. };
  133. #ifndef __cplusplus
  134. typedef enum iflAxis iflAxis;
  135. #endif
  136. #endif