X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bfbd6dc1921a17bd880d580dd660e8bc478a9391..b9f933ab5d4a293790d0f5186c434229678c76ea:/include/wx/msw/enhmeta.h diff --git a/include/wx/msw/enhmeta.h b/include/wx/msw/enhmeta.h index 88f7cfa8a9..bf2574b935 100644 --- a/include/wx/msw/enhmeta.h +++ b/include/wx/msw/enhmeta.h @@ -94,12 +94,12 @@ private: DECLARE_DYNAMIC_CLASS(wxEnhMetaFileDC) }; +#if wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // wxEnhMetaFileDataObject is a specialization of wxDataObject for enh metafile // ---------------------------------------------------------------------------- -#if wxUSE_DRAG_AND_DROP - // notice that we want to support both CF_METAFILEPICT and CF_ENHMETAFILE and // so we derive from wxDataObject and not from wxDataObjectSimple class WXDLLEXPORT wxEnhMetaFileDataObject : public wxDataObject @@ -130,6 +130,38 @@ protected: wxEnhMetaFile m_metafile; }; + +// ---------------------------------------------------------------------------- +// wxEnhMetaFileSimpleDataObject does derive from wxDataObjectSimple which +// makes it more convenient to use (it can be used with wxDataObjectComposite) +// at the price of not supoprting any more CF_METAFILEPICT but only +// CF_ENHMETAFILE +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxEnhMetaFileSimpleDataObject : public wxDataObjectSimple +{ +public: + // ctors + wxEnhMetaFileSimpleDataObject() : wxDataObjectSimple(wxDF_ENHMETAFILE) { } + wxEnhMetaFileSimpleDataObject(const wxEnhMetaFile& metafile) + : wxDataObjectSimple(wxDF_ENHMETAFILE), m_metafile(metafile) { } + + // virtual functions which you may override if you want to provide data on + // demand only - otherwise, the trivial default versions will be used + virtual void SetEnhMetafile(const wxEnhMetaFile& metafile) + { m_metafile = metafile; } + virtual wxEnhMetaFile GetEnhMetafile() const + { return m_metafile; } + + // implement base class pure virtuals + virtual size_t GetDataSize() const; + virtual bool GetDataHere(void *buf) const; + virtual bool SetData(size_t len, const void *buf); + +protected: + wxEnhMetaFile m_metafile; +}; + #endif // wxUSE_DRAG_AND_DROP #endif // _WX_MSW_ENHMETA_H_