Fix Ok/IsOk() mess in wxGDIObject-derived classes; also added
wxGDIObject::Create/CloneGDIRefData() and implemented them for (almost) all ports git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -227,7 +227,7 @@ bool wxMask::Create( const wxBitmap& bitmap )
|
||||
// wxBitmap
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxBitmapRefData: public wxObjectRefData
|
||||
class wxBitmapRefData : public wxGDIRefData
|
||||
{
|
||||
public:
|
||||
wxBitmapRefData();
|
||||
@@ -237,6 +237,8 @@ public:
|
||||
// shouldn't be called more than once as it doesn't free the existing data
|
||||
bool Create(int width, int height, int depth);
|
||||
|
||||
virtual bool IsOk() const { return m_pixmap || m_bitmap; }
|
||||
|
||||
Pixmap m_pixmap;
|
||||
Pixmap m_bitmap;
|
||||
Display *m_display;
|
||||
@@ -430,12 +432,12 @@ wxBitmap::wxBitmap(const char* const* bits)
|
||||
Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);
|
||||
}
|
||||
|
||||
wxObjectRefData *wxBitmap::CreateRefData() const
|
||||
wxGDIRefData *wxBitmap::CreateGDIRefData() const
|
||||
{
|
||||
return new wxBitmapRefData;
|
||||
}
|
||||
|
||||
wxObjectRefData *wxBitmap::CloneRefData(const wxObjectRefData *data) const
|
||||
wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *data) const
|
||||
{
|
||||
return new wxBitmapRefData(*wx_static_cast(const wxBitmapRefData *, data));
|
||||
}
|
||||
@@ -934,11 +936,6 @@ wxBitmap::~wxBitmap()
|
||||
{
|
||||
}
|
||||
|
||||
bool wxBitmap::IsOk() const
|
||||
{
|
||||
return (m_refData != NULL);
|
||||
}
|
||||
|
||||
int wxBitmap::GetHeight() const
|
||||
{
|
||||
wxCHECK_MSG( Ok(), -1, wxT("invalid bitmap") );
|
||||
|
||||
Reference in New Issue
Block a user