]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/pnghand.cpp
workaround because regions that were built up, were sometimes being drawn on the...
[wxWidgets.git] / src / mac / carbon / pnghand.cpp
index 4f33c04b1e2988e434c1b12386dd3c1b0d8505ac..bbcfcbec4554de73c6331da300cc9d59f3b7f995 100644 (file)
@@ -5,11 +5,11 @@
 // Modified by: 
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:     wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #  pragma implementation "pngread.h"
 #  pragma implementation "pnghand.h"
 #endif
 #  pragma hdrstop
 #endif
 
+#if 0 // wxUSE_LIBPNG
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 
+#if defined(__DARWIN__)
+/* MW's math routines do certain things if __FP__ (the include guard around
+CarbonCore's fp.h) is defined.  CarbonCore's fp.h does certain things if
+__cmath__ is defined so it seems the easy thing to do is to make sure
+__cmath__ is effectively not defined which counteracts the MWERKS check
+then when the real cmath is included everything will be okay.
+*/
+#include <CoreServices/CoreServices.h>
+//#include <cmath>
+#endif //defined(__DARWIN__)
+
 #if wxUSE_IOSTREAMH
 #   include <fstream.h>
 #else
@@ -57,7 +70,7 @@ extern void wxMacDestroyGWorld( GWorldPtr gw ) ;
 void
 ima_png_error(png_struct *png_ptr, char *message)
 {
-    wxMessageBox(message, "PNG error");
+    wxMessageBox(wxString::FromAscii(message), wxT("PNG error"));
     longjmp(png_ptr->jmpbuf, 1);
 }
 
@@ -819,8 +832,9 @@ bool wxPNGReader::SaveXPM(char *filename, char *name)
         strcpy(nameStr, name);
     else
     {
-        strcpy(nameStr, filename);
-        wxStripExtension(nameStr);
+       wxString str = wxString::FromAscii(filename) ;
+       wxStripExtension( str ) ;
+        strcpy(nameStr, str.ToAscii() );
     }
     
     if ( GetDepth() > 4 )
@@ -888,7 +902,7 @@ bool wxPNGFileHandler::LoadFile(wxBitmap *bitmap, const wxString& name, long fla
                                 int desiredWidth, int desiredHeight)
 {
     wxPNGReader reader;
-    if (reader.ReadFile((char*) (const char*) name))
+    if (reader.ReadFile( (char*)(const char*) name.ToAscii() ) )
     {
         return reader.InstantiateBitmap(bitmap);
     }
@@ -901,4 +915,4 @@ bool wxPNGFileHandler::SaveFile(const wxBitmap *bitmap, const wxString& name, in
     return FALSE;
 }
 
-
+#endif //wxUSE_LIBPNG