X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7fcb33e5f7911aca4540a2d8a4a9834419c34dd6..9e03e02d0ca493bc65f083600f1427d2ac8028ff:/src/mac/carbon/metafile.cpp diff --git a/src/mac/carbon/metafile.cpp b/src/mac/carbon/metafile.cpp index d708fe6c79..6aff3b7d38 100644 --- a/src/mac/carbon/metafile.cpp +++ b/src/mac/carbon/metafile.cpp @@ -37,10 +37,8 @@ extern bool wxClipboardIsOpen; -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxMetafile, wxObject) IMPLEMENT_ABSTRACT_CLASS(wxMetafileDC, wxDC) -#endif class wxMetafileRefData: public wxGDIRefData { @@ -89,7 +87,7 @@ wxMetaFile::wxMetaFile(const wxString& file) m_refData = new wxMetafileRefData; M_METAFILEDATA->m_metafile = 0; - wxASSERT_MSG( file.IsEmpty() , wxT("no file based metafile support yet") ) ; + wxASSERT_MSG( file.empty() , wxT("no file based metafile support yet") ) ; /* if (!file.IsNull() && (file.Cmp("") == 0)) M_METAFILEDATA->m_metafile = (WXHANDLE) GetMetaFile(file); @@ -100,23 +98,25 @@ wxMetaFile::~wxMetaFile() { } -bool wxMetaFile::Ok() const -{ - return (M_METAFILEDATA && (M_METAFILEDATA->m_metafile != 0)); +bool wxMetaFile::Ok() const +{ + return (M_METAFILEDATA && (M_METAFILEDATA->m_metafile != 0)); } -WXHMETAFILE wxMetaFile::GetHMETAFILE() const -{ - return (WXHMETAFILE) M_METAFILEDATA->m_metafile; +WXHMETAFILE wxMetaFile::GetHMETAFILE() const +{ + return (WXHMETAFILE) M_METAFILEDATA->m_metafile; } bool wxMetaFile::SetClipboard(int width, int height) { + bool success = true; + #if wxUSE_DRAG_AND_DROP //TODO finishi this port , we need the data obj first if (!m_refData) - return FALSE; - + return false; + bool alreadyOpen=wxTheClipboard->IsOpened() ; if (!alreadyOpen) { @@ -125,18 +125,18 @@ bool wxMetaFile::SetClipboard(int width, int height) } wxDataObject *data = new wxMetafileDataObject( *this) ; - bool success = wxTheClipboard->SetData(data); - if (!alreadyOpen) + success = wxTheClipboard->SetData(data); + if (!alreadyOpen) wxTheClipboard->Close(); - return (bool) success; #endif - return TRUE ; + + return success; } void wxMetafile::SetHMETAFILE(WXHMETAFILE mf) { UnRef() ; - + m_refData = new wxMetafileRefData; M_METAFILEDATA->m_metafile = (PicHandle) mf; @@ -160,18 +160,18 @@ void wxMetafile::SetHMETAFILE(WXHMETAFILE mf) bool wxMetaFile::Play(wxDC *dc) { if (!m_refData) - return FALSE; - + return false; + if (!dc->Ok() ) - return FALSE; - + return false; + { #if wxMAC_USE_CORE_GRAPHICS QDPictRef cgPictRef = M_METAFILEDATA->m_qdPictRef ; - CGContextRef cg = dynamic_cast(dc->GetGraphicContext())->GetNativeContext() ; + CGContextRef cg = ((wxMacCGContext*)(dc->GetGraphicContext()))->GetNativeContext() ; CGRect bounds = QDPictGetBounds( cgPictRef ) ; - CGContextSaveGState(cg); + CGContextSaveGState(cg); CGContextTranslateCTM(cg, 0 , bounds.size.width ); CGContextScaleCTM(cg, 1, -1); QDPictDrawToCGContext( cg , bounds , cgPictRef ) ; @@ -182,7 +182,7 @@ bool wxMetaFile::Play(wxDC *dc) DrawPicture( pict , &(**pict).picFrame ) ; #endif } - return TRUE; + return true; } wxSize wxMetaFile::GetSize() const @@ -212,21 +212,21 @@ wxMetaFileDC::wxMetaFileDC(const wxString& filename , const wxString& WXUNUSED(description) ) { wxASSERT_MSG( width == 0 || height == 0 , _T("no arbitration of metafilesize supported") ) ; - wxASSERT_MSG( filename.IsEmpty() , _T("no file based metafile support yet")) ; - + wxASSERT_MSG( filename.empty() , _T("no file based metafile support yet")) ; + m_metaFile = new wxMetaFile(filename) ; #if wxMAC_USE_CORE_GRAPHICS #else Rect r={0,0,height,width} ; - + RectRgn( (RgnHandle) m_macBoundaryClipRgn , &r ) ; CopyRgn( (RgnHandle) m_macBoundaryClipRgn , (RgnHandle) m_macCurrentClipRgn ) ; m_metaFile->SetHMETAFILE( (WXHMETAFILE) OpenPicture( &r ) ) ; - ::GetPort( (GrafPtr*) &m_macPort ) ; - m_ok = TRUE ; + ::GetPort( (GrafPtr*) &m_macPort ) ; + m_ok = true ; #endif - SetMapMode(wxMM_TEXT); + SetMapMode(wxMM_TEXT); } wxMetaFileDC::~wxMetaFileDC()