summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/libtiff/libtiff/tif_extension.c
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-01-31 07:01:22 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-01 13:31:19 +0100
commitf68a3dc48d8fb8c04fe49dd9e5d07d7cdd221ad1 (patch)
tree137aa3af58a368da64717d2f03cadfb9e959a2d6 /src/3rdparty/libtiff/libtiff/tif_extension.c
parent261721488876e5661904b880782b0254d00c25ac (diff)
Add TIFF plugin
Moved out from qtbase. Task-number: QTBUG-23887 Change-Id: I57d30173e6624d41dba1610084a7ed949ae84d1d Reviewed-by: aavit <qt_aavit@ovi.com> Sanity-Review: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/3rdparty/libtiff/libtiff/tif_extension.c')
-rw-r--r--src/3rdparty/libtiff/libtiff/tif_extension.c111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/3rdparty/libtiff/libtiff/tif_extension.c b/src/3rdparty/libtiff/libtiff/tif_extension.c
new file mode 100644
index 0000000..6861522
--- /dev/null
+++ b/src/3rdparty/libtiff/libtiff/tif_extension.c
@@ -0,0 +1,111 @@
+/* $Header: /cvs/maptools/cvsroot/libtiff/libtiff/tif_extension.c,v 1.4 2004/10/02 13:29:41 dron Exp $ */
+
+/*
+ * Copyright (c) 1988-1997 Sam Leffler
+ * Copyright (c) 1991-1997 Silicon Graphics, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that (i) the above copyright notices and this permission notice appear in
+ * all copies of the software and related documentation, and (ii) the names of
+ * Sam Leffler and Silicon Graphics may not be used in any advertising or
+ * publicity relating to the software without the specific, prior written
+ * permission of Sam Leffler and Silicon Graphics.
+ *
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+ * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+/*
+ * TIFF Library.
+ *
+ * Various routines support external extension of the tag set, and other
+ * application extension capabilities.
+ */
+
+#include "tiffiop.h"
+
+int TIFFGetTagListCount( TIFF *tif )
+
+{
+ TIFFDirectory* td = &tif->tif_dir;
+
+ return td->td_customValueCount;
+}
+
+ttag_t TIFFGetTagListEntry( TIFF *tif, int tag_index )
+
+{
+ TIFFDirectory* td = &tif->tif_dir;
+
+ if( tag_index < 0 || tag_index >= td->td_customValueCount )
+ return (ttag_t) -1;
+ else
+ return td->td_customValues[tag_index].info->field_tag;
+}
+
+/*
+** This provides read/write access to the TIFFTagMethods within the TIFF
+** structure to application code without giving access to the private
+** TIFF structure.
+*/
+TIFFTagMethods *TIFFAccessTagMethods( TIFF *tif )
+
+{
+ return &(tif->tif_tagmethods);
+}
+
+void *TIFFGetClientInfo( TIFF *tif, const char *name )
+
+{
+ TIFFClientInfoLink *link = tif->tif_clientinfo;
+
+ while( link != NULL && strcmp(link->name,name) != 0 )
+ link = link->next;
+
+ if( link != NULL )
+ return link->data;
+ else
+ return NULL;
+}
+
+void TIFFSetClientInfo( TIFF *tif, void *data, const char *name )
+
+{
+ TIFFClientInfoLink *link = tif->tif_clientinfo;
+
+ /*
+ ** Do we have an existing link with this name? If so, just
+ ** set it.
+ */
+ while( link != NULL && strcmp(link->name,name) != 0 )
+ link = link->next;
+
+ if( link != NULL )
+ {
+ link->data = data;
+ return;
+ }
+
+ /*
+ ** Create a new link.
+ */
+
+ link = (TIFFClientInfoLink *) _TIFFmalloc(sizeof(TIFFClientInfoLink));
+ assert (link != NULL);
+ link->next = tif->tif_clientinfo;
+ link->name = (char *) _TIFFmalloc(strlen(name)+1);
+ assert (link->name != NULL);
+ strcpy(link->name, name);
+ link->data = data;
+
+ tif->tif_clientinfo = link;
+}