12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /******************************************************************************
- ** Filename : imageSgi.h
- ** UNCLASSIFIED
- **
- ** Description : Utility to read SGI image format files. This code was
- ** originally a SGI image loading utility provided with the
- ** Mesa 3D library @ http://www.mesa3d.org by Brain Paul.
- ** This has been extended to read all SGI image formats
- ** (e.g. INT, INTA, RGB, RGBA).
- **
- ** Revision History:
- ** Date Name Description
- ** 06/08/99 BRC Initial Release
- **
- ******************************************************************************/
-
- #ifndef __IMAGESGI_H
- #define __IMAGESGI_H
-
- #define IMAGE_SGI_TYPE_VERBATIM 0
- #define IMAGE_SGI_TYPE_RLE 1
-
- struct sImageSgiHeader // 512 bytes
- {
- short magic; // IRIS image file magic number (474)
- char type; // Storage format (e.g. RLE or VERBATIM)
- char numBytesPerPixelChannel; // Number of bytes per pixel channel
- unsigned short dim; // Number of dimensions (1 to 3)
- unsigned short xsize; // Width (in pixels)
- unsigned short ysize; // Height (in pixels)
- unsigned short zsize; // Number of channels (1 to 4)
- int minimumPixelValue; // Minimum pixel value (0 to 255)
- int maximumPixelValue; // Maximum pixel value (0 to 255)
- char padding1[4]; // (ignored)
- char imageName[80]; // Image name
- int colormap; // colormap ID (0=normal, 0=dithered,
- // 2=screen, 3=colormap)
- char padding2[404]; // (ignored)
- };
-
- struct sImageSgi
- {
- struct sImageSgiHeader header;
- unsigned char *data;
- };
-
- #ifndef __IMAGESGI_CPP
-
- // RGB image load utility
- extern struct sImageSgi *ImageSgiOpen(char const * const fileName);
- extern void ImageSgiClose(struct sImageSgi *image);
-
- #endif
-
- #endif /* __IMAGESGI_H */
|