diff options
author | Mike Welles <mike@onshore.com> | 1999-09-28 17:22:20 +0100 |
---|---|---|
committer | Roger Leigh <rleigh@codelibre.net> | 2022-06-22 23:29:50 +0100 |
commit | 4e500fc403b41416d3febb9aec42af4c01f5ea47 (patch) | |
tree | c6f6010186a0648de50210deeb38d5f886f6a363 /contrib/tags/xtiffiop.h | |
parent | 00c28dda69f1be886da146b085f795478d661ddf (diff) | |
download | libtiff-git-tiff-3.5-oldcvs.tar.gz |
v3.5.2 releasev3.5.2tiff-3.5-oldcvs
Diffstat (limited to 'contrib/tags/xtiffiop.h')
-rw-r--r-- | contrib/tags/xtiffiop.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/contrib/tags/xtiffiop.h b/contrib/tags/xtiffiop.h new file mode 100644 index 00000000..0d3f1f2c --- /dev/null +++ b/contrib/tags/xtiffiop.h @@ -0,0 +1,65 @@ +/* + * Private Extended TIFF library interface. + * + * uses private LIBTIFF interface. + * + * The portions of this module marked "XXX" should be + * modified to support your tags instead. + * + * written by: Niles D. Ritter + * + */ + +#ifndef __xtiffiop_h +#define __xtiffiop_h + +#include "tiffiop.h" +#include "xtiffio.h" + +/********************************************************************** + * User Configuration + **********************************************************************/ + +/* XXX - Define number of your extended tags here */ +#define NUM_XFIELD 3 +#define XFIELD_BASE (FIELD_LAST-NUM_XFIELD) + +/* XXX - Define your Tag Fields here */ +#define FIELD_EXAMPLE_MULTI (XFIELD_BASE+0) +#define FIELD_EXAMPLE_SINGLE (XFIELD_BASE+1) +#define FIELD_EXAMPLE_ASCII (XFIELD_BASE+2) + + +/* XXX - Define Private directory tag structure here */ +struct XTIFFDirectory { + uint16 xd_num_multi; /* dir-count for the multi tag */ + double* xd_example_multi; + uint32 xd_example_single; + char* xd_example_ascii; +}; +typedef struct XTIFFDirectory XTIFFDirectory; + +/********************************************************************** + * Nothing below this line should need to be changed by the user. + **********************************************************************/ + +struct xtiff { + TIFF *xtif_tif; /* parent TIFF pointer */ + uint32 xtif_flags; +#define XTIFFP_PRINT 0x00000001 + XTIFFDirectory xtif_dir; /* internal rep of current directory */ + TIFFVSetMethod xtif_vsetfield; /* inherited tag set routine */ + TIFFVGetMethod xtif_vgetfield; /* inherited tag get routine */ + TIFFPrintMethod xtif_printdir; /* inherited dir print method */ +}; +typedef struct xtiff xtiff; + + +#define PARENT(xt,pmember) ((xt)->xtif_ ## pmember) +#define TIFFMEMBER(tf,pmember) ((tf)->tif_ ## pmember) +#define XTIFFDIR(tif) ((xtiff *)TIFFMEMBER(tif,clientdir)) + +/* Extended TIFF flags */ +#define XTIFF_INITIALIZED 0x80000000 + +#endif /* __xtiffiop_h */ |