Blame contrib/pds/tif_imageiter.h

Packit 7838c8
typedef struct _TIFFImageIter TIFFImageIter;
Packit 7838c8
Packit 7838c8
/* The callback function is called for each "block" of image pixel data after
Packit 7838c8
   it has been read from the file and decoded. This image pixel data is in the
Packit 7838c8
   buffer pp, and this data represents the image pixels from (x,y) to
Packit 7838c8
   (x+w,y+h). It is stored in pixel format, so each pixel contains
Packit 7838c8
   img->samplesperpixel consecutive samples each containing img->bitspersample
Packit 7838c8
   bits of data. The array pp is ordered in h consecutive rows of w+fromskew
Packit 7838c8
   pixels each. */
Packit 7838c8
typedef void (*ImageIterTileContigRoutine)
Packit 7838c8
    (TIFFImageIter*, void *, uint32, uint32, uint32, uint32, int32,
Packit 7838c8
	unsigned char*);
Packit 7838c8
#define	DECLAREContigCallbackFunc(name) \
Packit 7838c8
static void name(\
Packit 7838c8
    TIFFImageIter* img, \
Packit 7838c8
    void* user_data, \
Packit 7838c8
    uint32 x, uint32 y, \
Packit 7838c8
    uint32 w, uint32 h, \
Packit 7838c8
    int32 fromskew, \
Packit 7838c8
    u_char* pp \
Packit 7838c8
)
Packit 7838c8
Packit 7838c8
typedef void (*ImageIterTileSeparateRoutine)
Packit 7838c8
    (TIFFImageIter*, void *, uint32, uint32, uint32, uint32, int32,
Packit 7838c8
	unsigned char*, unsigned char*, unsigned char*, unsigned char*);
Packit 7838c8
#define	DECLARESepCallbackFunc(name) \
Packit 7838c8
static void name(\
Packit 7838c8
    TIFFImageIter* img, \
Packit 7838c8
    void* user_data, \
Packit 7838c8
    uint32 x, uint32 y, \
Packit 7838c8
    uint32 w, uint32 h,\
Packit 7838c8
    int32 fromskew, \
Packit 7838c8
    u_char* r, u_char* g, u_char* b, u_char* a\
Packit 7838c8
)
Packit 7838c8
Packit 7838c8
struct _TIFFImageIter {
Packit 7838c8
	TIFF*	tif;				/* image handle */
Packit 7838c8
	int	stoponerr;			/* stop on read error */
Packit 7838c8
	int	isContig;			/* data is packed/separate */
Packit 7838c8
	int	alpha;				/* type of alpha data present */
Packit 7838c8
	uint32	width;				/* image width */
Packit 7838c8
	uint32	height;				/* image height */
Packit 7838c8
	uint16	bitspersample;			/* image bits/sample */
Packit 7838c8
	uint16	samplesperpixel;		/* image samples/pixel */
Packit 7838c8
	uint16	orientation;			/* image orientation */
Packit 7838c8
	uint16	photometric;			/* image photometric interp */
Packit 7838c8
	uint16*	redcmap;			/* colormap pallete */
Packit 7838c8
	uint16*	greencmap;
Packit 7838c8
	uint16*	bluecmap;
Packit 7838c8
						/* get image data routine */
Packit 7838c8
	int	(*get)(TIFFImageIter*, void *udata, uint32, uint32);
Packit 7838c8
	union {
Packit 7838c8
	    void (*any)(TIFFImageIter*);
Packit 7838c8
	    ImageIterTileContigRoutine		contig;
Packit 7838c8
	    ImageIterTileSeparateRoutine	separate;
Packit 7838c8
	} callback;				/* fn to exec for each block */
Packit 7838c8
};
Packit 7838c8
/*
Packit 7838c8
 * Local Variables:
Packit 7838c8
 * mode: c
Packit 7838c8
 * c-basic-offset: 8
Packit 7838c8
 * fill-column: 78
Packit 7838c8
 * End:
Packit 7838c8
 */