+// ----------------------------------------------------------------------------
+// wxMetafileDataObject is a specialization of wxDataObject for metafile data
+// ----------------------------------------------------------------------------
+
+#if wxUSE_DATAOBJ
+class WXDLLEXPORT wxMetafileDataObject : public wxDataObjectSimple
+{
+public:
+ // ctors
+ wxMetafileDataObject()
+ : wxDataObjectSimple(wxDF_METAFILE) { };
+ wxMetafileDataObject(const wxMetafile& metafile)
+ : wxDataObjectSimple(wxDF_METAFILE), 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 SetMetafile(const wxMetafile& metafile)
+ { m_metafile = metafile; }
+ virtual wxMetafile GetMetafile() 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:
+ wxMetafile m_metafile;
+};
+#endif
+
+#endif // wxUSE_METAFILE
+
+