]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/metafile.cpp
Font (possible) fix
[wxWidgets.git] / src / mac / carbon / metafile.cpp
index adb8b49a4970fce432087c10213dec7c94f64f9a..3dd6682e8421832ac646d91ec3a43b92b4990346 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "metafile.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 
 extern bool wxClipboardIsOpen;
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxMetafile, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxMetafileDC, wxDC)
-#endif
 
 class wxMetafileRefData: public wxGDIRefData
 {
@@ -89,7 +83,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 +94,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 +121,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,29 +156,29 @@ void wxMetafile::SetHMETAFILE(WXHMETAFILE mf)
 bool wxMetaFile::Play(wxDC *dc)
 {
     if (!m_refData)
-        return FALSE;
-    
+        return false;
+
     if (!dc->Ok() )
-        return FALSE;
-        
+        return false;
+
     {
-        PicHandle pict = (PicHandle) GetHMETAFILE() ;
 #if wxMAC_USE_CORE_GRAPHICS
         QDPictRef cgPictRef = M_METAFILEDATA->m_qdPictRef ;
-        CGContextRef cg = dynamic_cast<wxMacCGContext*>(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 ) ;
         CGContextRestoreGState( cg ) ;
 #else
+        PicHandle pict = (PicHandle) GetHMETAFILE() ;
         wxMacPortSetter helper( dc ) ;
         DrawPicture( pict , &(**pict).picFrame ) ;
 #endif
     }
-    return TRUE;
+    return true;
 }
 
 wxSize wxMetaFile::GetSize() const
@@ -212,21 +208,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()