Blame contrib/tags/xtiffiop.h

Packit 7838c8
/*
Packit 7838c8
 * Private Extended TIFF library interface.
Packit 7838c8
 *
Packit 7838c8
 *  uses private LIBTIFF interface.
Packit 7838c8
 *
Packit 7838c8
 *  The portions of this module marked "XXX" should be
Packit 7838c8
 *  modified to support your tags instead.
Packit 7838c8
 *
Packit 7838c8
 *  written by: Niles D. Ritter
Packit 7838c8
 *
Packit 7838c8
 */
Packit 7838c8
Packit 7838c8
#ifndef __xtiffiop_h
Packit 7838c8
#define __xtiffiop_h
Packit 7838c8
Packit 7838c8
#include "tiffiop.h"
Packit 7838c8
#include "xtiffio.h"
Packit 7838c8
Packit 7838c8
/**********************************************************************
Packit 7838c8
 *               User Configuration
Packit 7838c8
 **********************************************************************/
Packit 7838c8
Packit 7838c8
/* XXX - Define number of your extended tags here */
Packit 7838c8
#define NUM_XFIELD 3
Packit 7838c8
#define XFIELD_BASE (FIELD_LAST-NUM_XFIELD)
Packit 7838c8
Packit 7838c8
/*  XXX - Define your Tag Fields here  */
Packit 7838c8
#define	FIELD_EXAMPLE_MULTI     (XFIELD_BASE+0)
Packit 7838c8
#define	FIELD_EXAMPLE_SINGLE    (XFIELD_BASE+1)
Packit 7838c8
#define	FIELD_EXAMPLE_ASCII      (XFIELD_BASE+2)
Packit 7838c8
Packit 7838c8
Packit 7838c8
/* XXX - Define Private directory tag structure here */
Packit 7838c8
struct XTIFFDirectory {
Packit 7838c8
	uint16	 xd_num_multi; /* dir-count for the multi tag */
Packit 7838c8
	double*  xd_example_multi;
Packit 7838c8
	uint32   xd_example_single; 
Packit 7838c8
	char*    xd_example_ascii;
Packit 7838c8
};
Packit 7838c8
typedef struct XTIFFDirectory XTIFFDirectory;
Packit 7838c8
Packit 7838c8
/**********************************************************************
Packit 7838c8
 *    Nothing below this line should need to be changed by the user.
Packit 7838c8
 **********************************************************************/
Packit 7838c8
Packit 7838c8
struct xtiff {
Packit 7838c8
	TIFF 		*xtif_tif;	/* parent TIFF pointer */
Packit 7838c8
	uint32		xtif_flags;
Packit 7838c8
#define       XTIFFP_PRINT   0x00000001
Packit 7838c8
	XTIFFDirectory	xtif_dir;	/* internal rep of current directory */
Packit 7838c8
	TIFFVSetMethod	xtif_vsetfield;	/* inherited tag set routine */
Packit 7838c8
	TIFFVGetMethod	xtif_vgetfield;	/* inherited tag get routine */
Packit 7838c8
	TIFFPrintMethod	xtif_printdir;  /* inherited dir print method */
Packit 7838c8
};
Packit 7838c8
typedef struct xtiff xtiff;
Packit 7838c8
Packit 7838c8
Packit 7838c8
#define PARENT(xt,pmember) ((xt)->xtif_ ## pmember) 
Packit 7838c8
#define TIFFMEMBER(tf,pmember) ((tf)->tif_ ## pmember) 
Packit 7838c8
#define XTIFFDIR(tif) ((xtiff *)TIFFMEMBER(tif,clientdir))
Packit 7838c8
	
Packit 7838c8
/* Extended TIFF flags */
Packit 7838c8
#define XTIFF_INITIALIZED 0x80000000
Packit 7838c8
	
Packit 7838c8
#endif /* __xtiffiop_h */
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
 */