#ifndef _WX_BITMAP_H_
#define _WX_BITMAP_H_
-#ifdef __GNUG__
- #pragma interface "bitmap.h"
-#endif
-
#include "wx/os2/private.h"
#include "wx/os2/gdiimage.h"
#include "wx/gdicmn.h"
// Copy constructors
inline wxBitmap(const wxBitmap& rBitmap)
- { Init(); Ref(rBitmap); }
+ : wxGDIImage(rBitmap)
+ {
+ Init();
+ SetHandle(rBitmap.GetHandle());
+ }
// Initialize with raw data
wxBitmap( const char bits[]
);
// Initialize with XPM data
- wxBitmap(const char** ppData) { CreateFromXpm(ppData); }
- wxBitmap(char** ppData) { CreateFromXpm((const char**)ppData); }
+ wxBitmap(const char* const* bits);
- // Load a file or resource
- wxBitmap( const wxString& rName
+ // Load a resource
+ wxBitmap( int nId
,long lType = wxBITMAP_TYPE_BMP_RESOURCE
);
+ // For compatiability with other ports, under OS/2 does same as default ctor
+ inline wxBitmap( const wxString& WXUNUSED(rFilename)
+ ,long WXUNUSED(lType)
+ )
+ { Init(); }
// New constructor for generalised creation from data
- wxBitmap( void* pData
+ wxBitmap( const void* pData
,long lType
,int nWidth
,int nHeight
);
// If depth is omitted, will create a bitmap compatible with the display
- wxBitmap( int nWidth
- ,int nHeight
- ,int nDepth = -1
- );
+ wxBitmap( int nWidth, int nHeight, int nDepth = -1 );
wxBitmap( const wxImage& image, int depth = -1 )
{ (void)CreateFromImage(image, depth); }
inline wxBitmap(const wxIcon& rIcon)
{ Init(); CopyFromIcon(rIcon); }
- wxBitmap& operator=(const wxBitmap& rBitmap)
- {
- if ( m_refData != rBitmap.m_refData )
- Ref(rBitmap);
- return(*this);
- }
-
wxBitmap& operator=(const wxIcon& rIcon)
{
(void)CopyFromIcon(rIcon);
,int nHeight
,int nDepth = -1
);
- virtual bool Create( void* pData
+ virtual bool Create( const void* pData
,long lType
,int nWidth
,int nHeight
,int nDepth = 1
);
- virtual bool LoadFile( const wxString& rName
+ virtual bool LoadFile( int nId
,long lType = wxBITMAP_TYPE_BMP_RESOURCE
);
+ virtual bool LoadFile( const wxString& rName
+ ,long lType = wxBITMAP_TYPE_XPM
+ );
virtual bool SaveFile( const wxString& rName
,int lType
,const wxPalette* pCmap = NULL
inline bool operator!=(const wxBitmap& rBitmap) const
{ return m_refData != rBitmap.m_refData; }
-#if WXWIN_COMPATIBILITY_2
- void SetOk(bool bIsOk);
-#endif // WXWIN_COMPATIBILITY_2
-
-#if WXWIN_COMPATIBILITY
- inline wxPalette* GetColourMap() const
- { return GetPalette(); }
-
- inline void SetColourMap(wxPalette* pCmap)
- { SetPalette(*pCmap); };
-
-#endif // WXWIN_COMPATIBILITY
-
// Implementation
public:
inline void SetHBITMAP(WXHBITMAP hBmp)
inline bool IsMono(void) const { return m_bIsMono; }
-
// An OS/2 version that probably doesn't do anything like the msw version
wxBitmap GetBitmapForDC(wxDC& rDc) const;
-// inline LONG GetId() const
-// { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
-
-
protected:
// common part of all ctors
void Init();
inline virtual wxGDIImageRefData* CreateData() const
{ return new wxBitmapRefData; }
- // creates the bitmap from XPM data, supposed to be called from ctor
- bool CreateFromXpm(const char** ppData);
bool CreateFromImage(const wxImage& image, int depth);
private:
// keep wxBitmapHandler derived from wxGDIImageHandler compatible with the
// old class which worked only with bitmaps
virtual bool Create( wxBitmap* pBitmap
- ,void* pData
+ ,const void* pData
,long lFlags
,int nWidth
,int nHeight
,int nDepth = 1
);
+ virtual bool LoadFile( wxBitmap* pBitmap
+ ,int nId
+ ,long lFlags
+ ,int nDesiredWidth
+ ,int nDesiredHeight
+ );
virtual bool LoadFile( wxBitmap* pBitmap
,const wxString& rName
- ,HPS hPs
,long lFlags
,int nDesiredWidth
,int nDesiredHeight
);
virtual bool Create( wxGDIImage* pImage
- ,void* pData
+ ,const void* pData
,long lFlags
,int nWidth
,int nHeight
,int nDepth = 1
);
virtual bool Load( wxGDIImage* pImage
- ,const wxString& rName
- ,HPS hPs
+ ,int nId
,long lFlags
,int nDesiredWidth
,int nDesiredHeight
,int lType
);
private:
+ inline virtual bool Load( wxGDIImage* WXUNUSED(pImage)
+ ,const wxString& WXUNUSED(rName)
+ ,HPS WXUNUSED(hPs)
+ ,long WXUNUSED(lFlags)
+ ,int WXUNUSED(nDesiredWidth)
+ ,int WXUNUSED(nDesiredHeight)
+ )
+ { return false; }
DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
}; // end of CLASS wxBitmapHandler