2 * Private Extended TIFF library interface.
4 * uses private LIBTIFF interface.
6 * The portions of this module marked "XXX" should be
7 * modified to support your tags instead.
9 * written by: Niles D. Ritter
19 /**********************************************************************
21 **********************************************************************/
23 /* XXX - Define number of your extended tags here */
25 #define XFIELD_BASE (FIELD_LAST-NUM_XFIELD)
27 /* XXX - Define your Tag Fields here */
28 #define FIELD_EXAMPLE_MULTI (XFIELD_BASE+0)
29 #define FIELD_EXAMPLE_SINGLE (XFIELD_BASE+1)
30 #define FIELD_EXAMPLE_ASCII (XFIELD_BASE+2)
33 /* XXX - Define Private directory tag structure here */
34 struct XTIFFDirectory
{
35 uint16 xd_num_multi
; /* dir-count for the multi tag */
36 double* xd_example_multi
;
37 uint32 xd_example_single
;
38 char* xd_example_ascii
;
40 typedef struct XTIFFDirectory XTIFFDirectory
;
42 /**********************************************************************
43 * Nothing below this line should need to be changed by the user.
44 **********************************************************************/
47 TIFF
*xtif_tif
; /* parent TIFF pointer */
49 #define XTIFFP_PRINT 0x00000001
50 XTIFFDirectory xtif_dir
; /* internal rep of current directory */
51 TIFFVSetMethod xtif_vsetfield
; /* inherited tag set routine */
52 TIFFVGetMethod xtif_vgetfield
; /* inherited tag get routine */
53 TIFFPrintMethod xtif_printdir
; /* inherited dir print method */
55 typedef struct xtiff xtiff
;
58 #define PARENT(xt,pmember) ((xt)->xtif_ ## pmember)
59 #define TIFFMEMBER(tf,pmember) ((tf)->tif_ ## pmember)
60 #define XTIFFDIR(tif) ((xtiff *)TIFFMEMBER(tif,clientdir))
62 /* Extended TIFF flags */
63 #define XTIFF_INITIALIZED 0x80000000
65 #endif /* __xtiffiop_h */