e9438a8659
and xserver)...
56 lines
1.9 KiB
C
56 lines
1.9 KiB
C
/******************************************************************************
|
|
** 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 */
|