]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/paletteg.cpp
Ensure there is valid context for DrawRectangle
[wxWidgets.git] / src / generic / paletteg.cpp
index 5d21a8b33053323b28022043405d9622055e921f..a30275fb18d337529ab638acb432eca56aa226a5 100644 (file)
@@ -28,12 +28,12 @@ struct wxPaletteEntry
     unsigned char red, green, blue;
 };
 
     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;
 
     int m_count;
     wxPaletteEntry *m_entries;
@@ -45,6 +45,14 @@ wxPaletteRefData::wxPaletteRefData()
     m_entries = NULL;
 }
 
     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;
 wxPaletteRefData::~wxPaletteRefData()
 {
     delete[] m_entries;
@@ -70,27 +78,12 @@ wxPalette::~wxPalette()
 {
 }
 
 {
 }
 
-bool wxPalette::operator == (const wxPalette& palette) const
-{
-    return m_refData == palette.m_refData;
-}
-
-bool wxPalette::operator != (const wxPalette& palette) const
-{
-    return m_refData != palette.m_refData;
-}
-
-bool wxPalette::IsOk() const
-{
-    return (m_refData != NULL);
-}
-
 int wxPalette::GetColoursCount() const
 {
     if (m_refData)
         return M_PALETTEDATA->m_count;
 int wxPalette::GetColoursCount() const
 {
     if (m_refData)
         return M_PALETTEDATA->m_count;
-    
-    return 0;    
+
+    return 0;
 }
 
 bool wxPalette::Create(int n,
 }
 
 bool wxPalette::Create(int n,
@@ -152,4 +145,14 @@ bool wxPalette::GetRGB(int pixel,
     return true;
 }
 
     return true;
 }
 
+wxGDIRefData *wxPalette::CreateGDIRefData() const
+{
+    return new wxPaletteRefData;
+}
+
+wxGDIRefData *wxPalette::CloneGDIRefData(const wxGDIRefData *data) const
+{
+    return new wxPaletteRefData(*static_cast<const wxPaletteRefData *>(data));
+}
+
 #endif // wxUSE_PALETTE
 #endif // wxUSE_PALETTE