X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55a0f1e30311fee4b9694204afe5b5218dd438d1..47e175a24f862aa8b7ca7dd4a2bb5957991e7f2d:/src/osx/carbon/metafile.cpp diff --git a/src/osx/carbon/metafile.cpp b/src/osx/carbon/metafile.cpp index 7bf829e8a2..0d7607c6f7 100644 --- a/src/osx/carbon/metafile.cpp +++ b/src/osx/carbon/metafile.cpp @@ -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) : @@ -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(*static_cast(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); } -#if wxOSX_USE_COCOA_OR_CARBON && !defined( __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(static_cast(rect.size.width), - static_cast(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();