X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/489468feaa08b8f504735eecca522fb8d0f825d2..08670ea85abf4b4946a9ce64971b591d7b1ee30b:/src/osx/carbon/metafile.cpp?ds=sidebyside diff --git a/src/osx/carbon/metafile.cpp b/src/osx/carbon/metafile.cpp index 73d5b77f9a..dde3a496b9 100644 --- a/src/osx/carbon/metafile.cpp +++ b/src/osx/carbon/metafile.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/mac/carbon/metafile.cpp +// Name: src/osx/carbon/metafile.cpp // Purpose: wxMetaFile, wxMetaFileDC etc. These classes are optional. // Author: Stefan Csomor // Modified by: @@ -24,9 +24,9 @@ #include "wx/metafile.h" #include "wx/clipbrd.h" -#include "wx/mac/uma.h" +#include "wx/osx/private.h" #include "wx/graphics.h" -#include "wx/mac/carbon/metafile.h" +#include "wx/osx/metafile.h" #include #include @@ -76,6 +76,11 @@ private: int m_width ; int m_height ; + + + // Our m_pdfDoc field can't be easily (deep) copied and so we don't define a + // copy ctor. + wxDECLARE_NO_COPY_CLASS(wxMetafileRefData); }; wxMetafileRefData::wxMetafileRefData(CFDataRef data) : @@ -156,8 +161,8 @@ void wxMetafileRefData::UpdateDocumentFromData() { CGPDFPageRef page = CGPDFDocumentGetPage( m_pdfDoc, 1 ); CGRect rect = CGPDFPageGetBoxRect ( page, kCGPDFMediaBox); - m_width = wx_static_cast(int, rect.size.width); - m_height = wx_static_cast(int, rect.size.height); + m_width = static_cast(rect.size.width); + m_height = static_cast(rect.size.height); } } @@ -175,9 +180,12 @@ wxGDIRefData *wxMetaFile::CreateGDIRefData() const return new wxMetafileRefData; } -wxGDIRefData *wxMetaFile::CloneGDIRefData(const wxGDIRefData *data) const +wxGDIRefData * +wxMetaFile::CloneGDIRefData(const wxGDIRefData * WXUNUSED(data)) const { - return new wxMetafileRefData(*wx_static_cast(const wxMetafileRefData *, data)); + wxFAIL_MSG( wxS("Cloning metafiles is not implemented in wxCarbon.") ); + + return new wxMetafileRefData; } WXHMETAFILE wxMetaFile::GetHMETAFILE() const @@ -216,7 +224,7 @@ void wxMetafile::SetHMETAFILE(WXHMETAFILE mf) m_refData = new wxMetafileRefData((CFDataRef)mf); } -#ifndef __LP64__ +#if wxOSX_USE_COCOA_OR_CARBON && !defined( __LP64__ ) void wxMetafile::SetPICT(void* pictHandle) { UnRef(); @@ -227,8 +235,8 @@ void wxMetafile::SetPICT(void* pictHandle) wxCFRef provider(wxMacCGDataProviderCreateWithCFData(data)); QDPictRef pictRef = QDPictCreateWithProvider(provider); CGRect rect = QDPictGetBounds(pictRef); - m_refData = new wxMetafileRefData(wx_static_cast(int, rect.size.width), - wx_static_cast(int, rect.size.height)); + m_refData = new wxMetafileRefData(static_cast(rect.size.width), + static_cast(rect.size.height)); QDPictDrawToCGContext( ((wxMetafileRefData*) m_refData)->GetContext(), rect, pictRef ); CFRelease( data ); QDPictRelease( pictRef ); @@ -266,7 +274,7 @@ wxSize wxMetaFile::GetSize() const { wxSize dataSize = wxDefaultSize; - if (Ok()) + if (IsOk()) { dataSize.x = M_METAFILEDATA->GetWidth(); dataSize.y = M_METAFILEDATA->GetHeight(); @@ -318,8 +326,7 @@ void wxMetafileDCImpl::DoGetSize(int *width, int *height) const wxMetaFile *wxMetafileDCImpl::Close() { - delete m_graphicContext; - m_graphicContext = NULL; + wxDELETE(m_graphicContext); m_ok = false; M_METAFILEREFDATA(*m_metaFile)->Close();