summaryrefslogtreecommitdiff
path: root/tiff/contrib/dbs
diff options
context:
space:
mode:
Diffstat (limited to 'tiff/contrib/dbs')
-rwxr-xr-xtiff/contrib/dbs/Makefile.am44
-rwxr-xr-xtiff/contrib/dbs/Makefile.in794
-rwxr-xr-xtiff/contrib/dbs/README7
-rwxr-xr-xtiff/contrib/dbs/tiff-bi.c91
-rwxr-xr-xtiff/contrib/dbs/tiff-grayscale.c147
-rwxr-xr-xtiff/contrib/dbs/tiff-palette.c284
-rwxr-xr-xtiff/contrib/dbs/tiff-rgb.c201
-rwxr-xr-xtiff/contrib/dbs/xtiff/Makefile.am42
-rwxr-xr-xtiff/contrib/dbs/xtiff/Makefile.in509
-rwxr-xr-xtiff/contrib/dbs/xtiff/README6
-rwxr-xr-xtiff/contrib/dbs/xtiff/patchlevel.h8
-rwxr-xr-xtiff/contrib/dbs/xtiff/xtiff.c1290
-rwxr-xr-xtiff/contrib/dbs/xtiff/xtifficon.h21
13 files changed, 0 insertions, 3444 deletions
diff --git a/tiff/contrib/dbs/Makefile.am b/tiff/contrib/dbs/Makefile.am
deleted file mode 100755
index 0787377..0000000
--- a/tiff/contrib/dbs/Makefile.am
+++ /dev/null
@@ -1,44 +0,0 @@
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# 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.
-
-# Process this file with automake to produce Makefile.in.
-
-SUBDIRS = xtiff
-
-LIBTIFF = $(top_builddir)/libtiff/libtiff.la
-
-EXTRA_DIST = README
-
-noinst_PROGRAMS = tiff-bi tiff-grayscale tiff-palette tiff-rgb
-
-tiff_bi_SOURCES = tiff-bi.c
-tiff_bi_LDADD = $(LIBTIFF)
-tiff_grayscale_SOURCES = tiff-grayscale.c
-tiff_grayscale_LDADD = $(LIBTIFF)
-tiff_palette_SOURCES = tiff-palette.c
-tiff_palette_LDADD = $(LIBTIFF)
-tiff_rgb_SOURCES = tiff-rgb.c
-tiff_rgb_LDADD = $(LIBTIFF)
-
-AM_CPPFLAGS = -I$(top_srcdir)/libtiff
-
diff --git a/tiff/contrib/dbs/Makefile.in b/tiff/contrib/dbs/Makefile.in
deleted file mode 100755
index c78e9bf..0000000
--- a/tiff/contrib/dbs/Makefile.in
+++ /dev/null
@@ -1,794 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# 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.
-
-# Process this file with automake to produce Makefile.in.
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-noinst_PROGRAMS = tiff-bi$(EXEEXT) tiff-grayscale$(EXEEXT) \
- tiff-palette$(EXEEXT) tiff-rgb$(EXEEXT)
-subdir = contrib/dbs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/libtiff/tif_config.h \
- $(top_builddir)/libtiff/tiffconf.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_tiff_bi_OBJECTS = tiff-bi.$(OBJEXT)
-tiff_bi_OBJECTS = $(am_tiff_bi_OBJECTS)
-tiff_bi_DEPENDENCIES = $(LIBTIFF)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-am_tiff_grayscale_OBJECTS = tiff-grayscale.$(OBJEXT)
-tiff_grayscale_OBJECTS = $(am_tiff_grayscale_OBJECTS)
-tiff_grayscale_DEPENDENCIES = $(LIBTIFF)
-am_tiff_palette_OBJECTS = tiff-palette.$(OBJEXT)
-tiff_palette_OBJECTS = $(am_tiff_palette_OBJECTS)
-tiff_palette_DEPENDENCIES = $(LIBTIFF)
-am_tiff_rgb_OBJECTS = tiff-rgb.$(OBJEXT)
-tiff_rgb_OBJECTS = $(am_tiff_rgb_OBJECTS)
-tiff_rgb_DEPENDENCIES = $(LIBTIFF)
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/libtiff
-depcomp = $(SHELL) $(top_srcdir)/config/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(tiff_bi_SOURCES) $(tiff_grayscale_SOURCES) \
- $(tiff_palette_SOURCES) $(tiff_rgb_SOURCES)
-DIST_SOURCES = $(tiff_bi_SOURCES) $(tiff_grayscale_SOURCES) \
- $(tiff_palette_SOURCES) $(tiff_rgb_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \
- $(top_srcdir)/config/mkinstalldirs README
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-GLU_CFLAGS = @GLU_CFLAGS@
-GLU_LIBS = @GLU_LIBS@
-GL_CFLAGS = @GL_CFLAGS@
-GL_LIBS = @GL_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBDIR = @LIBDIR@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTIFF_ALPHA_VERSION = @LIBTIFF_ALPHA_VERSION@
-LIBTIFF_DOCDIR = @LIBTIFF_DOCDIR@
-LIBTIFF_MAJOR_VERSION = @LIBTIFF_MAJOR_VERSION@
-LIBTIFF_MICRO_VERSION = @LIBTIFF_MICRO_VERSION@
-LIBTIFF_MINOR_VERSION = @LIBTIFF_MINOR_VERSION@
-LIBTIFF_RELEASE_DATE = @LIBTIFF_RELEASE_DATE@
-LIBTIFF_VERSION = @LIBTIFF_VERSION@
-LIBTIFF_VERSION_INFO = @LIBTIFF_VERSION_INFO@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PTHREAD_CC = @PTHREAD_CC@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-ax_pthread_config = @ax_pthread_config@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-tiff_libs_private = @tiff_libs_private@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = xtiff
-LIBTIFF = $(top_builddir)/libtiff/libtiff.la
-EXTRA_DIST = README
-tiff_bi_SOURCES = tiff-bi.c
-tiff_bi_LDADD = $(LIBTIFF)
-tiff_grayscale_SOURCES = tiff-grayscale.c
-tiff_grayscale_LDADD = $(LIBTIFF)
-tiff_palette_SOURCES = tiff-palette.c
-tiff_palette_LDADD = $(LIBTIFF)
-tiff_rgb_SOURCES = tiff-rgb.c
-tiff_rgb_LDADD = $(LIBTIFF)
-AM_CPPFLAGS = -I$(top_srcdir)/libtiff
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/dbs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign contrib/dbs/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-
-tiff-bi$(EXEEXT): $(tiff_bi_OBJECTS) $(tiff_bi_DEPENDENCIES) $(EXTRA_tiff_bi_DEPENDENCIES)
- @rm -f tiff-bi$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tiff_bi_OBJECTS) $(tiff_bi_LDADD) $(LIBS)
-
-tiff-grayscale$(EXEEXT): $(tiff_grayscale_OBJECTS) $(tiff_grayscale_DEPENDENCIES) $(EXTRA_tiff_grayscale_DEPENDENCIES)
- @rm -f tiff-grayscale$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tiff_grayscale_OBJECTS) $(tiff_grayscale_LDADD) $(LIBS)
-
-tiff-palette$(EXEEXT): $(tiff_palette_OBJECTS) $(tiff_palette_DEPENDENCIES) $(EXTRA_tiff_palette_DEPENDENCIES)
- @rm -f tiff-palette$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tiff_palette_OBJECTS) $(tiff_palette_LDADD) $(LIBS)
-
-tiff-rgb$(EXEEXT): $(tiff_rgb_OBJECTS) $(tiff_rgb_DEPENDENCIES) $(EXTRA_tiff_rgb_DEPENDENCIES)
- @rm -f tiff-rgb$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tiff_rgb_OBJECTS) $(tiff_rgb_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tiff-bi.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tiff-grayscale.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tiff-palette.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tiff-rgb.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-generic clean-libtool \
- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tiff/contrib/dbs/README b/tiff/contrib/dbs/README
deleted file mode 100755
index e05d0a9..0000000
--- a/tiff/contrib/dbs/README
+++ /dev/null
@@ -1,7 +0,0 @@
-Wed May 9 09:11:35 PDT 1990
-
-This directory contains programs from Dan Sears
-(dbs@decwrl.dec.com). Contact him directly if
-you have questions/problems.
-
- Sam
diff --git a/tiff/contrib/dbs/tiff-bi.c b/tiff/contrib/dbs/tiff-bi.c
deleted file mode 100755
index 33f05c7..0000000
--- a/tiff/contrib/dbs/tiff-bi.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* $Id: tiff-bi.c,v 1.3 2010-06-08 18:55:15 bfriesen Exp $ */
-
-/*
- * tiff-bi.c -- create a Class B (bilevel) TIFF file
- *
- * Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "tiffio.h"
-
-#define WIDTH 512
-#define HEIGHT WIDTH
-
-int main(int argc, char **argv)
-{
- int i;
- unsigned char * scan_line;
- TIFF * tif;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: %s tiff-image\n", argv[0]);
- return 0;
- }
-
- if ((tif = TIFFOpen(argv[1], "w")) == NULL) {
- fprintf(stderr, "can't open %s as a TIFF file\n", argv[1]);
- return 0;
- }
-
- TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
- TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
- TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 1);
- TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
- TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
- TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
- TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
-
- scan_line = (unsigned char *) malloc(WIDTH / 8);
-
- for (i = 0; i < (WIDTH / 8) / 2; i++)
- scan_line[i] = 0;
-
- for (i = (WIDTH / 8) / 2; i < (WIDTH / 8); i++)
- scan_line[i] = 255;
-
- for (i = 0; i < HEIGHT / 2; i++)
- TIFFWriteScanline(tif, scan_line, i, 0);
-
- for (i = 0; i < (WIDTH / 8) / 2; i++)
- scan_line[i] = 255;
-
- for (i = (WIDTH / 8) / 2; i < (WIDTH / 8); i++)
- scan_line[i] = 0;
-
- for (i = HEIGHT / 2; i < HEIGHT; i++)
- TIFFWriteScanline(tif, scan_line, i, 0);
-
- free(scan_line);
- TIFFClose(tif);
- return 0;
-}
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/tiff-grayscale.c b/tiff/contrib/dbs/tiff-grayscale.c
deleted file mode 100755
index 00b229f..0000000
--- a/tiff/contrib/dbs/tiff-grayscale.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* $Id: tiff-grayscale.c,v 1.6 2010-06-08 18:55:15 bfriesen Exp $ */
-
-/*
- * tiff-grayscale.c -- create a Class G (grayscale) TIFF file
- * with a gray response curve in linear optical density
- *
- * Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "tiffio.h"
-
-#define WIDTH 512
-#define HEIGHT WIDTH
-
-char * programName;
-void Usage();
-
-int main(int argc, char **argv)
-{
- int bits_per_pixel = 8, cmsize, i, j, k,
- gray_index, chunk_size = 32, nchunks = 16;
- unsigned char * scan_line;
- uint16 * gray;
- float refblackwhite[2*1];
- TIFF * tif;
-
- programName = argv[0];
-
- if (argc != 4)
- Usage();
-
- if (!strcmp(argv[1], "-depth"))
- bits_per_pixel = atoi(argv[2]);
- else
- Usage();
-
- switch (bits_per_pixel) {
- case 8:
- nchunks = 16;
- chunk_size = 32;
- break;
- case 4:
- nchunks = 4;
- chunk_size = 128;
- break;
- case 2:
- nchunks = 2;
- chunk_size = 256;
- break;
- default:
- Usage();
- }
-
- cmsize = nchunks * nchunks;
- gray = (uint16 *) malloc(cmsize * sizeof(uint16));
-
- gray[0] = 3000;
- for (i = 1; i < cmsize; i++)
- gray[i] = (uint16) (-log10((double) i / (cmsize - 1)) * 1000);
-
- refblackwhite[0] = 0.0;
- refblackwhite[1] = (float)((1L<<bits_per_pixel) - 1);
-
- if ((tif = TIFFOpen(argv[3], "w")) == NULL) {
- fprintf(stderr, "can't open %s as a TIFF file\n", argv[3]);
- free(gray);
- return 0;
- }
-
- TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
- TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
- TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bits_per_pixel);
- TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
- TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
- TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
- TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(tif, TIFFTAG_REFERENCEBLACKWHITE, refblackwhite);
- TIFFSetField(tif, TIFFTAG_TRANSFERFUNCTION, gray);
- TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
-
- scan_line = (unsigned char *) malloc(WIDTH / (8 / bits_per_pixel));
-
- for (i = 0; i < HEIGHT; i++) {
- for (j = 0, k = 0; j < WIDTH;) {
- gray_index = (j / chunk_size) + ((i / chunk_size) * nchunks);
-
- switch (bits_per_pixel) {
- case 8:
- scan_line[k++] = gray_index;
- j++;
- break;
- case 4:
- scan_line[k++] = (gray_index << 4) + gray_index;
- j += 2;
- break;
- case 2:
- scan_line[k++] = (gray_index << 6) + (gray_index << 4)
- + (gray_index << 2) + gray_index;
- j += 4;
- break;
- }
- }
- TIFFWriteScanline(tif, scan_line, i, 0);
- }
-
- free(scan_line);
- TIFFClose(tif);
- return 0;
-}
-
-void
-Usage()
-{
- fprintf(stderr, "Usage: %s -depth (8 | 4 | 2) tiff-image\n", programName);
- exit(0);
-}
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/tiff-palette.c b/tiff/contrib/dbs/tiff-palette.c
deleted file mode 100755
index 3d9e862..0000000
--- a/tiff/contrib/dbs/tiff-palette.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/* $Id: tiff-palette.c,v 1.5 2010-06-08 18:55:15 bfriesen Exp $ */
-
-/*
- * tiff-palette.c -- create a Class P (palette) TIFF file
- *
- * Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "tiffio.h"
-
-#define WIDTH 512
-#define HEIGHT WIDTH
-#define SCALE(x) ((x) * 257L)
-
-char * programName;
-void Usage();
-
-int main(int argc, char **argv)
-{
- int bits_per_pixel = 8, cmsize, i, j, k,
- cmap_index, chunk_size = 32, nchunks = 16;
- unsigned char * scan_line;
- uint16 *red, *green, *blue;
- TIFF * tif;
-
- programName = argv[0];
-
- if (argc != 4)
- Usage();
-
- if (!strcmp(argv[1], "-depth"))
- bits_per_pixel = atoi(argv[2]);
- else
- Usage();
-
- switch (bits_per_pixel) {
- case 8:
- nchunks = 16;
- chunk_size = 32;
- break;
- case 4:
- nchunks = 4;
- chunk_size = 128;
- break;
- case 2:
- nchunks = 2;
- chunk_size = 256;
- break;
- case 1:
- nchunks = 2;
- chunk_size = 256;
- break;
- default:
- Usage();
- }
-
- if (bits_per_pixel != 1) {
- cmsize = nchunks * nchunks;
- } else {
- cmsize = 2;
- }
- red = (uint16 *) malloc(cmsize * sizeof(uint16));
- green = (uint16 *) malloc(cmsize * sizeof(uint16));
- blue = (uint16 *) malloc(cmsize * sizeof(uint16));
-
- switch (bits_per_pixel) {
- case 8:
- for (i = 0; i < cmsize; i++) {
- if (i < 32)
- red[i] = 0;
- else if (i < 64)
- red[i] = SCALE(36);
- else if (i < 96)
- red[i] = SCALE(73);
- else if (i < 128)
- red[i] = SCALE(109);
- else if (i < 160)
- red[i] = SCALE(146);
- else if (i < 192)
- red[i] = SCALE(182);
- else if (i < 224)
- red[i] = SCALE(219);
- else if (i < 256)
- red[i] = SCALE(255);
-
- if ((i % 32) < 4)
- green[i] = 0;
- else if (i < 8)
- green[i] = SCALE(36);
- else if ((i % 32) < 12)
- green[i] = SCALE(73);
- else if ((i % 32) < 16)
- green[i] = SCALE(109);
- else if ((i % 32) < 20)
- green[i] = SCALE(146);
- else if ((i % 32) < 24)
- green[i] = SCALE(182);
- else if ((i % 32) < 28)
- green[i] = SCALE(219);
- else if ((i % 32) < 32)
- green[i] = SCALE(255);
-
- if ((i % 4) == 0)
- blue[i] = SCALE(0);
- else if ((i % 4) == 1)
- blue[i] = SCALE(85);
- else if ((i % 4) == 2)
- blue[i] = SCALE(170);
- else if ((i % 4) == 3)
- blue[i] = SCALE(255);
- }
- break;
- case 4:
- red[0] = SCALE(255);
- green[0] = 0;
- blue[0] = 0;
-
- red[1] = 0;
- green[1] = SCALE(255);
- blue[1] = 0;
-
- red[2] = 0;
- green[2] = 0;
- blue[2] = SCALE(255);
-
- red[3] = SCALE(255);
- green[3] = SCALE(255);
- blue[3] = SCALE(255);
-
- red[4] = 0;
- green[4] = SCALE(255);
- blue[4] = SCALE(255);
-
- red[5] = SCALE(255);
- green[5] = 0;
- blue[5] = SCALE(255);
-
- red[6] = SCALE(255);
- green[6] = SCALE(255);
- blue[6] = 0;
-
- red[7] = 0;
- green[7] = 0;
- blue[7] = 0;
-
- red[8] = SCALE(176);
- green[8] = SCALE(224);
- blue[8] = SCALE(230);
- red[9] = SCALE(100);
- green[9] = SCALE(149);
- blue[9] = SCALE(237);
- red[10] = SCALE(46);
- green[10] = SCALE(139);
- blue[10] = SCALE(87);
- red[11] = SCALE(160);
- green[11] = SCALE(82);
- blue[11] = SCALE(45);
- red[12] = SCALE(238);
- green[12] = SCALE(130);
- blue[12] = SCALE(238);
- red[13] = SCALE(176);
- green[13] = SCALE(48);
- blue[13] = SCALE(96);
- red[14] = SCALE(50);
- green[14] = SCALE(205);
- blue[14] = SCALE(50);
- red[15] = SCALE(240);
- green[15] = SCALE(152);
- blue[15] = SCALE(35);
- break;
- case 2:
- red[0] = SCALE(255);
- green[0] = 0;
- blue[0] = 0;
-
- red[1] = 0;
- green[1] = SCALE(255);
- blue[1] = 0;
-
- red[2] = 0;
- green[2] = 0;
- blue[2] = SCALE(255);
- red[3] = SCALE(255);
- green[3] = SCALE(255);
- blue[3] = SCALE(255);
- break;
- case 1:
- red[0] = 0;
- green[0] = 0;
- blue[0] = 0;
-
- red[1] = SCALE(255);
- green[1] = SCALE(255);
- blue[1] = SCALE(255);
- break;
- }
-
- if ((tif = TIFFOpen(argv[3], "w")) == NULL) {
- fprintf(stderr, "can't open %s as a TIFF file\n", argv[3]);
- free(red);free(green);free(blue);
- return 0;
- }
-
- TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
- TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
- TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bits_per_pixel);
- TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
- TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_PALETTE);
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
- TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
- TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
- TIFFSetField(tif, TIFFTAG_COLORMAP, red, green, blue);
-
- scan_line = (unsigned char *) malloc(WIDTH / (8 / bits_per_pixel));
-
- for (i = 0; i < HEIGHT; i++) {
- for (j = 0, k = 0; j < WIDTH;) {
- cmap_index = (j / chunk_size) + ((i / chunk_size) * nchunks);
-
- switch (bits_per_pixel) {
- case 8:
- scan_line[k++] = cmap_index;
- j++;
- break;
- case 4:
- scan_line[k++] = (cmap_index << 4) + cmap_index;
- j += 2;
- break;
- case 2:
- scan_line[k++] = (cmap_index << 6) + (cmap_index << 4)
- + (cmap_index << 2) + cmap_index;
- j += 4;
- break;
- case 1:
- scan_line[k++] =
- ((j / chunk_size) == (i / chunk_size)) ? 0x00 : 0xff;
- j += 8;
- break;
- }
- }
- TIFFWriteScanline(tif, scan_line, i, 0);
- }
-
- free(scan_line);
- TIFFClose(tif);
- return 0;
-}
-
-void
-Usage()
-{
- fprintf(stderr, "Usage: %s -depth (8 | 4 | 2 | 1) tiff-image\n", programName);
- exit(0);
-}
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/tiff-rgb.c b/tiff/contrib/dbs/tiff-rgb.c
deleted file mode 100755
index bf90499..0000000
--- a/tiff/contrib/dbs/tiff-rgb.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/* $Id: tiff-rgb.c,v 1.4 2010-06-08 18:55:15 bfriesen Exp $ */
-
-/*
- * tiff-rgb.c -- create a 24-bit Class R (rgb) TIFF file
- *
- * Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "tiffio.h"
-
-#define ROUND(x) (uint16) ((x) + 0.5)
-#define CMSIZE 256
-#define WIDTH 525
-#define HEIGHT 512
-#define TIFF_GAMMA 2.2
-
-void Usage();
-char * programName;
-
-int main(int argc, char **argv)
-{
- char * input_file = NULL;
- double image_gamma = TIFF_GAMMA;
- int i, j;
- TIFF * tif;
- unsigned char * scan_line;
- uint16 red[CMSIZE], green[CMSIZE], blue[CMSIZE];
- float refblackwhite[2*3];
-
- programName = argv[0];
-
- switch (argc) {
- case 2:
- image_gamma = TIFF_GAMMA;
- input_file = argv[1];
- break;
- case 4:
- if (!strcmp(argv[1], "-gamma")) {
- image_gamma = atof(argv[2]);
- input_file = argv[3];
- } else
- Usage();
- break;
- default:
- Usage();
- }
-
- for (i = 0; i < CMSIZE; i++) {
- if (i == 0)
- red[i] = green[i] = blue[i] = 0;
- else {
- red[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
- green[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
- blue[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
- }
- }
- refblackwhite[0] = 0.0; refblackwhite[1] = 255.0;
- refblackwhite[2] = 0.0; refblackwhite[3] = 255.0;
- refblackwhite[4] = 0.0; refblackwhite[5] = 255.0;
-
- if ((tif = TIFFOpen(input_file, "w")) == NULL) {
- fprintf(stderr, "can't open %s as a TIFF file\n", input_file);
- exit(0);
- }
-
- TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
- TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
- TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8);
- TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
- TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB);
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 3);
- TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
- TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
-#ifdef notdef
- TIFFSetField(tif, TIFFTAG_WHITEPOINT, whitex, whitey);
- TIFFSetField(tif, TIFFTAG_PRIMARYCHROMATICITIES, primaries);
-#endif
- TIFFSetField(tif, TIFFTAG_REFERENCEBLACKWHITE, refblackwhite);
- TIFFSetField(tif, TIFFTAG_TRANSFERFUNCTION, red, green, blue);
-
- scan_line = (unsigned char *) malloc(WIDTH * 3);
-
- for (i = 0; i < 255; i++) {
- for (j = 0; j < 75; j++) {
- scan_line[j * 3] = 255;
- scan_line[(j * 3) + 1] = 255 - i;
- scan_line[(j * 3) + 2] = 255 - i;
- }
- for (j = 75; j < 150; j++) {
- scan_line[j * 3] = 255 - i;
- scan_line[(j * 3) + 1] = 255;
- scan_line[(j * 3) + 2] = 255 - i;
- }
- for (j = 150; j < 225; j++) {
- scan_line[j * 3] = 255 - i;
- scan_line[(j * 3) + 1] = 255 - i;
- scan_line[(j * 3) + 2] = 255;
- }
- for (j = 225; j < 300; j++) {
- scan_line[j * 3] = (i - 1) / 2;
- scan_line[(j * 3) + 1] = (i - 1) / 2;
- scan_line[(j * 3) + 2] = (i - 1) / 2;
- }
- for (j = 300; j < 375; j++) {
- scan_line[j * 3] = 255 - i;
- scan_line[(j * 3) + 1] = 255;
- scan_line[(j * 3) + 2] = 255;
- }
- for (j = 375; j < 450; j++) {
- scan_line[j * 3] = 255;
- scan_line[(j * 3) + 1] = 255 - i;
- scan_line[(j * 3) + 2] = 255;
- }
- for (j = 450; j < 525; j++) {
- scan_line[j * 3] = 255;
- scan_line[(j * 3) + 1] = 255;
- scan_line[(j * 3) + 2] = 255 - i;
- }
- TIFFWriteScanline(tif, scan_line, i, 0);
- }
- for (i = 255; i < 512; i++) {
- for (j = 0; j < 75; j++) {
- scan_line[j * 3] = i;
- scan_line[(j * 3) + 1] = 0;
- scan_line[(j * 3) + 2] = 0;
- }
- for (j = 75; j < 150; j++) {
- scan_line[j * 3] = 0;
- scan_line[(j * 3) + 1] = i;
- scan_line[(j * 3) + 2] = 0;
- }
- for (j = 150; j < 225; j++) {
- scan_line[j * 3] = 0;
- scan_line[(j * 3) + 1] = 0;
- scan_line[(j * 3) + 2] = i;
- }
- for (j = 225; j < 300; j++) {
- scan_line[j * 3] = (i - 1) / 2;
- scan_line[(j * 3) + 1] = (i - 1) / 2;
- scan_line[(j * 3) + 2] = (i - 1) / 2;
- }
- for (j = 300; j < 375; j++) {
- scan_line[j * 3] = 0;
- scan_line[(j * 3) + 1] = i;
- scan_line[(j * 3) + 2] = i;
- }
- for (j = 375; j < 450; j++) {
- scan_line[j * 3] = i;
- scan_line[(j * 3) + 1] = 0;
- scan_line[(j * 3) + 2] = i;
- }
- for (j = 450; j < 525; j++) {
- scan_line[j * 3] = i;
- scan_line[(j * 3) + 1] = i;
- scan_line[(j * 3) + 2] = 0;
- }
- TIFFWriteScanline(tif, scan_line, i, 0);
- }
-
- free(scan_line);
- TIFFClose(tif);
- exit(0);
-}
-
-void
-Usage()
-{
- fprintf(stderr, "Usage: %s -gamma gamma tiff-image\n", programName);
- exit(0);
-}
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/xtiff/Makefile.am b/tiff/contrib/dbs/xtiff/Makefile.am
deleted file mode 100755
index 749f5ce..0000000
--- a/tiff/contrib/dbs/xtiff/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# 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.
-
-# Process this file with automake to produce Makefile.in.
-
-#LIBTIFF = $(top_builddir)/libtiff/libtiff.la
-
-EXTRA_DIST = README patchlevel.h xtiff.c xtifficon.h
-
-#noinst_PROGRAMS =
-
-#if HAVE_XAW
-#noinst_PROGRAMS += xtiff
-#endif
-
-#xtiff_SOURCES = patchlevel.h xtiff.c xtifficon.h
-#xtiff_CFLAGS = $(CFLAGS) $(XAW_CFLAGS) $(AM_CFLAGS)
-#xtiff_LDADD = $(LIBTIFF) $(X_LIBS) $(XAW_LIBS)
-
-#INCLUDES = -I$(top_srcdir)/libtiff
-
diff --git a/tiff/contrib/dbs/xtiff/Makefile.in b/tiff/contrib/dbs/xtiff/Makefile.in
deleted file mode 100755
index de139dd..0000000
--- a/tiff/contrib/dbs/xtiff/Makefile.in
+++ /dev/null
@@ -1,509 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# 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.
-
-# Process this file with automake to produce Makefile.in.
-
-#LIBTIFF = $(top_builddir)/libtiff/libtiff.la
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = contrib/dbs/xtiff
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/libtiff/tif_config.h \
- $(top_builddir)/libtiff/tiffconf.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/config/mkinstalldirs README
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-GLU_CFLAGS = @GLU_CFLAGS@
-GLU_LIBS = @GLU_LIBS@
-GL_CFLAGS = @GL_CFLAGS@
-GL_LIBS = @GL_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBDIR = @LIBDIR@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTIFF_ALPHA_VERSION = @LIBTIFF_ALPHA_VERSION@
-LIBTIFF_DOCDIR = @LIBTIFF_DOCDIR@
-LIBTIFF_MAJOR_VERSION = @LIBTIFF_MAJOR_VERSION@
-LIBTIFF_MICRO_VERSION = @LIBTIFF_MICRO_VERSION@
-LIBTIFF_MINOR_VERSION = @LIBTIFF_MINOR_VERSION@
-LIBTIFF_RELEASE_DATE = @LIBTIFF_RELEASE_DATE@
-LIBTIFF_VERSION = @LIBTIFF_VERSION@
-LIBTIFF_VERSION_INFO = @LIBTIFF_VERSION_INFO@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PTHREAD_CC = @PTHREAD_CC@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-ax_pthread_config = @ax_pthread_config@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-tiff_libs_private = @tiff_libs_private@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = README patchlevel.h xtiff.c xtifficon.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/dbs/xtiff/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign contrib/dbs/xtiff/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- cscopelist-am ctags-am distclean distclean-generic \
- distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-#noinst_PROGRAMS =
-
-#if HAVE_XAW
-#noinst_PROGRAMS += xtiff
-#endif
-
-#xtiff_SOURCES = patchlevel.h xtiff.c xtifficon.h
-#xtiff_CFLAGS = $(CFLAGS) $(XAW_CFLAGS) $(AM_CFLAGS)
-#xtiff_LDADD = $(LIBTIFF) $(X_LIBS) $(XAW_LIBS)
-
-#INCLUDES = -I$(top_srcdir)/libtiff
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tiff/contrib/dbs/xtiff/README b/tiff/contrib/dbs/xtiff/README
deleted file mode 100755
index fa15147..0000000
--- a/tiff/contrib/dbs/xtiff/README
+++ /dev/null
@@ -1,6 +0,0 @@
-xtiff 2.0
-
-xtiff is a tool for viewing a TIFF file in an X window. It was written to
-handle as many different kinds of TIFF files as possible while remaining
-simple, portable and efficient. xtiff requires X11 R4, the Athena Widgets
-and Sam Leffler's libtiff package (which can be found on ucbvax.berkeley.edu).
diff --git a/tiff/contrib/dbs/xtiff/patchlevel.h b/tiff/contrib/dbs/xtiff/patchlevel.h
deleted file mode 100755
index 538b6d9..0000000
--- a/tiff/contrib/dbs/xtiff/patchlevel.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#define PATCHLEVEL 0
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/xtiff/xtiff.c b/tiff/contrib/dbs/xtiff/xtiff.c
deleted file mode 100755
index 97e4ffe..0000000
--- a/tiff/contrib/dbs/xtiff/xtiff.c
+++ /dev/null
@@ -1,1290 +0,0 @@
-/*
- * $Id: xtiff.c,v 1.4 2013-05-02 14:44:29 tgl Exp $
- *
- * xtiff - view a TIFF file in an X window
- *
- * Dan Sears
- * Chris Sears
- *
- * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Revision 1.0 90/05/07
- * Initial release.
- * Revision 2.0 90/12/20
- * Converted to use the Athena Widgets and the Xt Intrinsics.
- *
- * Notes:
- *
- * According to the TIFF 5.0 Specification, it is possible to have
- * both a TIFFTAG_COLORMAP and a TIFFTAG_COLORRESPONSECURVE. This
- * doesn't make sense since a TIFFTAG_COLORMAP is 16 bits wide and
- * a TIFFTAG_COLORRESPONSECURVE is tfBitsPerSample bits wide for each
- * channel. This is probably a bug in the specification.
- * In this case, TIFFTAG_COLORRESPONSECURVE is ignored.
- * This might make sense if TIFFTAG_COLORMAP was 8 bits wide.
- *
- * TIFFTAG_COLORMAP is often incorrectly written as ranging from
- * 0 to 255 rather than from 0 to 65535. CheckAndCorrectColormap()
- * takes care of this.
- *
- * Only ORIENTATION_TOPLEFT is supported correctly. This is the
- * default TIFF and X orientation. Other orientations will be
- * displayed incorrectly.
- *
- * There is no support for or use of 3/3/2 DirectColor visuals.
- * TIFFTAG_MINSAMPLEVALUE and TIFFTAG_MAXSAMPLEVALUE are not supported.
- *
- * Only TIFFTAG_BITSPERSAMPLE values that are 1, 2, 4 or 8 are supported.
- */
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <tiffio.h>
-#include <X11/Xatom.h>
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include <X11/Xproto.h>
-#include <X11/Shell.h>
-#include <X11/Xaw/Form.h>
-#include <X11/Xaw/List.h>
-#include <X11/Xaw/Label.h>
-#include <X11/cursorfont.h>
-#define XK_MISCELLANY
-#include <X11/keysymdef.h>
-#include "xtifficon.h"
-
-#define TIFF_GAMMA "2.2" /* default gamma from the TIFF 5.0 spec */
-#define ROUND(x) (uint16) ((x) + 0.5)
-#define SCALE(x, s) (((x) * 65535L) / (s))
-#define MCHECK(m) if (!m) { fprintf(stderr, "malloc failed\n"); exit(0); }
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#define MAX(a, b) (((a) > (b)) ? (a) : (b))
-#define VIEWPORT_WIDTH 700
-#define VIEWPORT_HEIGHT 500
-#define KEY_TRANSLATE 20
-
-#ifdef __STDC__
-#define PP(args) args
-#else
-#define PP(args) ()
-#endif
-
-int main PP((int argc, char **argv));
-void OpenTIFFFile PP((void));
-void GetTIFFHeader PP((void));
-void SetNameLabel PP((void));
-void CheckAndCorrectColormap PP((void));
-void SimpleGammaCorrection PP((void));
-void GetVisual PP((void));
-Boolean SearchVisualList PP((int image_depth,
- int visual_class, Visual **visual));
-void GetTIFFImage PP((void));
-void CreateXImage PP((void));
-XtCallbackProc SelectProc PP((Widget w, caddr_t unused_1, caddr_t unused_2));
-void QuitProc PP((void));
-void NextProc PP((void));
-void PreviousProc PP((void));
-void PageProc PP((int direction));
-void EventProc PP((Widget widget, caddr_t unused, XEvent *event));
-void ResizeProc PP((void));
-int XTiffErrorHandler PP((Display *display, XErrorEvent *error_event));
-void Usage PP((void));
-
-int xtVersion = XtSpecificationRelease; /* xtiff depends on R4 or higher */
-
-/*
- * Xt data structures
- */
-Widget shellWidget, formWidget, listWidget, labelWidget, imageWidget;
-
-enum { ButtonQuit = 0, ButtonPreviousPage = 1, ButtonNextPage = 2 };
-
-String buttonStrings[] = { "Quit", "Previous", "Next" };
-
-static XrmOptionDescRec shellOptions[] = {
- { "-help", "*help", XrmoptionNoArg, (caddr_t) "True" },
- { "-gamma", "*gamma", XrmoptionSepArg, NULL },
- { "-usePixmap", "*usePixmap", XrmoptionSepArg, NULL },
- { "-viewportWidth", "*viewportWidth", XrmoptionSepArg, NULL },
- { "-viewportHeight", "*viewportHeight", XrmoptionSepArg, NULL },
- { "-translate", "*translate", XrmoptionSepArg, NULL },
- { "-verbose", "*verbose", XrmoptionSepArg, NULL }
-};
-
-typedef struct {
- Boolean help;
- float gamma;
- Boolean usePixmap;
- uint32 viewportWidth;
- uint32 viewportHeight;
- int translate;
- Boolean verbose;
-} AppData, *AppDataPtr;
-
-AppData appData;
-
-XtResource clientResources[] = {
- {
- "help", XtCBoolean, XtRBoolean, sizeof(Boolean),
- XtOffset(AppDataPtr, help), XtRImmediate, (XtPointer) False
- }, {
- "gamma", "Gamma", XtRFloat, sizeof(float),
- XtOffset(AppDataPtr, gamma), XtRString, (XtPointer) TIFF_GAMMA
- }, {
- "usePixmap", "UsePixmap", XtRBoolean, sizeof(Boolean),
- XtOffset(AppDataPtr, usePixmap), XtRImmediate, (XtPointer) True
- }, {
- "viewportWidth", "ViewportWidth", XtRInt, sizeof(int),
- XtOffset(AppDataPtr, viewportWidth), XtRImmediate,
- (XtPointer) VIEWPORT_WIDTH
- }, {
- "viewportHeight", "ViewportHeight", XtRInt, sizeof(int),
- XtOffset(AppDataPtr, viewportHeight), XtRImmediate,
- (XtPointer) VIEWPORT_HEIGHT
- }, {
- "translate", "Translate", XtRInt, sizeof(int),
- XtOffset(AppDataPtr, translate), XtRImmediate, (XtPointer) KEY_TRANSLATE
- }, {
- "verbose", "Verbose", XtRBoolean, sizeof(Boolean),
- XtOffset(AppDataPtr, verbose), XtRImmediate, (XtPointer) True
- }
-};
-
-Arg formArgs[] = {
- { XtNresizable, True }
-};
-
-Arg listArgs[] = {
- { XtNresizable, False },
- { XtNborderWidth, 0 },
- { XtNdefaultColumns, 3 },
- { XtNforceColumns, True },
- { XtNlist, (int) buttonStrings },
- { XtNnumberStrings, XtNumber(buttonStrings) },
- { XtNtop, XtChainTop },
- { XtNleft, XtChainLeft },
- { XtNbottom, XtChainTop },
- { XtNright, XtChainLeft }
-};
-
-Arg labelArgs[] = {
- { XtNresizable, False },
- { XtNwidth, 200 },
- { XtNborderWidth, 0 },
- { XtNjustify, XtJustifyLeft },
- { XtNtop, XtChainTop },
- { XtNleft, XtChainLeft },
- { XtNbottom, XtChainTop },
- { XtNright, XtChainLeft }
-};
-
-Arg imageArgs[] = {
- { XtNresizable, True },
- { XtNborderWidth, 0 },
- { XtNtop, XtChainTop },
- { XtNleft, XtChainLeft },
- { XtNbottom, XtChainTop },
- { XtNright, XtChainLeft }
-};
-
-XtActionsRec actionsTable[] = {
- { "quit", QuitProc },
- { "next", NextProc },
- { "previous", PreviousProc },
- { "notifyresize", ResizeProc }
-};
-
-char translationsTable[] = "<Key>q: quit() \n \
- <Key>Q: quit() \n \
- <Message>WM_PROTOCOLS: quit()\n \
- <Key>p: previous() \n \
- <Key>P: previous() \n \
- <Key>n: next() \n \
- <Key>N: next() \n \
- <Configure>: notifyresize()";
-
-/*
- * X data structures
- */
-Colormap xColormap;
-Display * xDisplay;
-Pixmap xImagePixmap;
-Visual * xVisual;
-XImage * xImage;
-GC xWinGc;
-int xImageDepth, xScreen, xRedMask, xGreenMask, xBlueMask,
- xOffset = 0, yOffset = 0, grabX = -1, grabY = -1;
-unsigned char basePixel = 0;
-
-/*
- * TIFF data structures
- */
-TIFF * tfFile = NULL;
-uint32 tfImageWidth, tfImageHeight;
-uint16 tfBitsPerSample, tfSamplesPerPixel, tfPlanarConfiguration,
- tfPhotometricInterpretation, tfGrayResponseUnit,
- tfImageDepth, tfBytesPerRow;
-int tfDirectory = 0, tfMultiPage = False;
-double tfUnitMap, tfGrayResponseUnitMap[] = {
- -1, -10, -100, -1000, -10000, -100000
- };
-
-/*
- * display data structures
- */
-double *dRed, *dGreen, *dBlue;
-
-/*
- * shared data structures
- */
-uint16 * redMap = NULL, *greenMap = NULL, *blueMap = NULL,
- *grayMap = NULL, colormapSize;
-char * imageMemory;
-char * fileName;
-
-int
-main(int argc, char **argv)
-{
- XSetWindowAttributes window_attributes;
- Widget widget_list[3];
- Arg args[5];
-
- setbuf(stdout, NULL); setbuf(stderr, NULL);
-
- shellWidget = XtInitialize(argv[0], "XTiff", shellOptions,
- XtNumber(shellOptions), &argc, argv);
-
- XSetErrorHandler(XTiffErrorHandler);
-
- XtGetApplicationResources(shellWidget, &appData,
- (XtResourceList) clientResources, (Cardinal) XtNumber(clientResources),
- (ArgList) NULL, (Cardinal) 0);
-
- if ((argc <= 1) || (argc > 2) || appData.help)
- Usage();
-
- if (appData.verbose == False) {
- TIFFSetErrorHandler(0);
- TIFFSetWarningHandler(0);
- }
-
- fileName = argv[1];
-
- xDisplay = XtDisplay(shellWidget);
- xScreen = DefaultScreen(xDisplay);
-
- OpenTIFFFile();
- GetTIFFHeader();
- SimpleGammaCorrection();
- GetVisual();
- GetTIFFImage();
-
- /*
- * Send visual, colormap, depth and iconPixmap to shellWidget.
- * Sending the visual to the shell is only possible with the advent of R4.
- */
- XtSetArg(args[0], XtNvisual, xVisual);
- XtSetArg(args[1], XtNcolormap, xColormap);
- XtSetArg(args[2], XtNdepth,
- xImageDepth == 1 ? DefaultDepth(xDisplay, xScreen) : xImageDepth);
- XtSetArg(args[3], XtNiconPixmap,
- XCreateBitmapFromData(xDisplay, RootWindow(xDisplay, xScreen),
- xtifficon_bits, xtifficon_width, xtifficon_height));
- XtSetArg(args[4], XtNallowShellResize, True);
- XtSetValues(shellWidget, args, 5);
-
- /*
- * widget instance hierarchy
- */
- formWidget = XtCreateManagedWidget("form", formWidgetClass,
- shellWidget, formArgs, XtNumber(formArgs));
-
- widget_list[0] = listWidget = XtCreateWidget("list",
- listWidgetClass, formWidget, listArgs, XtNumber(listArgs));
-
- widget_list[1] = labelWidget = XtCreateWidget("label",
- labelWidgetClass, formWidget, labelArgs, XtNumber(labelArgs));
-
- widget_list[2] = imageWidget = XtCreateWidget("image",
- widgetClass, formWidget, imageArgs, XtNumber(imageArgs));
-
- XtManageChildren(widget_list, XtNumber(widget_list));
-
- /*
- * initial widget sizes - for small images let xtiff size itself
- */
- if (tfImageWidth >= appData.viewportWidth) {
- XtSetArg(args[0], XtNwidth, appData.viewportWidth);
- XtSetValues(shellWidget, args, 1);
- }
- if (tfImageHeight >= appData.viewportHeight) {
- XtSetArg(args[0], XtNheight, appData.viewportHeight);
- XtSetValues(shellWidget, args, 1);
- }
-
- XtSetArg(args[0], XtNwidth, tfImageWidth);
- XtSetArg(args[1], XtNheight, tfImageHeight);
- XtSetValues(imageWidget, args, 2);
-
- /*
- * formWidget uses these constraints but they are stored in the children.
- */
- XtSetArg(args[0], XtNfromVert, listWidget);
- XtSetValues(imageWidget, args, 1);
- XtSetArg(args[0], XtNfromHoriz, listWidget);
- XtSetValues(labelWidget, args, 1);
-
- SetNameLabel();
-
- XtAddCallback(listWidget, XtNcallback, (XtCallbackProc) SelectProc,
- (XtPointer) NULL);
-
- XtAddActions(actionsTable, XtNumber(actionsTable));
- XtSetArg(args[0], XtNtranslations,
- XtParseTranslationTable(translationsTable));
- XtSetValues(formWidget, &args[0], 1);
- XtSetValues(imageWidget, &args[0], 1);
-
- /*
- * This is intended to be a little faster than going through
- * the translation manager.
- */
- XtAddEventHandler(imageWidget, ExposureMask | ButtonPressMask
- | ButtonReleaseMask | Button1MotionMask | KeyPressMask,
- False, EventProc, NULL);
-
- XtRealizeWidget(shellWidget);
-
- window_attributes.cursor = XCreateFontCursor(xDisplay, XC_fleur);
- XChangeWindowAttributes(xDisplay, XtWindow(imageWidget),
- CWCursor, &window_attributes);
-
- CreateXImage();
-
- XtMainLoop();
-
- return 0;
-}
-
-void
-OpenTIFFFile()
-{
- if (tfFile != NULL)
- TIFFClose(tfFile);
-
- if ((tfFile = TIFFOpen(fileName, "r")) == NULL) {
- fprintf(appData.verbose ? stderr : stdout,
- "xtiff: can't open %s as a TIFF file\n", fileName);
- exit(0);
- }
-
- tfMultiPage = (TIFFLastDirectory(tfFile) ? False : True);
-}
-
-void
-GetTIFFHeader()
-{
- register int i;
-
- if (!TIFFSetDirectory(tfFile, tfDirectory)) {
- fprintf(stderr, "xtiff: can't seek to directory %d in %s\n",
- tfDirectory, fileName);
- exit(0);
- }
-
- TIFFGetField(tfFile, TIFFTAG_IMAGEWIDTH, &tfImageWidth);
- TIFFGetField(tfFile, TIFFTAG_IMAGELENGTH, &tfImageHeight);
-
- /*
- * If the following tags aren't present then use the TIFF defaults.
- */
- TIFFGetFieldDefaulted(tfFile, TIFFTAG_BITSPERSAMPLE, &tfBitsPerSample);
- TIFFGetFieldDefaulted(tfFile, TIFFTAG_SAMPLESPERPIXEL, &tfSamplesPerPixel);
- TIFFGetFieldDefaulted(tfFile, TIFFTAG_PLANARCONFIG, &tfPlanarConfiguration);
- TIFFGetFieldDefaulted(tfFile, TIFFTAG_GRAYRESPONSEUNIT, &tfGrayResponseUnit);
-
- tfUnitMap = tfGrayResponseUnitMap[tfGrayResponseUnit];
- colormapSize = 1 << tfBitsPerSample;
- tfImageDepth = tfBitsPerSample * tfSamplesPerPixel;
-
- dRed = (double *) malloc(colormapSize * sizeof(double));
- dGreen = (double *) malloc(colormapSize * sizeof(double));
- dBlue = (double *) malloc(colormapSize * sizeof(double));
- MCHECK(dRed); MCHECK(dGreen); MCHECK(dBlue);
-
- /*
- * If TIFFTAG_PHOTOMETRIC is not present then assign a reasonable default.
- * The TIFF 5.0 specification doesn't give a default.
- */
- if (!TIFFGetField(tfFile, TIFFTAG_PHOTOMETRIC,
- &tfPhotometricInterpretation)) {
- if (tfSamplesPerPixel != 1)
- tfPhotometricInterpretation = PHOTOMETRIC_RGB;
- else if (tfBitsPerSample == 1)
- tfPhotometricInterpretation = PHOTOMETRIC_MINISBLACK;
- else if (TIFFGetField(tfFile, TIFFTAG_COLORMAP,
- &redMap, &greenMap, &blueMap)) {
- tfPhotometricInterpretation = PHOTOMETRIC_PALETTE;
- redMap = greenMap = blueMap = NULL;
- } else
- tfPhotometricInterpretation = PHOTOMETRIC_MINISBLACK;
- }
-
- /*
- * Given TIFFTAG_PHOTOMETRIC extract or create the response curves.
- */
- switch (tfPhotometricInterpretation) {
- case PHOTOMETRIC_RGB:
- redMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- greenMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- blueMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- MCHECK(redMap); MCHECK(greenMap); MCHECK(blueMap);
- for (i = 0; i < colormapSize; i++)
- dRed[i] = dGreen[i] = dBlue[i]
- = (double) SCALE(i, colormapSize - 1);
- break;
- case PHOTOMETRIC_PALETTE:
- if (!TIFFGetField(tfFile, TIFFTAG_COLORMAP,
- &redMap, &greenMap, &blueMap)) {
- redMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- greenMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- blueMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- MCHECK(redMap); MCHECK(greenMap); MCHECK(blueMap);
- for (i = 0; i < colormapSize; i++)
- dRed[i] = dGreen[i] = dBlue[i]
- = (double) SCALE(i, colormapSize - 1);
- } else {
- CheckAndCorrectColormap();
- for (i = 0; i < colormapSize; i++) {
- dRed[i] = (double) redMap[i];
- dGreen[i] = (double) greenMap[i];
- dBlue[i] = (double) blueMap[i];
- }
- }
- break;
- case PHOTOMETRIC_MINISWHITE:
- redMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- greenMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- blueMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- MCHECK(redMap); MCHECK(greenMap); MCHECK(blueMap);
- for (i = 0; i < colormapSize; i++)
- dRed[i] = dGreen[i] = dBlue[i] = (double)
- SCALE(colormapSize-1-i, colormapSize-1);
- break;
- case PHOTOMETRIC_MINISBLACK:
- redMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- greenMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- blueMap = (uint16 *) malloc(colormapSize * sizeof(uint16));
- MCHECK(redMap); MCHECK(greenMap); MCHECK(blueMap);
- for (i = 0; i < colormapSize; i++)
- dRed[i] = dGreen[i] = dBlue[i] = (double) SCALE(i, colormapSize-1);
- break;
- default:
- fprintf(stderr,
- "xtiff: can't display photometric interpretation type %d\n",
- tfPhotometricInterpretation);
- exit(0);
- }
-}
-
-void
-SetNameLabel()
-{
- char buffer[BUFSIZ];
- Arg args[1];
-
- if (tfMultiPage)
- snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory);
- else
- snprintf(buffer, sizeof(buffer), "%s", fileName);
- XtSetArg(args[0], XtNlabel, buffer);
- XtSetValues(labelWidget, args, 1);
-}
-
-/*
- * Many programs get TIFF colormaps wrong. They use 8-bit colormaps instead of
- * 16-bit colormaps. This function is a heuristic to detect and correct this.
- */
-void
-CheckAndCorrectColormap()
-{
- register int i;
-
- for (i = 0; i < colormapSize; i++)
- if ((redMap[i] > 255) || (greenMap[i] > 255) || (blueMap[i] > 255))
- return;
-
- for (i = 0; i < colormapSize; i++) {
- redMap[i] = SCALE(redMap[i], 255);
- greenMap[i] = SCALE(greenMap[i], 255);
- blueMap[i] = SCALE(blueMap[i], 255);
- }
- TIFFWarning(fileName, "Assuming 8-bit colormap");
-}
-
-void
-SimpleGammaCorrection()
-{
- register int i;
- register double i_gamma = 1.0 / appData.gamma;
-
- for (i = 0; i < colormapSize; i++) {
- if (((tfPhotometricInterpretation == PHOTOMETRIC_MINISWHITE)
- && (i == colormapSize - 1))
- || ((tfPhotometricInterpretation == PHOTOMETRIC_MINISBLACK)
- && (i == 0)))
- redMap[i] = greenMap[i] = blueMap[i] = 0;
- else {
- redMap[i] = ROUND((pow(dRed[i] / 65535.0, i_gamma) * 65535.0));
- greenMap[i] = ROUND((pow(dGreen[i] / 65535.0, i_gamma) * 65535.0));
- blueMap[i] = ROUND((pow(dBlue[i] / 65535.0, i_gamma) * 65535.0));
- }
- }
-
- free(dRed); free(dGreen); free(dBlue);
-}
-
-static char* classNames[] = {
- "StaticGray",
- "GrayScale",
- "StaticColor",
- "PseudoColor",
- "TrueColor",
- "DirectColor"
-};
-
-/*
- * Current limitation: the visual is set initially by the first file.
- * It cannot be changed.
- */
-void
-GetVisual()
-{
- XColor *colors = NULL;
- unsigned long *pixels = NULL;
- unsigned long i;
-
- switch (tfImageDepth) {
- /*
- * X really wants a 32-bit image with the fourth channel unused,
- * but the visual structure thinks it's 24-bit. bitmap_unit is 32.
- */
- case 32:
- case 24:
- if (SearchVisualList(24, DirectColor, &xVisual) == False) {
- fprintf(stderr, "xtiff: 24-bit DirectColor visual not available\n");
- exit(0);
- }
-
- colors = (XColor *) malloc(3 * colormapSize * sizeof(XColor));
- MCHECK(colors);
-
- for (i = 0; i < colormapSize; i++) {
- colors[i].pixel = (i << 16) + (i << 8) + i;
- colors[i].red = redMap[i];
- colors[i].green = greenMap[i];
- colors[i].blue = blueMap[i];
- colors[i].flags = DoRed | DoGreen | DoBlue;
- }
-
- xColormap = XCreateColormap(xDisplay, RootWindow(xDisplay, xScreen),
- xVisual, AllocAll);
- XStoreColors(xDisplay, xColormap, colors, colormapSize);
- break;
- case 8:
- case 4:
- case 2:
- /*
- * We assume that systems with 24-bit visuals also have 8-bit visuals.
- * We don't promote from 8-bit PseudoColor to 24/32 bit DirectColor.
- */
- switch (tfPhotometricInterpretation) {
- case PHOTOMETRIC_MINISWHITE:
- case PHOTOMETRIC_MINISBLACK:
- if (SearchVisualList((int) tfImageDepth, GrayScale, &xVisual) == True)
- break;
- case PHOTOMETRIC_PALETTE:
- if (SearchVisualList((int) tfImageDepth, PseudoColor, &xVisual) == True)
- break;
- default:
- fprintf(stderr, "xtiff: Unsupported TIFF/X configuration\n");
- exit(0);
- }
-
- colors = (XColor *) malloc(colormapSize * sizeof(XColor));
- MCHECK(colors);
-
- for (i = 0; i < colormapSize; i++) {
- colors[i].pixel = i;
- colors[i].red = redMap[i];
- colors[i].green = greenMap[i];
- colors[i].blue = blueMap[i];
- colors[i].flags = DoRed | DoGreen | DoBlue;
- }
-
- /*
- * xtiff's colormap allocation is private. It does not attempt
- * to detect whether any existing colormap entries are suitable
- * for its use. This will cause colormap flashing. Furthermore,
- * background and foreground are taken from the environment.
- * For example, the foreground color may be red when the visual
- * is GrayScale. If the colormap is completely populated,
- * Xt will not be able to allocate fg and bg.
- */
- if (tfImageDepth == 8)
- xColormap = XCreateColormap(xDisplay, RootWindow(xDisplay, xScreen),
- xVisual, AllocAll);
- else {
- xColormap = XCreateColormap(xDisplay, RootWindow(xDisplay, xScreen),
- xVisual, AllocNone);
- pixels = (unsigned long *)
- malloc(colormapSize * sizeof(unsigned long));
- MCHECK(pixels);
- (void) XAllocColorCells(xDisplay, xColormap, True,
- NULL, 0, pixels, colormapSize);
- basePixel = (unsigned char) pixels[0];
- free(pixels);
- }
- XStoreColors(xDisplay, xColormap, colors, colormapSize);
- break;
- case 1:
- xImageDepth = 1;
- xVisual = DefaultVisual(xDisplay, xScreen);
- xColormap = DefaultColormap(xDisplay, xScreen);
- break;
- default:
- fprintf(stderr, "xtiff: unsupported image depth %d\n", tfImageDepth);
- exit(0);
- }
-
- if (appData.verbose == True)
- fprintf(stderr, "%s: Using %d-bit %s visual.\n",
- fileName, xImageDepth, classNames[xVisual->class]);
-
- if (colors != NULL)
- free(colors);
- if (grayMap != NULL)
- free(grayMap);
- if (redMap != NULL)
- free(redMap);
- if (greenMap != NULL)
- free(greenMap);
- if (blueMap != NULL)
- free(blueMap);
-
- colors = NULL; grayMap = redMap = greenMap = blueMap = NULL;
-}
-
-/*
- * Search for an appropriate visual. Promote where necessary.
- * Check to make sure that ENOUGH colormap entries are writeable.
- * basePixel was determined when XAllocColorCells() contiguously
- * allocated enough entries. basePixel is used below in GetTIFFImage.
- */
-Boolean
-SearchVisualList(image_depth, visual_class, visual)
- int image_depth, visual_class;
- Visual **visual;
-{
- XVisualInfo template_visual, *visual_list, *vl;
- int i, n_visuals;
-
- template_visual.screen = xScreen;
- vl = visual_list = XGetVisualInfo(xDisplay, VisualScreenMask,
- &template_visual, &n_visuals);
-
- if (n_visuals == 0) {
- fprintf(stderr, "xtiff: visual list not available\n");
- exit(0);
- }
-
- for (i = 0; i < n_visuals; vl++, i++) {
- if ((vl->class == visual_class) && (vl->depth >= image_depth)
- && (vl->visual->map_entries >= (1 << vl->depth))) {
- *visual = vl->visual;
- xImageDepth = vl->depth;
- xRedMask = vl->red_mask;
- xGreenMask = vl->green_mask;
- xBlueMask = vl->blue_mask;
- XFree((char *) visual_list);
- return True;
- }
- }
-
- XFree((char *) visual_list);
- return False;
-}
-
-void
-GetTIFFImage()
-{
- int pixel_map[3], red_shift, green_shift, blue_shift;
- char *scan_line, *output_p, *input_p;
- uint32 i, j;
- uint16 s;
-
- scan_line = (char *) malloc(tfBytesPerRow = TIFFScanlineSize(tfFile));
- MCHECK(scan_line);
-
- if ((tfImageDepth == 32) || (tfImageDepth == 24)) {
- output_p = imageMemory = (char *)
- malloc(tfImageWidth * tfImageHeight * 4);
- MCHECK(imageMemory);
-
- /*
- * Handle different color masks for different frame buffers.
- */
- if (ImageByteOrder(xDisplay) == LSBFirst) { /* DECstation 5000 */
- red_shift = pixel_map[0] = xRedMask == 0xFF000000 ? 3
- : (xRedMask == 0xFF0000 ? 2 : (xRedMask == 0xFF00 ? 1 : 0));
- green_shift = pixel_map[1] = xGreenMask == 0xFF000000 ? 3
- : (xGreenMask == 0xFF0000 ? 2 : (xGreenMask == 0xFF00 ? 1 : 0));
- blue_shift = pixel_map[2] = xBlueMask == 0xFF000000 ? 3
- : (xBlueMask == 0xFF0000 ? 2 : (xBlueMask == 0xFF00 ? 1 : 0));
- } else { /* Ardent */
- red_shift = pixel_map[0] = xRedMask == 0xFF000000 ? 0
- : (xRedMask == 0xFF0000 ? 1 : (xRedMask == 0xFF00 ? 2 : 3));
- green_shift = pixel_map[0] = xGreenMask == 0xFF000000 ? 0
- : (xGreenMask == 0xFF0000 ? 1 : (xGreenMask == 0xFF00 ? 2 : 3));
- blue_shift = pixel_map[0] = xBlueMask == 0xFF000000 ? 0
- : (xBlueMask == 0xFF0000 ? 1 : (xBlueMask == 0xFF00 ? 2 : 3));
- }
-
- if (tfPlanarConfiguration == PLANARCONFIG_CONTIG) {
- for (i = 0; i < tfImageHeight; i++) {
- if (TIFFReadScanline(tfFile, scan_line, i, 0) < 0)
- break;
- for (input_p = scan_line, j = 0; j < tfImageWidth; j++) {
- *(output_p + red_shift) = *input_p++;
- *(output_p + green_shift) = *input_p++;
- *(output_p + blue_shift) = *input_p++;
- output_p += 4;
- if (tfSamplesPerPixel == 4) /* skip the fourth channel */
- input_p++;
- }
- }
- } else {
- for (s = 0; s < tfSamplesPerPixel; s++) {
- if (s == 3) /* skip the fourth channel */
- continue;
- for (i = 0; i < tfImageHeight; i++) {
- if (TIFFReadScanline(tfFile, scan_line, i, s) < 0)
- break;
- input_p = scan_line;
- output_p = imageMemory + (i*tfImageWidth*4) + pixel_map[s];
- for (j = 0; j < tfImageWidth; j++, output_p += 4)
- *output_p = *input_p++;
- }
- }
- }
- } else {
- if (xImageDepth == tfImageDepth) {
- output_p = imageMemory = (char *)
- malloc(tfBytesPerRow * tfImageHeight);
- MCHECK(imageMemory);
-
- for (i = 0; i < tfImageHeight; i++, output_p += tfBytesPerRow)
- if (TIFFReadScanline(tfFile, output_p, i, 0) < 0)
- break;
- } else if ((xImageDepth == 8) && (tfImageDepth == 4)) {
- output_p = imageMemory = (char *)
- malloc(tfBytesPerRow * 2 * tfImageHeight + 2);
- MCHECK(imageMemory);
-
- /*
- * If a scanline is of odd size the inner loop below will overshoot.
- * This is handled very simply by recalculating the start point at
- * each scanline and padding imageMemory a little at the end.
- */
- for (i = 0; i < tfImageHeight; i++) {
- if (TIFFReadScanline(tfFile, scan_line, i, 0) < 0)
- break;
- output_p = &imageMemory[i * tfImageWidth];
- input_p = scan_line;
- for (j = 0; j < tfImageWidth; j += 2, input_p++) {
- *output_p++ = (*input_p >> 4) + basePixel;
- *output_p++ = (*input_p & 0xf) + basePixel;
- }
- }
- } else if ((xImageDepth == 8) && (tfImageDepth == 2)) {
- output_p = imageMemory = (char *)
- malloc(tfBytesPerRow * 4 * tfImageHeight + 4);
- MCHECK(imageMemory);
-
- for (i = 0; i < tfImageHeight; i++) {
- if (TIFFReadScanline(tfFile, scan_line, i, 0) < 0)
- break;
- output_p = &imageMemory[i * tfImageWidth];
- input_p = scan_line;
- for (j = 0; j < tfImageWidth; j += 4, input_p++) {
- *output_p++ = (*input_p >> 6) + basePixel;
- *output_p++ = ((*input_p >> 4) & 3) + basePixel;
- *output_p++ = ((*input_p >> 2) & 3) + basePixel;
- *output_p++ = (*input_p & 3) + basePixel;
- }
- }
- } else if ((xImageDepth == 4) && (tfImageDepth == 2)) {
- output_p = imageMemory = (char *)
- malloc(tfBytesPerRow * 2 * tfImageHeight + 2);
- MCHECK(imageMemory);
-
- for (i = 0; i < tfImageHeight; i++) {
- if (TIFFReadScanline(tfFile, scan_line, i, 0) < 0)
- break;
- output_p = &imageMemory[i * tfBytesPerRow * 2];
- input_p = scan_line;
- for (j = 0; j < tfImageWidth; j += 4, input_p++) {
- *output_p++ = (((*input_p>>6) << 4)
- | ((*input_p >> 4) & 3)) + basePixel;
- *output_p++ = ((((*input_p>>2) & 3) << 4)
- | (*input_p & 3)) + basePixel;
- }
- }
- } else {
- fprintf(stderr,
- "xtiff: can't handle %d-bit TIFF file on an %d-bit display\n",
- tfImageDepth, xImageDepth);
- exit(0);
- }
- }
-
- free(scan_line);
-}
-
-void
-CreateXImage()
-{
- XGCValues gc_values;
- GC bitmap_gc;
-
- xOffset = yOffset = 0;
- grabX = grabY = -1;
-
- xImage = XCreateImage(xDisplay, xVisual, xImageDepth,
- xImageDepth == 1 ? XYBitmap : ZPixmap, /* offset */ 0,
- (char *) imageMemory, tfImageWidth, tfImageHeight,
- /* bitmap_pad */ 8, /* bytes_per_line */ 0);
-
- /*
- * libtiff converts LSB data into MSB but doesn't change the FillOrder tag.
- */
- if (xImageDepth == 1)
- xImage->bitmap_bit_order = MSBFirst;
- if (xImageDepth <= 8)
- xImage->byte_order = MSBFirst;
-
- /*
- * create an appropriate GC
- */
- gc_values.function = GXcopy;
- gc_values.plane_mask = AllPlanes;
- if (tfPhotometricInterpretation == PHOTOMETRIC_MINISBLACK) {
- gc_values.foreground = XWhitePixel(xDisplay, xScreen);
- gc_values.background = XBlackPixel(xDisplay, xScreen);
- } else {
- gc_values.foreground = XBlackPixel(xDisplay, xScreen);
- gc_values.background = XWhitePixel(xDisplay, xScreen);
- }
- xWinGc = XCreateGC(xDisplay, XtWindow(shellWidget),
- GCFunction | GCPlaneMask | GCForeground | GCBackground, &gc_values);
-
- /*
- * create the pixmap and load the image
- */
- if (appData.usePixmap == True) {
- xImagePixmap = XCreatePixmap(xDisplay, RootWindow(xDisplay, xScreen),
- xImage->width, xImage->height, xImageDepth);
-
- /*
- * According to the O'Reilly X Protocol Reference Manual, page 53,
- * "A pixmap depth of one is always supported and listed, but windows
- * of depth one might not be supported." Therefore we create a pixmap
- * of depth one and use XCopyPlane(). This is idiomatic.
- */
- if (xImageDepth == 1) { /* just pass the bits through */
- gc_values.foreground = 1; /* foreground describes set bits */
- gc_values.background = 0; /* background describes clear bits */
- bitmap_gc = XCreateGC(xDisplay, xImagePixmap,
- GCForeground | GCBackground, &gc_values);
- XPutImage(xDisplay, xImagePixmap, bitmap_gc, xImage,
- 0, 0, 0, 0, xImage->width, xImage->height);
- } else
- XPutImage(xDisplay, xImagePixmap, xWinGc, xImage,
- 0, 0, 0, 0, xImage->width, xImage->height);
- XDestroyImage(xImage);
- free(imageMemory);
- }
-}
-
-XtCallbackProc
-SelectProc(w, unused_1, unused_2)
- Widget w;
- caddr_t unused_1;
- caddr_t unused_2;
-{
- XawListReturnStruct *list_return;
-
- list_return = XawListShowCurrent(w);
-
- switch (list_return->list_index) {
- case ButtonQuit:
- QuitProc();
- break;
- case ButtonPreviousPage:
- PreviousProc();
- break;
- case ButtonNextPage:
- NextProc();
- break;
- default:
- fprintf(stderr, "error in SelectProc\n");
- exit(0);
- }
- XawListUnhighlight(w);
-}
-
-void
-QuitProc(void)
-{
- exit(0);
-}
-
-void
-NextProc()
-{
- PageProc(ButtonNextPage);
-}
-
-void
-PreviousProc()
-{
- PageProc(ButtonPreviousPage);
-}
-
-void
-PageProc(direction)
- int direction;
-{
- XEvent fake_event;
- Arg args[4];
-
- switch (direction) {
- case ButtonPreviousPage:
- if (tfDirectory > 0)
- TIFFSetDirectory(tfFile, --tfDirectory);
- else
- return;
- break;
- case ButtonNextPage:
- if (TIFFReadDirectory(tfFile) == True)
- tfDirectory++;
- else
- return;
- break;
- default:
- fprintf(stderr, "error in PageProc\n");
- exit(0);
- }
-
- xOffset = yOffset = 0;
- grabX = grabY = -1;
-
- GetTIFFHeader();
- SetNameLabel();
- GetTIFFImage();
-
- if (appData.usePixmap == True)
- XFreePixmap(xDisplay, xImagePixmap);
- else
- XDestroyImage(xImage);
-
- CreateXImage();
-
- /*
- * Using XtSetValues() to set the widget size causes a resize.
- * This resize gets propagated up to the parent shell.
- * In order to disable this visually disconcerting effect,
- * shell resizing is temporarily disabled.
- */
- XtSetArg(args[0], XtNallowShellResize, False);
- XtSetValues(shellWidget, args, 1);
-
- XtSetArg(args[0], XtNwidth, tfImageWidth);
- XtSetArg(args[1], XtNheight, tfImageHeight);
- XtSetValues(imageWidget, args, 2);
-
- XtSetArg(args[0], XtNallowShellResize, True);
- XtSetValues(shellWidget, args, 1);
-
- XClearWindow(xDisplay, XtWindow(imageWidget));
-
- fake_event.type = Expose;
- fake_event.xexpose.x = fake_event.xexpose.y = 0;
- fake_event.xexpose.width = tfImageWidth; /* the window will clip */
- fake_event.xexpose.height = tfImageHeight;
- EventProc(imageWidget, NULL, &fake_event);
-}
-
-void
-EventProc(widget, unused, event)
- Widget widget;
- caddr_t unused;
- XEvent *event;
-{
- int ih, iw, ww, wh, sx, sy, w, h, dx, dy;
- Dimension w_width, w_height;
- XEvent next_event;
- Arg args[2];
-
- if (event->type == MappingNotify) {
- XRefreshKeyboardMapping((XMappingEvent *) event);
- return;
- }
-
- if (!XtIsRealized(widget))
- return;
-
- if ((event->type == ButtonPress) || (event->type == ButtonRelease))
- if (event->xbutton.button != Button1)
- return;
-
- iw = tfImageWidth; /* avoid sign problems */
- ih = tfImageHeight;
-
- /*
- * The grabX and grabY variables record where the user grabbed the image.
- * They also record whether the mouse button is down or not.
- */
- if (event->type == ButtonPress) {
- grabX = event->xbutton.x;
- grabY = event->xbutton.y;
- return;
- }
-
- /*
- * imageWidget is a Core widget and doesn't get resized.
- * So we calculate the size of its viewport here.
- */
- XtSetArg(args[0], XtNwidth, &w_width);
- XtSetArg(args[1], XtNheight, &w_height);
- XtGetValues(shellWidget, args, 2);
- ww = w_width;
- wh = w_height;
- XtGetValues(listWidget, args, 2);
- wh -= w_height;
-
- switch (event->type) {
- case Expose:
- dx = event->xexpose.x;
- dy = event->xexpose.y;
- sx = dx + xOffset;
- sy = dy + yOffset;
- w = MIN(event->xexpose.width, iw);
- h = MIN(event->xexpose.height, ih);
- break;
- case KeyPress:
- if ((grabX >= 0) || (grabY >= 0)) /* Mouse button is still down */
- return;
- switch (XLookupKeysym((XKeyEvent *) event, /* KeySyms index */ 0)) {
- case XK_Up:
- if (ih < wh) /* Don't scroll if the window fits the image. */
- return;
- sy = yOffset + appData.translate;
- sy = MIN(ih - wh, sy);
- if (sy == yOffset) /* Filter redundant stationary refreshes. */
- return;
- yOffset = sy;
- sx = xOffset;
- dx = dy = 0;
- w = ww; h = wh;
- break;
- case XK_Down:
- if (ih < wh)
- return;
- sy = yOffset - appData.translate;
- sy = MAX(sy, 0);
- if (sy == yOffset)
- return;
- yOffset = sy;
- sx = xOffset;
- dx = dy = 0;
- w = ww; h = wh;
- break;
- case XK_Left:
- if (iw < ww)
- return;
- sx = xOffset + appData.translate;
- sx = MIN(iw - ww, sx);
- if (sx == xOffset)
- return;
- xOffset = sx;
- sy = yOffset;
- dx = dy = 0;
- w = ww; h = wh;
- break;
- case XK_Right:
- if (iw < ww)
- return;
- sx = xOffset - appData.translate;
- sx = MAX(sx, 0);
- if (sx == xOffset)
- return;
- xOffset = sx;
- sy = yOffset;
- dx = dy = 0;
- w = ww; h = wh;
- break;
- default:
- return;
- }
- break;
- case MotionNotify:
- /*
- * MotionEvent compression. Ignore multiple motion events.
- * Ignore motion events if the mouse button is up.
- */
- if (XPending(xDisplay)) /* Xlib doesn't flush the output buffer */
- if (XtPeekEvent(&next_event))
- if (next_event.type == MotionNotify)
- return;
- if ((grabX < 0) || (grabY < 0))
- return;
- sx = xOffset + grabX - (int) event->xmotion.x;
- if (sx >= (iw - ww)) /* clamp x motion but allow y motion */
- sx = iw - ww;
- sx = MAX(sx, 0);
- sy = yOffset + grabY - (int) event->xmotion.y;
- if (sy >= (ih - wh)) /* clamp y motion but allow x motion */
- sy = ih - wh;
- sy = MAX(sy, 0);
- if ((sx == xOffset) && (sy == yOffset))
- return;
- dx = dy = 0;
- w = ww; h = wh;
- break;
- case ButtonRelease:
- xOffset = xOffset + grabX - (int) event->xbutton.x;
- xOffset = MIN(iw - ww, xOffset);
- xOffset = MAX(xOffset, 0);
- yOffset = yOffset + grabY - (int) event->xbutton.y;
- yOffset = MIN(ih - wh, yOffset);
- yOffset = MAX(yOffset, 0);
- grabX = grabY = -1;
- default:
- return;
- }
-
- if (appData.usePixmap == True) {
- if (xImageDepth == 1)
- XCopyPlane(xDisplay, xImagePixmap, XtWindow(widget),
- xWinGc, sx, sy, w, h, dx, dy, 1);
- else
- XCopyArea(xDisplay, xImagePixmap, XtWindow(widget),
- xWinGc, sx, sy, w, h, dx, dy);
- } else
- XPutImage(xDisplay, XtWindow(widget), xWinGc, xImage,
- sx, sy, dx, dy, w, h);
-}
-
-void
-ResizeProc()
-{
- Dimension w_width, w_height;
- int xo, yo, ww, wh;
- XEvent fake_event;
- Arg args[2];
-
- if ((xOffset == 0) && (yOffset == 0))
- return;
-
- XtSetArg(args[0], XtNwidth, &w_width);
- XtSetArg(args[1], XtNheight, &w_height);
- XtGetValues(shellWidget, args, 2);
- ww = w_width;
- wh = w_height;
- XtGetValues(listWidget, args, 2);
- wh -= w_height;
-
- xo = xOffset; yo = yOffset;
-
- if ((xOffset + ww) >= tfImageWidth)
- xOffset = MAX((int) tfImageWidth - ww, 0);
- if ((yOffset + wh) >= tfImageHeight)
- yOffset = MAX((int) tfImageHeight - wh, 0);
-
- /*
- * Send an ExposeEvent if the origin changed.
- * We have to do this because of the use and semantics of bit gravity.
- */
- if ((xo != xOffset) || (yo != yOffset)) {
- fake_event.type = Expose;
- fake_event.xexpose.x = fake_event.xexpose.y = 0;
- fake_event.xexpose.width = tfImageWidth;
- fake_event.xexpose.height = tfImageHeight;
- EventProc(imageWidget, NULL, &fake_event);
- }
-}
-
-int
-XTiffErrorHandler(display, error_event)
- Display *display;
- XErrorEvent *error_event;
-{
- char message[80];
-
- /*
- * Some X servers limit the size of pixmaps.
- */
- if ((error_event->error_code == BadAlloc)
- && (error_event->request_code == X_CreatePixmap))
- fprintf(stderr, "xtiff: requested pixmap too big for display\n");
- else {
- XGetErrorText(display, error_event->error_code, message, 80);
- fprintf(stderr, "xtiff: error code %s\n", message);
- }
-
- exit(0);
-}
-
-void
-Usage()
-{
- fprintf(stderr, "Usage xtiff: [options] tiff-file\n");
- fprintf(stderr, "\tstandard Xt options\n");
- fprintf(stderr, "\t[-help]\n");
- fprintf(stderr, "\t[-gamma gamma]\n");
- fprintf(stderr, "\t[-usePixmap (True | False)]\n");
- fprintf(stderr, "\t[-viewportWidth pixels]\n");
- fprintf(stderr, "\t[-viewportHeight pixels]\n");
- fprintf(stderr, "\t[-translate pixels]\n");
- fprintf(stderr, "\t[-verbose (True | False)]\n");
- exit(0);
-}
-
-/* vim: set ts=8 sts=8 sw=8 noet: */
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */
diff --git a/tiff/contrib/dbs/xtiff/xtifficon.h b/tiff/contrib/dbs/xtiff/xtifficon.h
deleted file mode 100755
index 3eac48e..0000000
--- a/tiff/contrib/dbs/xtiff/xtifficon.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#define xtifficon_width 32
-#define xtifficon_height 32
-static char xtifficon_bits[] = {
- 0xff, 0x00, 0x00, 0xc0, 0xfe, 0x01, 0x7e, 0xc0, 0xfc, 0x03, 0x7e, 0x60,
- 0xf8, 0x07, 0x06, 0x30, 0xf8, 0x07, 0x1e, 0x18, 0xf0, 0x0f, 0x1e, 0x0c,
- 0xe0, 0x1f, 0x06, 0x06, 0xc0, 0x3f, 0x06, 0x06, 0xc0, 0x3f, 0x06, 0x03,
- 0x80, 0x7f, 0x80, 0x01, 0x00, 0xff, 0xc0, 0x00, 0x00, 0xfe, 0x61, 0x00,
- 0x00, 0xfe, 0x31, 0x7e, 0x7e, 0xfc, 0x33, 0x7e, 0x7e, 0xf8, 0x1b, 0x06,
- 0x18, 0xf0, 0x0d, 0x1e, 0x18, 0xf0, 0x0e, 0x1e, 0x18, 0x60, 0x1f, 0x06,
- 0x18, 0xb0, 0x3f, 0x06, 0x18, 0x98, 0x7f, 0x06, 0x18, 0x98, 0x7f, 0x00,
- 0x00, 0x0c, 0xff, 0x00, 0x00, 0x06, 0xfe, 0x01, 0x00, 0x63, 0xfc, 0x03,
- 0x80, 0x61, 0xfc, 0x03, 0xc0, 0x60, 0xf8, 0x07, 0xc0, 0x60, 0xf0, 0x0f,
- 0x60, 0x60, 0xe0, 0x1f, 0x30, 0x60, 0xe0, 0x1f, 0x18, 0x60, 0xc0, 0x3f,
- 0x0c, 0x60, 0x80, 0x7f, 0x06, 0x00, 0x00, 0xff};
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 8
- * fill-column: 78
- * End:
- */