]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/bitmap.cpp
update from liou xiao <liouxiao@hotmail.com>
[wxWidgets.git] / src / os2 / bitmap.cpp
index 51b5cfdc4c787ee9dd96dba3ad5392e2c9a07a38..4f96446eef380ed48071e31e430974b412d6ddb8 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-    #pragma implementation "bitmap.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -407,6 +403,34 @@ bool wxBitmap::CreateFromXpm(
 #endif
 } // end of wxBitmap::CreateFromXpm
 
+bool wxBitmap::LoadFile(const wxString& filename, long type)
+{
+    UnRef();
+
+    wxBitmapHandler *handler = wxDynamicCast(FindHandler(type), wxBitmapHandler);
+
+    if ( handler )
+    {
+        m_refData = new wxBitmapRefData;
+
+        return handler->LoadFile(this, filename, type, -1, -1);
+    }
+#if wxUSE_IMAGE
+    else // no bitmap handler found
+    {
+        wxImage image;
+        if ( image.LoadFile( filename, type ) && image.Ok() )
+        {
+            *this = wxBitmap(image);
+
+            return true;
+        }
+    }
+#endif // wxUSE_IMAGE
+
+    return false;
+}
+
 bool wxBitmap::LoadFile(
   int                               nId
 , long                              lType
@@ -1505,6 +1529,17 @@ bool wxBitmapHandler::LoadFile(
     return false;
 }
 
+bool wxBitmapHandler::LoadFile(
+  wxBitmap*                         WXUNUSED(pBitmap)
+, const wxString&                   WXUNUSED(rName)
+, long                              WXUNUSED(lType)
+, int                               WXUNUSED(nDesiredWidth)
+, int                               WXUNUSED(nDesiredHeight)
+)
+{
+    return false;
+}
+
 bool wxBitmapHandler::SaveFile(
   wxBitmap*                         WXUNUSED(pBitmap)
 , const wxString&                   WXUNUSED(rName)