// wxEnhMetaFile
// ----------------------------------------------------------------------------
+wxGDIRefData *wxEnhMetaFile::CreateGDIRefData() const
+{
+ wxFAIL_MSG( _T("must be implemented if used") );
+
+ return NULL;
+}
+
+wxGDIRefData *
+wxEnhMetaFile::CloneGDIRefData(const wxGDIRefData *WXUNUSED(data)) const
+{
+ wxFAIL_MSG( _T("must be implemented if used") );
+
+ return NULL;
+}
+
void wxEnhMetaFile::Init()
{
if ( m_filename.empty() )
wxMSWDCImpl *msw_impl = wxDynamicCast( impl, wxMSWDCImpl );
if (!msw_impl)
return false;
-
+
if ( !::PlayEnhMetaFile(GetHdcOf(*msw_impl), GetEMF(), &rect) )
{
wxLogLastError(_T("PlayEnhMetaFile"));
}
// ----------------------------------------------------------------------------
-// wxEnhMetaFileDC
+// wxEnhMetaFileDCImpl
// ----------------------------------------------------------------------------
class wxEnhMetaFileDCImpl : public wxMSWDCImpl
{
public:
- wxEnhMetaFileDCImpl( wxEnhMetaFileDC *owner,
+ wxEnhMetaFileDCImpl( wxEnhMetaFileDC *owner,
const wxString& filename, int width, int height,
const wxString& description );
virtual ~wxEnhMetaFileDCImpl();
};
-IMPLEMENT_ABSTRACT_CLASS(wxEnhMetaFileDC, wxDC)
-
-wxEnhMetaFileDC::wxEnhMetaFileDC(const wxString& filename,
- int width, int height,
- const wxString& description)
-{
- m_pimpl = new wxEnhMetaFileDCImpl( this, filename, width, height, description );
-}
-
-
wxEnhMetaFileDCImpl::wxEnhMetaFileDCImpl( wxEnhMetaFileDC* owner,
const wxString& filename,
int width, int height,
const wxString& description )
- : wxMSWDCImpl( owner )
+ : wxMSWDCImpl( owner )
{
m_width = width;
m_height = height;
m_hDC = 0;
}
+// ----------------------------------------------------------------------------
+// wxEnhMetaFileDC
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_ABSTRACT_CLASS(wxEnhMetaFileDC, wxDC)
+
+wxEnhMetaFileDC::wxEnhMetaFileDC(const wxString& filename,
+ int width, int height,
+ const wxString& description)
+ : wxDC(new wxEnhMetaFileDCImpl(this,
+ filename,
+ width, height,
+ description))
+{
+}
+
+wxEnhMetaFile *wxEnhMetaFileDC::Close()
+{
+ wxEnhMetaFileDCImpl * const
+ impl = wx_static_cast(wxEnhMetaFileDCImpl *, GetImpl());
+ wxCHECK_MSG( impl, NULL, _T("no wxEnhMetaFileDC implementation") );
+
+ return impl->Close();
+}
+
#if wxUSE_DRAG_AND_DROP
// ----------------------------------------------------------------------------