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

@@ -28,12 +28,12 @@ struct wxPaletteEntry
unsigned char red, green, blue;
};
class wxPaletteRefData: public wxObjectRefData
class wxPaletteRefData : public wxGDIRefData
{
public:
wxPaletteRefData(void);
virtual ~wxPaletteRefData(void);
public:
wxPaletteRefData();
wxPaletteRefData(const wxPaletteRefData& palette);
virtual ~wxPaletteRefData();
int m_count;
wxPaletteEntry *m_entries;
@@ -45,6 +45,14 @@ wxPaletteRefData::wxPaletteRefData()
m_entries = NULL;
}
wxPaletteRefData::wxPaletteRefData(const wxPaletteRefData& palette)
{
m_count = palette.m_count;
m_entries = new wxPaletteEntry[m_count];
for ( int i = 0; i < m_count; i++ )
m_entries[i] = palette.m_entries[i];
}
wxPaletteRefData::~wxPaletteRefData()
{
delete[] m_entries;
@@ -70,11 +78,6 @@ wxPalette::~wxPalette()
{
}
bool wxPalette::IsOk() const
{
return (m_refData != NULL);
}
int wxPalette::GetColoursCount() const
{
if (m_refData)
@@ -142,4 +145,14 @@ bool wxPalette::GetRGB(int pixel,
return true;
}
wxGDIRefData *wxPalette::CreateGDIRefData() const
{
return new wxPaletteRefData;
}
wxGDIRefData *wxPalette::CloneGDIRefData(const wxGDIRefData *data) const
{
return new wxPaletteRefData(*wx_static_cast(const wxPaletteRefData *, data));
}
#endif // wxUSE_PALETTE