New comit of SDL2
[supertux.git] / src / SDL2 / external / tiff-4.0.3 / contrib / tags / xtiffiop.h
1 /*
2  * Private Extended TIFF library interface.
3  *
4  *  uses private LIBTIFF interface.
5  *
6  *  The portions of this module marked "XXX" should be
7  *  modified to support your tags instead.
8  *
9  *  written by: Niles D. Ritter
10  *
11  */
12
13 #ifndef __xtiffiop_h
14 #define __xtiffiop_h
15
16 #include "tiffiop.h"
17 #include "xtiffio.h"
18
19 /**********************************************************************
20  *               User Configuration
21  **********************************************************************/
22
23 /* XXX - Define number of your extended tags here */
24 #define NUM_XFIELD 3
25 #define XFIELD_BASE (FIELD_LAST-NUM_XFIELD)
26
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)
31
32
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;
39 };
40 typedef struct XTIFFDirectory XTIFFDirectory;
41
42 /**********************************************************************
43  *    Nothing below this line should need to be changed by the user.
44  **********************************************************************/
45
46 struct xtiff {
47         TIFF            *xtif_tif;      /* parent TIFF pointer */
48         uint32          xtif_flags;
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 */
54 };
55 typedef struct xtiff xtiff;
56
57
58 #define PARENT(xt,pmember) ((xt)->xtif_ ## pmember) 
59 #define TIFFMEMBER(tf,pmember) ((tf)->tif_ ## pmember) 
60 #define XTIFFDIR(tif) ((xtiff *)TIFFMEMBER(tif,clientdir))
61         
62 /* Extended TIFF flags */
63 #define XTIFF_INITIALIZED 0x80000000
64         
65 #endif /* __xtiffiop_h */
66 /*
67  * Local Variables:
68  * mode: c
69  * c-basic-offset: 8
70  * fill-column: 78
71  * End:
72  */