]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/dcprint.cpp
missing reversed orientation assignments
[wxWidgets.git] / src / mac / classic / dcprint.cpp
index fb7d386862c32f635f32616df3215f3d154e9759..c67228b4ff2c7b2129eef54bc5b02253e844f086 100644 (file)
@@ -20,9 +20,9 @@
 
 #ifndef WX_PRECOMP
     #include "wx/msgdlg.h"
+    #include "wx/math.h"
 #endif
 
-#include "wx/math.h"
 #include "wx/mac/uma.h"
 #include "wx/mac/private/print.h"
 
@@ -52,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 ) ;
@@ -185,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 ) ;
@@ -398,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") );