]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/dataobj2.h
avoid GCC warning about type-punned pointer breaking strict aliasing rules
[wxWidgets.git] / include / wx / mac / carbon / dataobj2.h
index f0f457b562d05ccc2574e2916fc78fc11a8f1073..b647d2a4651294d63fcd2344da4cdb13d29b0b17 100644 (file)
@@ -1,20 +1,16 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        os2/dataobj2.h
+// Name:        mac/dataobj2.h
 // Purpose:     declaration of standard wxDataObjectSimple-derived classes
 // Author:      David Webster (adapted from Robert Roebling's gtk port
 // Modified by:
 // Created:     10/21/99
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998, 1999 Vadim Zeitlin, Robert Roebling
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_GTK_DATAOBJ2_H_
-#define _WX_GTK_DATAOBJ2_H_
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "dataobj.h"
-#endif
+#ifndef _WX_MAC_DATAOBJ2_H_
+#define _WX_MAC_DATAOBJ2_H_
 
 // ----------------------------------------------------------------------------
 // wxBitmapDataObject is a specialization of wxDataObject for bitmaps
@@ -28,7 +24,7 @@ public:
     wxBitmapDataObject(const wxBitmap& bitmap);
 
     // destr
-    ~wxBitmapDataObject();
+    virtual ~wxBitmapDataObject();
 
     // override base class virtual to update PNG data too
     virtual void SetBitmap(const wxBitmap& bitmap);
@@ -39,6 +35,19 @@ public:
     virtual size_t GetDataSize() const ;
     virtual bool GetDataHere(void *buf) const ;
     virtual bool SetData(size_t len, const void *buf);
+    // Must provide overloads to avoid hiding them (and warnings about it)
+    virtual size_t GetDataSize(const wxDataFormat&) const
+    {
+        return GetDataSize();
+    }
+    virtual bool GetDataHere(const wxDataFormat&, void *buf) const
+    {
+        return GetDataHere(buf);
+    }
+    virtual bool SetData(const wxDataFormat&, size_t len, const void *buf)
+    {
+        return SetData(len, buf);
+    }
 
 protected :
     void Init() ;
@@ -46,14 +55,6 @@ protected :
 
     void* m_pictHandle ;
     bool m_pictCreated ;
-private:
-    // Virtual function hiding supression
-    size_t GetDataSize(const wxDataFormat& rFormat) const
-    { return(wxDataObjectSimple::GetDataSize(rFormat)); }
-    bool GetDataHere(const wxDataFormat& rFormat, void* pBuf) const
-    { return(wxDataObjectSimple::GetDataHere(rFormat, pBuf)); }
-    bool SetData(const wxDataFormat& rFormat, size_t nLen, const void* pBuf)
-    { return(wxDataObjectSimple::SetData(rFormat, nLen, pBuf)); }
 };
 
 // ----------------------------------------------------------------------------
@@ -67,20 +68,27 @@ public:
     // ----------------------------------
 
     void AddFile( const wxString &filename );
-
+    
     virtual size_t GetDataSize() const;
     virtual bool GetDataHere(void *buf) const;
     virtual bool SetData(size_t len, const void *buf);
-
-private:
-    // Virtual function hiding supression
-    size_t GetDataSize(const wxDataFormat& rFormat) const
-    { return(wxDataObjectSimple::GetDataSize(rFormat)); }
-    bool GetDataHere(const wxDataFormat& rFormat, void* pBuf) const
-    { return(wxDataObjectSimple::GetDataHere(rFormat, pBuf)); }
-    bool SetData(const wxDataFormat& rFormat, size_t nLen, const void* pBuf)
-    { return(wxDataObjectSimple::SetData(rFormat, nLen, pBuf)); }
+    // Must provide overloads to avoid hiding them (and warnings about it)
+    virtual size_t GetDataSize(const wxDataFormat&) const
+    {
+        return GetDataSize();
+    }
+    virtual bool GetDataHere(const wxDataFormat&, void *buf) const
+    {
+        return GetDataHere(buf);
+    }
+    virtual bool SetData(const wxDataFormat&, size_t len, const void *buf)
+    {
+        return SetData(len, buf);
+    }
+protected:
+    // translates the filenames stored into a utf8 encoded char stream
+    void GetFileNames(wxCharBuffer &buf) const ;
 };
 
-#endif // _WX_GTK_DATAOBJ2_H_
+#endif // _WX_MAC_DATAOBJ2_H_