#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"
{
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 ) ;
{
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 ) ;
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") );