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:
Vadim Zeitlin
2007-12-15 17:54:20 +00:00
parent d6906a06a2
commit 8f884a0dcc
161 changed files with 1244 additions and 1139 deletions

View File

@@ -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") );