X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f0c8f31f407ecfce909060464c0ea655221cdab..47e175a24f862aa8b7ca7dd4a2bb5957991e7f2d:/src/osx/carbon/metafile.cpp diff --git a/src/osx/carbon/metafile.cpp b/src/osx/carbon/metafile.cpp index 464cd9ae63..0d7607c6f7 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/osx/uma.h" +#include "wx/osx/private.h" #include "wx/graphics.h" -#include "wx/osx/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,26 +224,6 @@ void wxMetafile::SetHMETAFILE(WXHMETAFILE mf) m_refData = new wxMetafileRefData((CFDataRef)mf); } -#ifndef __LP64__ -void wxMetafile::SetPICT(void* pictHandle) -{ - UnRef(); - - Handle picHandle = (Handle) pictHandle; - HLock(picHandle); - CFDataRef data = CFDataCreateWithBytesNoCopy( kCFAllocatorDefault, (const UInt8*) *picHandle, GetHandleSize(picHandle), kCFAllocatorNull); - 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)); - QDPictDrawToCGContext( ((wxMetafileRefData*) m_refData)->GetContext(), rect, pictRef ); - CFRelease( data ); - QDPictRelease( pictRef ); - ((wxMetafileRefData*) m_refData)->Close(); -} -#endif - bool wxMetaFile::Play(wxDC *dc) { if (!m_refData) @@ -266,7 +254,7 @@ wxSize wxMetaFile::GetSize() const { wxSize dataSize = wxDefaultSize; - if (Ok()) + if (IsOk()) { dataSize.x = M_METAFILEDATA->GetWidth(); dataSize.y = M_METAFILEDATA->GetHeight(); @@ -318,8 +306,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();