]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/dcprint.cpp
various close-button styles implemented in wxAuiNotebook
[wxWidgets.git] / src / mac / classic / dcprint.cpp
index caa8d1c3bf01a1f916594ef726e99cec08400ba0..c67228b4ff2c7b2129eef54bc5b02253e844f086 100644 (file)
@@ -1,37 +1,32 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dcprint.cpp
+// Name:        src/mac/classic/dcprint.cpp
 // Purpose:     wxPrinterDC class
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:       wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "dcprint.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
+#include "wx/dcprint.h"
+
 #ifndef WX_PRECOMP
+    #include "wx/msgdlg.h"
+    #include "wx/math.h"
 #endif
 
-#include "wx/dcprint.h"
-#include "wx/msgdlg.h"
-#include <math.h>
 #include "wx/mac/uma.h"
 #include "wx/mac/private/print.h"
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_CLASS(wxPrinterDC, wxDC)
-#endif
 
 class wxNativePrinterDC
 {
@@ -57,7 +52,7 @@ class wxMacCarbonPrinterDC : public wxNativePrinterDC
 {
 public :
     wxMacCarbonPrinterDC( wxPrintData* data ) ;
-    ~wxMacCarbonPrinterDC() ;
+    virtual ~wxMacCarbonPrinterDC() ;
     virtual bool StartDoc(  wxPrinterDC* dc , const wxString& message ) ;
     virtual void EndDoc( wxPrinterDC* dc ) ;
     virtual void StartPage( wxPrinterDC* dc ) ;
@@ -190,7 +185,7 @@ class wxMacClassicPrinterDC : public wxNativePrinterDC
 {
 public :
     wxMacClassicPrinterDC( wxPrintData* data ) ;
-    ~wxMacClassicPrinterDC() ;
+    virtual ~wxMacClassicPrinterDC() ;
     virtual bool StartDoc(  wxPrinterDC* dc , const wxString& message ) ;
     virtual void EndDoc( wxPrinterDC* dc ) ;
     virtual void StartPage( wxPrinterDC* dc ) ;
@@ -306,7 +301,7 @@ void wxMacClassicPrinterDC::EndPage( wxPrinterDC* dc )
 
 wxPrinterDC::wxPrinterDC(const wxPrintData& printdata)
 {
-    m_ok = FALSE ;
+    m_ok = false ;
     m_printData = printdata ;
     m_printData.ConvertToNative() ;
     m_nativePrinterDC = wxNativePrinterDC::Create( &m_printData ) ;
@@ -403,6 +398,18 @@ void wxPrinterDC::EndPage(void)
     m_ok = m_nativePrinterDC->Ok() ;
 }
 
+wxRect wxPrinterDC::GetPaperRect()
+{
+    wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) m_printData.GetNativeData() ;
+    OSStatus err = noErr ;
+    PMRect rPaper;
+    err = PMGetAdjustedPaperRect(native->m_macPageFormat, &rPaper);
+    if ( err != noErr )
+        return pageRect;
+    return wxRect(wxCoord(rPaper.left), wxCoord(rPaper.top),
+        wxCoord(rPaper.right - rPaper.left), wxCoord(rPaper.bottom - rPaper.top));
+}
+
 void wxPrinterDC::DoGetSize(int *width, int *height) const
 {
     wxCHECK_RET( m_ok , _T("GetSize() doesn't work without a valid wxPrinterDC") );
@@ -412,5 +419,3 @@ void wxPrinterDC::DoGetSize(int *width, int *height) const
     if ( height )
         * height = m_nativePrinterDC->GetMaxY() ;
 }
-
-