X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e8335b0b7a5984e1c22364f4c45435fe697ae75..723aa01a832bf97a43f9cb5c0850e82b4998cd7d:/include/wx/msw/ole/dataobj.h diff --git a/include/wx/msw/ole/dataobj.h b/include/wx/msw/ole/dataobj.h index 31af6d7da8..1b33e35ed9 100644 --- a/include/wx/msw/ole/dataobj.h +++ b/include/wx/msw/ole/dataobj.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/ole/dataobj.h +// Name: wx/msw/ole/dataobj.h // Purpose: declaration of the wxDataObject class // Author: Vadim Zeitlin // Modified by: @@ -22,7 +22,7 @@ struct IDataObject; // wxDataObject is a "smart" and polymorphic piece of data. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxDataObject : public wxDataObjectBase +class WXDLLIMPEXP_CORE wxDataObject : public wxDataObjectBase { public: // ctor & dtor @@ -36,20 +36,44 @@ public: // it is deleted, it should delete us as well void SetAutoDelete(); - // return TRUE if we support this format in "Get" direction - bool IsSupportedFormat(const wxDataFormat& format) const; + // return true if we support this format in "Get" direction + bool IsSupportedFormat(const wxDataFormat& format) const + { return wxDataObjectBase::IsSupported(format, Get); } + + // if this method returns false, this wxDataObject will be copied to + // the clipboard with its size prepended to it, which is compatible with + // older wx versions + // + // if returns true, then this wxDataObject will be copied to the clipboard + // without any additional information and ::HeapSize() function will be used + // to get the size of that data + virtual bool NeedsVerbatimData(const wxDataFormat& WXUNUSED(format)) const + { + // return false from here only for compatibility with earlier wx versions + return true; + } -#ifdef __WXDEBUG__ // function to return symbolic name of clipboard format (for debug messages) - static const char *GetFormatName(wxDataFormat format); +#ifdef __WXDEBUG__ + static const wxChar *GetFormatName(wxDataFormat format); #define wxGetFormatName(format) wxDataObject::GetFormatName(format) #else // !Debug - #define wxGetFormatName(format) "" + #define wxGetFormatName(format) wxT("") #endif // Debug/!Debug + // they need to be accessed from wxIDataObject, so made them public, + // or wxIDataObject friend +public: + virtual const void* GetSizeFromBuffer( const void* buffer, size_t* size, + const wxDataFormat& format ); + virtual void* SetSizeInBuffer( void* buffer, size_t size, + const wxDataFormat& format ); + virtual size_t GetBufferOffset( const wxDataFormat& format ); private: IDataObject *m_pIDataObject; // pointer to the COM interface + + wxDECLARE_NO_COPY_CLASS(wxDataObject); }; #endif //_WX_MSW_OLE_DATAOBJ_H