X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8853b9a80e58b01a77700cb28c560ba3c1b033ce..794005c0acc80bf21ca0ed2e1f42f1d78947957b:/include/wx/msw/ole/dataobj.h diff --git a/include/wx/msw/ole/dataobj.h b/include/wx/msw/ole/dataobj.h index c613f66e56..80a1e13e43 100644 --- a/include/wx/msw/ole/dataobj.h +++ b/include/wx/msw/ole/dataobj.h @@ -73,6 +73,9 @@ public: // retrieve IDataObject interface (for other OLE related classes) IDataObject *GetInterface() const { return m_pIDataObject; } + ////// wxGTK compatibility: hopefully to become the preferred API. + virtual wxDataFormat GetFormat() const { return GetPreferredFormat(); } + private: IDataObject *m_pIDataObject; // pointer to the COM interface }; @@ -84,7 +87,7 @@ class WXDLLEXPORT wxTextDataObject : public wxDataObject { public: // ctors - wxTextDataObject(); + wxTextDataObject() { } wxTextDataObject(const wxString& strText) : m_strText(strText) { } void Init(const wxString& strText) { m_strText = strText; } @@ -98,6 +101,11 @@ public: virtual void GetDataHere(void *pBuf) const { memcpy(pBuf, m_strText.c_str(), GetDataSize()); } + ////// wxGTK compatibility: hopefully to become the preferred API. + void SetText(const wxString& strText) { m_strText = strText; } + wxString GetText() const { return m_strText; } + virtual wxDataFormat GetFormat() const { return wxDF_TEXT; } + private: wxString m_strText; }; @@ -106,4 +114,42 @@ private: // @@@ TODO: wx{Bitmap|Metafile|...}DataObject // ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// wxBitmapDataObject is a specialization of wxDataObject for bitmap data +// ---------------------------------------------------------------------------- + +// TODO: implement OLE side of things. At present, it's just for clipboard +// use. +class WXDLLEXPORT wxBitmapDataObject : public wxDataObject +{ +public: + // ctors + wxBitmapDataObject() {}; + wxBitmapDataObject(const wxBitmap& bitmap): m_bitmap(bitmap) {} + void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; } + wxBitmap GetBitmap() const { return m_bitmap; } + + virtual wxDataFormat GetFormat() const { return wxDF_BITMAP; } + + // implement base class pure virtuals + virtual wxDataFormat GetPreferredFormat() const + { return (wxDataFormat) wxDataObject::Bitmap; } + virtual bool IsSupportedFormat(wxDataFormat format) const + { return format == wxDataObject::Bitmap; } + virtual size_t GetDataSize() const + { wxASSERT(false); return 0; } // BEMIMP + virtual void GetDataHere(void *pBuf) const + { wxASSERT(false); } // BEMIMP + +private: + wxBitmap m_bitmap; +}; + +// ---------------------------------------------------------------------------- +// wxMetaFileDataObject: see metafile.h is a specialization of wxDataObject for bitmap data +// ---------------------------------------------------------------------------- + +// TODO: wxFileDataObject. + #endif //_WX_OLEDATAOBJ_H +