2016-06-05 15:53:59 -04:00
|
|
|
/* $Header: /cvs/maptools/cvsroot/libtiff/archive/tools/rasterfile.h,v 1.1 2016-06-05 19:54:00 bfriesen Exp $ */
|
2015-05-27 23:30:41 -04:00
|
|
|
|
|
|
|
#include "tiff.h"
|
1999-07-27 17:50:26 -04:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Description of header for files containing raster images
|
|
|
|
*/
|
|
|
|
struct rasterfile {
|
2003-11-12 14:14:33 -05:00
|
|
|
char ras_magic[4]; /* magic number */
|
2015-05-27 23:30:41 -04:00
|
|
|
int32 ras_width; /* width (pixels) of image */
|
|
|
|
int32 ras_height; /* height (pixels) of image */
|
|
|
|
int32 ras_depth; /* depth (1, 8, or 24 bits) of pixel */
|
|
|
|
int32 ras_length; /* length (bytes) of image */
|
|
|
|
int32 ras_type; /* type of file; see RT_* below */
|
|
|
|
int32 ras_maptype; /* type of colormap; see RMT_* below */
|
|
|
|
int32 ras_maplength; /* length (bytes) of following map */
|
1999-07-27 17:50:26 -04:00
|
|
|
/* color map follows for ras_maplength bytes, followed by image */
|
|
|
|
};
|
2003-11-12 14:14:33 -05:00
|
|
|
#define RAS_MAGIC "\x59\xa6\x6a\x95"
|
|
|
|
#define RAS_MAGIC_INV "\x95\x6a\xa6\x59"
|
1999-07-27 17:50:26 -04:00
|
|
|
|
|
|
|
/* Sun supported ras_type's */
|
|
|
|
#define RT_OLD 0 /* Raw pixrect image in 68000 byte order */
|
|
|
|
#define RT_STANDARD 1 /* Raw pixrect image in 68000 byte order */
|
|
|
|
#define RT_BYTE_ENCODED 2 /* Run-length compression of bytes */
|
|
|
|
#define RT_EXPERIMENTAL 0xffff /* Reserved for testing */
|
|
|
|
|
|
|
|
/* Sun registered ras_maptype's */
|
|
|
|
#define RMT_RAW 2
|
|
|
|
/* Sun supported ras_maptype's */
|
|
|
|
#define RMT_NONE 0 /* ras_maplength is expected to be 0 */
|
|
|
|
#define RMT_EQUAL_RGB 1 /* red[ras_maplength/3],green[],blue[] */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* NOTES:
|
|
|
|
* Each line of the image is rounded out to a multiple of 16 bits.
|
|
|
|
* This corresponds to the rounding convention used by the memory pixrect
|
|
|
|
* package (/usr/include/pixrect/memvar.h) of the SunWindows system.
|
|
|
|
* The ras_encoding field (always set to 0 by Sun's supported software)
|
|
|
|
* was renamed to ras_length in release 2.0. As a result, rasterfiles
|
|
|
|
* of type 0 generated by the old software claim to have 0 length; for
|
|
|
|
* compatibility, code reading rasterfiles must be prepared to compute the
|
|
|
|
* true length from the width, height, and depth fields.
|
|
|
|
*/
|