IMPLEMENT_DYNAMIC_CLASS(wxBitmap, wxGDIObject)
 IMPLEMENT_DYNAMIC_CLASS(wxMask, wxObject)
 
+IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler, wxObject)
 
 // ============================================================================
 // implementation
 
 wxBitmap::wxBitmap(
   const void*                       pData
-, long                              lType
+, wxBitmapType                      lType
 , int                               nWidth
 , int                               nHeight
 , int                               nDepth
 
 wxBitmap::wxBitmap(
   int                               nId
-, long                              lType
+, wxBitmapType                      lType
 )
 {
     Init();
     LoadFile( nId
-             ,(int)lType
+             ,lType
             );
     SetId(nId);
 } // end of wxBitmap::wxBitmap
     return Ok();
 } // end of wxBitmap::Create
 
-bool wxBitmap::LoadFile(const wxString& filename, long type)
+bool wxBitmap::LoadFile(const wxString& filename, wxBitmapType type)
 {
     UnRef();
 
 
 bool wxBitmap::LoadFile(
   int                               nId
-, long                              lType
+, wxBitmapType                      lType
 )
 {
     UnRef();
 
 bool wxBitmap::Create(
   const void*                       pData
-, long                              lType
+, wxBitmapType                      lType
 , int                               nWidth
 , int                               nHeight
 , int                               nDepth
 
 bool wxBitmap::SaveFile(
   const wxString&                   rFilename
-, int                               lType
+, wxBitmapType                      lType
 , const wxPalette*                  pPalette
 )
 {
 
 bool wxBitmapHandler::Create( wxGDIImage* pImage,
                               const void* pData,
-                              wxBitmapType WXUNUSED(lFlags),
+                              wxBitmapType lType,
                               int         nWidth,
                               int         nHeight,
                               int         nDepth)
 
     return(pBitmap ? Create( pBitmap
                             ,pData
+                            ,lType
                             ,nWidth
                             ,nHeight
                             ,nDepth
 }
 
 bool wxBitmapHandler::Save(
-  wxGDIImage*                       pImage
+  const wxGDIImage*                 pImage
 , const wxString&                   rName
-, int                               lType
+, wxBitmapType                      lType
 ) const
 {
     wxBitmap*                       pBitmap = wxDynamicCast( pImage