]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/bitmap.cpp
VTK wrapper of vtkRenderWindow for wxPython. Tested on MSW so far.
[wxWidgets.git] / src / motif / bitmap.cpp
index 58bc1cc259dbc6dce2d7fc0721030632a81fe7b3..45f0cf6d0f3fd2771bfe217fc342c61a18e0680c 100644 (file)
@@ -21,6 +21,7 @@
 #include "wx/log.h"
 #include "wx/control.h"
 #include "wx/dcmemory.h"
+#include "wx/image.h"
 
 #include <Xm/Xm.h>
 
@@ -197,9 +198,14 @@ bool wxBitmap::LoadFile(const wxString& filename, long type)
     wxBitmapHandler *handler = FindHandler(type);
 
     if ( handler == NULL ) {
-        wxLogWarning("%s: no bitmap handler for type %d defined.", (const char*) filename, type);
-
-        return FALSE;
+        wxImage image;
+        if (!image.LoadFile( filename, type )) return FALSE;
+        if (image.Ok()) 
+        {
+            *this = image.ConvertToBitmap();
+            return TRUE;
+        }
+        else return FALSE;
     }
 
     return handler->LoadFile(this, filename, type, -1, -1);
@@ -226,10 +232,10 @@ bool wxBitmap::SaveFile(const wxString& filename, int type, const wxPalette *pal
 {
     wxBitmapHandler *handler = FindHandler(type);
 
-    if ( handler == NULL ) {
-        wxLogWarning("no bitmap handler for type %d defined.", type);
-
-        return FALSE;
+    if ( handler == NULL ) { // try wxImage
+        wxImage image( *this );
+        if (image.Ok()) return image.SaveFile( filename, type );
+        else return FALSE;
     }
 
     return handler->SaveFile(this, filename, type, palette);