+bool WXDLLIMPEXP_CORE wxMakeMetaFilePlaceable( const wxString& filename
+ ,int x1
+ ,int y1
+ ,int x2
+ ,int y2
+ ,float scale = 1.0
+ ,bool useOriginAndExtent = true
+ );
+
+// ----------------------------------------------------------------------------
+// wxMetafileDataObject is a specialization of wxDataObject for metafile data
+// ----------------------------------------------------------------------------
+
+// TODO: implement OLE side of things. At present, it's just for clipboard
+// use.
+
+#if wxUSE_DRAG_AND_DROP
+class WXDLLIMPEXP_CORE wxMetafileDataObject : public wxDataObject
+{
+public:
+ // ctors
+ wxMetafileDataObject() { m_width = 0; m_height = 0; }
+ wxMetafileDataObject(const wxMetafile& metafile, int width = 0,int height = 0)
+ :m_metafile(metafile)
+ ,m_width(width)
+ ,m_height(height) { }
+
+ void SetMetafile(const wxMetafile& metafile, int w = 0, int h = 0)
+ { m_metafile = metafile; m_width = w; m_height = h; }
+ wxMetafile GetMetafile() const { return m_metafile; }
+ int GetWidth() const { return m_width; }
+ int GetHeight() const { return m_height; }
+
+ virtual wxDataFormat GetFormat() const { return wxDF_METAFILE; }
+
+/* ??
+ // implement base class pure virtuals
+ virtual wxDataFormat GetPreferredFormat() const
+ { return (wxDataFormat) wxDataObject::Text; }
+ virtual bool IsSupportedFormat(wxDataFormat format) const
+ { return format == wxDataObject::Text || format == wxDataObject::Locale; }
+ virtual size_t GetDataSize() const
+ { return m_strText.Len() + 1; } // +1 for trailing '\0'of course
+ virtual void GetDataHere(void *pBuf) const
+ { memcpy(pBuf, m_strText.c_str(), GetDataSize()); }
+*/
+
+private:
+ wxMetafile m_metafile;
+ int m_width;
+ int m_height;
+};
+#endif