// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "bitmap.h"
 #endif
 
 #include "wx/wfstream.h"
 #endif
 #endif
-#include <math.h>
+#include "wx/math.h"
 
 //-----------------------------------------------------------------------------
 // wxMask
     wxBitmapHandler *handler = FindHandler(type);
 
     if ( handler == NULL ) {
-        wxLogWarning("no data bitmap handler for type %ld defined.",
+        wxLogWarning(wxT("no data bitmap handler for type %ld defined."),
                      (long)type);
 
         return FALSE;
 
 bool wxBitmap::CreateFromXpm( const char **bits )
 {
-    wxCHECK_MSG( bits, FALSE, _T("NULL pointer in wxBitmap::CreateFromXpm") );
+    wxCHECK_MSG( bits, FALSE, wxT("NULL pointer in wxBitmap::CreateFromXpm") );
 
     return Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);
 }
 #if wxUSE_NANOX
     if (!image.Ok())
     {
-        wxASSERT_MSG(image.Ok(), "Invalid wxImage passed to wxBitmap::CreateFromImage.");
+        wxASSERT_MSG(image.Ok(), wxT("Invalid wxImage passed to wxBitmap::CreateFromImage."));
         return FALSE;
     }
 
 
     if (depth == 1)
     {
-        wxFAIL_MSG( "mono images later" );
+        wxFAIL_MSG( wxT("mono images later") );
     }
     else
     {
         int b_mask = image.GetMaskBlue();
 
         unsigned char* data = image.GetData();
-        wxASSERT_MSG( data, "No image data" );
+        wxASSERT_MSG( data, wxT("No image data") );
 
         unsigned char *colorCube =
             wxTheApp->GetVisualInfo(M_BMPDATA->m_display)->m_colorCube;
 
 class wxXPMFileHandler : public wxBitmapHandler
 {
-    DECLARE_DYNAMIC_CLASS(wxXPMFileHandler);
+    DECLARE_DYNAMIC_CLASS(wxXPMFileHandler)
 public:
     wxXPMFileHandler()
     {
-        m_name = "XPM file";
-        m_extension = "xpm";
-        m_type = wxBITMAP_TYPE_XPM;
+        SetName( wxT("XPM file") );
+        SetExtension( wxT("xpm") );
+        SetType( wxBITMAP_TYPE_XPM );
     };
 
     virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
 
 class wxXPMDataHandler : public wxBitmapHandler
 {
-    DECLARE_DYNAMIC_CLASS(wxXPMDataHandler);
+    DECLARE_DYNAMIC_CLASS(wxXPMDataHandler)
 public:
     wxXPMDataHandler()
     {
-        m_name = "XPM data";
-        m_extension = "xpm";
-        m_type = wxBITMAP_TYPE_XPM_DATA;
+        SetName( wxT("XPM data") );
+        SetExtension( wxT("xpm") );
+        SetType( wxBITMAP_TYPE_XPM_DATA );
     };
 
     virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
 public:
     inline wxXBMDataHandler()
     {
-        m_name = "XBM data";
-        m_extension = "xbm";
-        m_type = wxBITMAP_TYPE_XBM_DATA;
+        SetName( wxT("XBM data") );
+        SetExtension( wxT("xbm") );
+        SetType( wxBITMAP_TYPE_XBM_DATA );
     };
 
     virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
     M_BMPHANDLERDATA->m_bpp = 1;
 
     return TRUE;
-#endif
-    wxCHECK_MSG( M_BMPHANDLERDATA->m_bitmap, FALSE,
+#else
+   wxCHECK_MSG( M_BMPHANDLERDATA->m_bitmap, FALSE,
                  wxT("couldn't create bitmap") );
+#endif
 }
 
 void wxBitmap::InitStandardHandlers()