X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/519cb848a8f4c91c73421bb75314754284e593a4..36bd690299dc72d49c4a945fa467ac7ce2342019:/src/mac/metafile.cpp diff --git a/src/mac/metafile.cpp b/src/mac/metafile.cpp index 97e31948bf..6a0a3a9eab 100644 --- a/src/mac/metafile.cpp +++ b/src/mac/metafile.cpp @@ -59,7 +59,7 @@ wxMetafileRefData::~wxMetafileRefData(void) { if (m_metafile) { - KillPicture( m_metafile ) ; + KillPicture( m_metafile ) ; m_metafile = 0; } } @@ -85,7 +85,7 @@ bool wxMetaFile::SetClipboard(int width, int height) { if (!m_refData) return FALSE; -/* + bool alreadyOpen=wxClipboardOpen(); if (!alreadyOpen) { @@ -94,11 +94,19 @@ bool wxMetaFile::SetClipboard(int width, int height) } bool success = wxSetClipboardData(wxDF_METAFILE, this, width,height); if (!alreadyOpen) wxCloseClipboard(); - return (bool) success; - */ + return (bool) success; + return TRUE ; } +void wxMetafile::SetHMETAFILE(PicHandle mf) +{ + if (!m_refData) + m_refData = new wxMetafileRefData; + + M_METAFILEDATA->m_metafile = mf; +} + bool wxMetaFile::Play(wxDC *dc) { if (!m_refData) @@ -107,23 +115,11 @@ bool wxMetaFile::Play(wxDC *dc) if (!dc->Ok() ) return FALSE; - dc->MacVerifySetup() ; - { + wxMacPortSetter helper( dc ) ; PicHandle pict = GetHMETAFILE() ; DrawPicture( pict , &(**pict).picFrame ) ; } -/* - if (!m_refData) - return FALSE; - - dc->BeginDrawing(); - - if (dc->GetHDC() && M_METAFILEDATA->m_metafile) - PlayMetaFile((HDC) dc->GetHDC(), (HMETAFILE) M_METAFILEDATA->m_metafile); - - dc->EndDrawing(); -*/ return TRUE; } @@ -144,11 +140,11 @@ wxMetaFileDC::wxMetaFileDC(const wxString& file) wxASSERT_MSG( file.IsEmpty() , "no file based metafile support yet") ; - m_metaFile = new wxMetaFile("") ; - Rect r={0,0,100,100} ; + m_metaFile = new wxMetaFile("") ; + Rect r={0,0,1000,1000} ; - m_metaFile->SetHMETAFILE( OpenPicture( &r ) ) ; - ::GetPort( &m_macPort ) ; + m_metaFile->SetHMETAFILE( OpenPicture( &r ) ) ; + ::GetPort( &m_macPort ) ; m_ok = TRUE ; SetMapMode(wxMM_TEXT); @@ -186,5 +182,4 @@ wxMetaFile *wxMetaFileDC::Close() return m_metaFile; } - #endif