// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
extern "C"
{
+#ifdef __DMC__
+ #include "tif_config.h"
+#endif
#include "tiff.h"
#include "tiffio.h"
}
#endif
#endif
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// TIFF library error/warning handlers
+// ----------------------------------------------------------------------------
+
+extern "C"
+{
+
+static void
+TIFFwxWarningHandler(const char* module,
+ const char* WXUNUSED_IN_UNICODE(fmt),
+ va_list WXUNUSED_IN_UNICODE(ap))
+{
+ if (module != NULL)
+ wxLogWarning(_("tiff module: %s"), wxString::FromAscii(module).c_str());
+
+ // FIXME: this is not terrible informative but better than crashing!
+#if wxUSE_UNICODE
+ wxLogWarning(_("TIFF library warning."));
+#else
+ wxVLogWarning(fmt, ap);
+#endif
+}
+
+static void
+TIFFwxErrorHandler(const char* module,
+ const char* WXUNUSED_IN_UNICODE(fmt),
+ va_list WXUNUSED_IN_UNICODE(ap))
+{
+ if (module != NULL)
+ wxLogError(_("tiff module: %s"), wxString::FromAscii(module).c_str());
+
+ // FIXME: as above
+#if wxUSE_UNICODE
+ wxLogError(_("TIFF library error."));
+#else
+ wxVLogError(fmt, ap);
+#endif
+}
+
+} // extern "C"
+
//-----------------------------------------------------------------------------
// wxTIFFHandler
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxTIFFHandler,wxImageHandler)
+wxTIFFHandler::wxTIFFHandler()
+{
+ m_name = wxT("TIFF file");
+ m_extension = wxT("tif");
+ m_type = wxBITMAP_TYPE_TIF;
+ m_mime = wxT("image/tiff");
+ TIFFSetWarningHandler((TIFFErrorHandler) TIFFwxWarningHandler);
+ TIFFSetErrorHandler((TIFFErrorHandler) TIFFwxErrorHandler);
+}
+
#if wxUSE_STREAMS
// helper to translate our, possibly 64 bit, wxFileOffset to TIFF, always 32
{
}
-static void
-TIFFwxWarningHandler(const char* module,
- const char* WXUNUSED_IN_UNICODE(fmt),
- va_list WXUNUSED_IN_UNICODE(ap))
-{
- if (module != NULL)
- wxLogWarning(_("tiff module: %s"), wxString::FromAscii(module).c_str());
-
- // FIXME: this is not terrible informative but better than crashing!
-#if wxUSE_UNICODE
- wxLogWarning(_("TIFF library warning."));
-#else
- wxVLogWarning(fmt, ap);
-#endif
-}
-
-static void
-TIFFwxErrorHandler(const char* module,
- const char* WXUNUSED_IN_UNICODE(fmt),
- va_list WXUNUSED_IN_UNICODE(ap))
-{
- if (module != NULL)
- wxLogError(_("tiff module: %s"), wxString::FromAscii(module).c_str());
-
- // FIXME: as above
-#if wxUSE_UNICODE
- wxLogError(_("TIFF library error."));
-#else
- wxVLogError(fmt, ap);
-#endif
-}
-
} // extern "C"
TIFF*
return tif;
}
-wxTIFFHandler::wxTIFFHandler()
-{
- m_name = wxT("TIFF file");
- m_extension = wxT("tif");
- m_type = wxBITMAP_TYPE_TIF;
- m_mime = wxT("image/tiff");
- TIFFSetWarningHandler((TIFFErrorHandler) TIFFwxWarningHandler);
- TIFFSetErrorHandler((TIFFErrorHandler) TIFFwxErrorHandler);
-}
-
bool wxTIFFHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose, int index )
{
if (index == -1)
{
float xres, yres;
if ( TIFFGetField(tif, TIFFTAG_XRESOLUTION, &xres) )
- image->SetOption(wxIMAGE_OPTION_RESOLUTIONX, xres);
+ image->SetOption(wxIMAGE_OPTION_RESOLUTIONX, wxRound(xres));
if ( TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres) )
- image->SetOption(wxIMAGE_OPTION_RESOLUTIONY, yres);
+ image->SetOption(wxIMAGE_OPTION_RESOLUTIONY, wxRound(yres));
}
}