From 0273787aba66cc4e0e0107b624efcf3d87f55917 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 17 Jan 2008 00:31:33 +0000 Subject: [PATCH] restored wxEnhMetaFileDC::Close() lost in wxDC reorganization git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/enhmeta.h | 4 ++++ src/msw/enhmeta.cpp | 42 +++++++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/include/wx/msw/enhmeta.h b/include/wx/msw/enhmeta.h index 2e894bb..264cccb 100644 --- a/include/wx/msw/enhmeta.h +++ b/include/wx/msw/enhmeta.h @@ -87,6 +87,10 @@ public: int width = 0, int height = 0, const wxString& description = wxEmptyString); + // obtain a pointer to the new metafile (caller should delete it) + wxEnhMetaFile *Close(); + +private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxEnhMetaFileDC) }; diff --git a/src/msw/enhmeta.cpp b/src/msw/enhmeta.cpp index d2c3900..a3931c9 100644 --- a/src/msw/enhmeta.cpp +++ b/src/msw/enhmeta.cpp @@ -209,7 +209,7 @@ bool wxEnhMetaFile::SetClipboard(int WXUNUSED(width), int WXUNUSED(height)) } // ---------------------------------------------------------------------------- -// wxEnhMetaFileDC +// wxEnhMetaFileDCImpl // ---------------------------------------------------------------------------- class wxEnhMetaFileDCImpl : public wxMSWDCImpl @@ -233,24 +233,11 @@ private: }; -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)) -{ -} - - wxEnhMetaFileDCImpl::wxEnhMetaFileDCImpl( wxEnhMetaFileDC* owner, const wxString& filename, int width, int height, const wxString& description ) - : wxMSWDCImpl( owner ) + : wxMSWDCImpl( owner ) { m_width = width; m_height = height; @@ -315,6 +302,31 @@ wxEnhMetaFileDCImpl::~wxEnhMetaFileDCImpl() 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 // ---------------------------------------------------------------------------- -- 2.7.4