]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagtiff.cpp
wxMediaCtrl patch from Ryan:
[wxWidgets.git] / src / common / imagtiff.cpp
index 63e7b60c78a4b5ea526af7a78c573ce32a970147..30865e12bdc6ed8624e3bac34abcfb5d4957ef6d 100644 (file)
@@ -137,19 +137,35 @@ _tiffUnmapProc(thandle_t WXUNUSED(handle),
 }
 
 static void
-TIFFwxWarningHandler(const char* module, const char* fmt, va_list ap)
+TIFFwxWarningHandler(const char* module,
+                     const char* WXUNUSED_IN_UNICODE(fmt),
+                     va_list WXUNUSED_IN_UNICODE(ap))
 {
     if (module != NULL)
-            wxLogWarning(_("tiff module: %s"), module);
-    wxLogWarning((wxChar *) fmt, ap);
+        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* fmt, va_list ap)
+TIFFwxErrorHandler(const char* module,
+                   const char* WXUNUSED_IN_UNICODE(fmt),
+                   va_list WXUNUSED_IN_UNICODE(ap))
 {
     if (module != NULL)
-            wxLogError(_("tiff module: %s"), module);
-    wxVLogError((wxChar *) fmt, ap);
+        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"
@@ -343,9 +359,9 @@ bool wxTIFFHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
             image->HasOption(wxIMAGE_OPTION_RESOLUTIONY) )
     {
         TIFFSetField(tif, TIFFTAG_XRESOLUTION,
-                        image->GetOptionInt(wxIMAGE_OPTION_RESOLUTIONX));
+                        (float)image->GetOptionInt(wxIMAGE_OPTION_RESOLUTIONX));
         TIFFSetField(tif, TIFFTAG_YRESOLUTION,
-                        image->GetOptionInt(wxIMAGE_OPTION_RESOLUTIONY));
+                        (float)image->GetOptionInt(wxIMAGE_OPTION_RESOLUTIONY));
     }
 
     int spp = image->GetOptionInt(wxIMAGE_OPTION_SAMPLESPERPIXEL);
@@ -394,8 +410,6 @@ bool wxTIFFHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
 
     TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP,TIFFDefaultStripSize(tif, (uint32) -1));
 
-    uint8 bitmask;
-
     unsigned char *ptr = image->GetData();
     for ( int row = 0; row < image->GetHeight(); row++ )
     {
@@ -411,7 +425,6 @@ bool wxTIFFHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
                 for ( int column = 0; column < linebytes; column++ )
                 {
                     uint8 reverse = 0;
-                    bitmask = 1;
                     for ( int bp = 0; bp < 8; bp++ )
                     {
                         if ( ptr[column*24 + bp*3] > 0 )
@@ -419,17 +432,9 @@ bool wxTIFFHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
                             // check only red as this is sufficient
                             reverse = reverse | 128 >> bp;
                         }
-
-                        bitmask <<= 1;
                     }
 
-                    // FIXME: what's this??
-#ifdef __WXGTK__
-                    buf[column]=~reverse;
-
-#else
-                    buf[column]=reverse;
-#endif
+                    buf[column] = reverse;
                 }
             }
         }