]> git.saurik.com Git - wxWidgets.git/blobdiff - src/tiff/tif_dir.h
correct access for virtual
[wxWidgets.git] / src / tiff / tif_dir.h
index 9d004b72fe4f8ea63865211260ece3353c6711ea..f1730810947ccb6c11f23b8fbf6a9209c61ce777 100644 (file)
@@ -34,7 +34,7 @@
  * Internal format of a TIFF directory entry.
  */
 typedef        struct {
-#define        FIELD_SETLONGS  3
+#define        FIELD_SETLONGS  4
        /* bit vector of fields that are set */
        u_long  td_fieldsset[FIELD_SETLONGS];
 
@@ -69,7 +69,7 @@ typedef       struct {
        char*   td_imagedescription;
        char*   td_make;
        char*   td_model;
-       char*   td_software;
+        char*   td_copyright;
        char*   td_pagename;
        tstrip_t td_stripsperimage;
        tstrip_t td_nstrips;            /* size of offset & bytecount arrays */
@@ -110,6 +110,18 @@ typedef    struct {
        uint32  td_richtiffiptcLength;
        void    *td_richtiffiptcData;
 #endif
+        /* Begin Pixar Tag values. */
+        uint32 td_imagefullwidth, td_imagefulllength;
+       char*   td_textureformat;
+       char*   td_wrapmodes;
+       float   td_fovcot;
+       float*  td_matrixWorldToScreen;
+       float*  td_matrixWorldToCamera;
+       /* End Pixar Tag Values. */
+       uint32  td_xmlpacketLength;
+       void    *td_xmlpacketData;
+               int     td_customValueCount;
+        TIFFTagValue *td_customValues;
 } TIFFDirectory;
 
 /*
@@ -160,7 +172,7 @@ typedef     struct {
 #define FIELD_ARTIST                   27
 #define FIELD_DATETIME                 28
 #define FIELD_HOSTCOMPUTER             29
-#define FIELD_SOFTWARE                 30
+/* unused - was FIELD_SOFTWARE          30 */
 #define        FIELD_EXTRASAMPLES              31
 #define FIELD_SAMPLEFORMAT             32
 #define        FIELD_SMINSAMPLEVALUE           33
@@ -185,8 +197,21 @@ typedef    struct {
 #define FIELD_PHOTOSHOP                        52
 #define FIELD_RICHTIFFIPTC             53
 #define FIELD_STONITS                  54
+/* Begin PIXAR */
+#define        FIELD_IMAGEFULLWIDTH            55
+#define        FIELD_IMAGEFULLLENGTH           56
+#define FIELD_TEXTUREFORMAT            57
+#define FIELD_WRAPMODES                        58
+#define FIELD_FOVCOT                   59
+#define FIELD_MATRIX_WORLDTOSCREEN     60
+#define FIELD_MATRIX_WORLDTOCAMERA     61
+#define FIELD_COPYRIGHT                        62
+#define FIELD_XMLPACKET                        63
+/*      FIELD_CUSTOM (see tiffio.h)     65 */
 /* end of support for well-known tags; codec-private tags follow */
-#define        FIELD_CODEC                     55      /* base of codec-private tags */
+#define        FIELD_CODEC                     66      /* base of codec-private tags */
+
+
 /*
  * Pseudo-tags don't normally need field bits since they
  * are not written to an output file (by definition).
@@ -210,23 +235,6 @@ typedef    struct {
         ((v) & (tif)->tif_typemask[type]) << (tif)->tif_typeshift[type] : \
        (v) & (tif)->tif_typemask[type]))
 
-typedef        struct {
-       ttag_t  field_tag;              /* field's tag */
-       short   field_readcount;        /* read count/TIFF_VARIABLE/TIFF_SPP */
-       short   field_writecount;       /* write count/TIFF_VARIABLE */
-       TIFFDataType field_type;        /* type of associated data */
-       u_short field_bit;              /* bit in fieldsset bit vector */
-       u_char  field_oktochange;       /* if true, can change while writing */
-       u_char  field_passcount;        /* if true, pass dir count on set */
-       char    *field_name;            /* ASCII name */
-} TIFFFieldInfo;
-
-#define        TIFF_ANY        TIFF_NOTYPE     /* for field descriptor searching */
-#define        TIFF_VARIABLE   -1              /* marker for variable length tags */
-#define        TIFF_SPP        -2              /* marker for SamplesPerPixel tags */
-#define        TIFF_VARIABLE2  -3              /* marker for uint32 var-length tags */
-
-extern const int tiffDataWidth[];      /* table of tag datatype widths */
 
 #define BITn(n)                                (((u_long)1L)<<((n)&0x1f)) 
 #define BITFIELDn(tif, n)              ((tif)->tif_dir.td_fieldsset[(n)/32]) 
@@ -241,11 +249,18 @@ extern    const int tiffDataWidth[];      /* table of tag datatype widths */
 extern "C" {
 #endif
 extern void _TIFFSetupFieldInfo(TIFF*);
-extern void _TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
 extern void _TIFFPrintFieldInfo(TIFF*, FILE*);
-extern const TIFFFieldInfo* _TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
-extern const TIFFFieldInfo* _TIFFFieldWithTag(TIFF*, ttag_t);
 extern TIFFDataType _TIFFSampleToTagType(TIFF*);
+extern  const TIFFFieldInfo* _TIFFFindOrRegisterFieldInfo( TIFF *tif,
+                                                          ttag_t tag,
+                                                          TIFFDataType dt );
+extern  TIFFFieldInfo* _TIFFCreateAnonFieldInfo( TIFF *tif, ttag_t tag,
+                                                 TIFFDataType dt );
+
+#define _TIFFMergeFieldInfo TIFFMergeFieldInfo
+#define _TIFFFindFieldInfo  TIFFFindFieldInfo
+#define _TIFFFieldWithTag   TIFFFieldWithTag
+    
 #if defined(__cplusplus)
 }
 #endif