X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/524c47aa3adf2af11a3069fd5da035a604f08f66..55410bb4f67febe1ca20654f078ea4fb9a6223ae:/src/osx/carbon/dcprint.cpp?ds=sidebyside diff --git a/src/osx/carbon/dcprint.cpp b/src/osx/carbon/dcprint.cpp index 5163f0d17c..08033ff558 100644 --- a/src/osx/carbon/dcprint.cpp +++ b/src/osx/carbon/dcprint.cpp @@ -27,7 +27,7 @@ #include "wx/osx/private.h" #include "wx/osx/private/print.h" -#include "wx/osx/carbon/dcprint.h" +#include "wx/osx/dcprint.h" #include "wx/graphics.h" IMPLEMENT_ABSTRACT_CLASS(wxPrinterDCImpl, wxGCDCImpl) @@ -73,10 +73,10 @@ private : wxMacCarbonPrinterDC::wxMacCarbonPrinterDC( wxPrintData* data ) { m_err = noErr ; - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) data->GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) data->GetNativeData() ; PMRect rPage; - m_err = PMGetAdjustedPageRect(native->m_macPageFormat, &rPage); + m_err = PMGetAdjustedPageRect(native->GetPageFormat(), &rPage); if ( m_err != noErr ) return; @@ -85,14 +85,14 @@ wxMacCarbonPrinterDC::wxMacCarbonPrinterDC( wxPrintData* data ) PMResolution res; -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 if ( PMPrinterGetOutputResolution != NULL ) { PMPrinter printer; - m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); + m_err = PMSessionGetCurrentPrinter(native->GetPrintSession(), &printer); if ( m_err == noErr ) { - m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + m_err = PMPrinterGetOutputResolution( printer, native->GetPrintSettings(), &res) ; if ( m_err == -9589 /* kPMKeyNotFound */ ) { m_err = noErr ; @@ -103,11 +103,11 @@ wxMacCarbonPrinterDC::wxMacCarbonPrinterDC( wxPrintData* data ) else #endif { -#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 + m_err = PMGetResolution((PMPageFormat) (native->GetPageFormat()), &res); #endif } - + m_ppi = wxSize(int(res.hRes), int(res.vRes)); } @@ -120,22 +120,27 @@ wxNativePrinterDC* wxNativePrinterDC::Create(wxPrintData* data) return new wxMacCarbonPrinterDC(data) ; } -bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& WXUNUSED(message) ) +bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& message ) { if ( m_err ) return false ; wxPrinterDCImpl *impl = (wxPrinterDCImpl*) dc->GetImpl(); - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) impl->GetPrintData().GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) impl->GetPrintData().GetNativeData() ; + +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 + if ( PMPrintSettingsSetJobName != NULL ) + PMPrintSettingsSetJobName(native->GetPrintSettings(), wxCFStringRef(message)); +#endif - m_err = PMSessionBeginCGDocumentNoDialog(native->m_macPrintSession, - native->m_macPrintSettings, - native->m_macPageFormat); + m_err = PMSessionBeginCGDocumentNoDialog(native->GetPrintSession(), + native->GetPrintSettings(), + native->GetPageFormat()); if ( m_err != noErr ) return false; PMRect rPage; - m_err = PMGetAdjustedPageRect(native->m_macPageFormat, &rPage); + m_err = PMGetAdjustedPageRect(native->GetPageFormat(), &rPage); if ( m_err != noErr ) return false ; @@ -143,14 +148,14 @@ bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& WXUNUSED m_maxY = wxCoord(rPage.bottom - rPage.top); PMResolution res; -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 if ( PMPrinterGetOutputResolution != NULL ) { PMPrinter printer; - m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer); + m_err = PMSessionGetCurrentPrinter(native->GetPrintSession(), &printer); if ( m_err == noErr ) { - m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ; + m_err = PMPrinterGetOutputResolution( printer, native->GetPrintSettings(), &res) ; if ( m_err == -9589 /* kPMKeyNotFound */ ) { m_err = noErr ; @@ -161,8 +166,8 @@ bool wxMacCarbonPrinterDC::StartDoc( wxPrinterDC* dc , const wxString& WXUNUSED else #endif { -#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res); +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 + m_err = PMGetResolution((PMPageFormat) (native->GetPageFormat()), &res); #endif } @@ -176,9 +181,9 @@ void wxMacCarbonPrinterDC::EndDoc( wxPrinterDC* dc ) return ; wxPrinterDCImpl *impl = (wxPrinterDCImpl*) dc->GetImpl(); - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) impl->GetPrintData().GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) impl->GetPrintData().GetNativeData() ; - m_err = PMSessionEndDocumentNoDialog(native->m_macPrintSession); + m_err = PMSessionEndDocumentNoDialog(native->GetPrintSession()); } void wxMacCarbonPrinterDC::StartPage( wxPrinterDC* dc ) @@ -187,34 +192,34 @@ void wxMacCarbonPrinterDC::StartPage( wxPrinterDC* dc ) return ; wxPrinterDCImpl *impl = (wxPrinterDCImpl*) dc->GetImpl(); - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) impl->GetPrintData().GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) impl->GetPrintData().GetNativeData() ; - m_err = PMSessionBeginPageNoDialog(native->m_macPrintSession, - native->m_macPageFormat, + m_err = PMSessionBeginPageNoDialog(native->GetPrintSession(), + native->GetPageFormat(), nil); CGContextRef pageContext; if ( m_err == noErr ) { - m_err = PMSessionGetCGGraphicsContext(native->m_macPrintSession, + m_err = PMSessionGetCGGraphicsContext(native->GetPrintSession(), &pageContext ); } if ( m_err != noErr ) { - PMSessionEndPageNoDialog(native->m_macPrintSession); - PMSessionEndDocumentNoDialog(native->m_macPrintSession); + PMSessionEndPageNoDialog(native->GetPrintSession()); + PMSessionEndDocumentNoDialog(native->GetPrintSession()); } else { PMRect rPage; - m_err = PMGetAdjustedPageRect(native->m_macPageFormat, &rPage); + m_err = PMGetAdjustedPageRect(native->GetPageFormat(), &rPage); if ( !m_err ) { PMRect paperRect ; - PMGetAdjustedPaperRect( native->m_macPageFormat , &paperRect ) ; + PMGetAdjustedPaperRect( native->GetPageFormat() , &paperRect ) ; // make sure (0,0) is at the upper left of the printable area (wx conventions) // Core Graphics initially has the lower left of the paper as 0,0 CGContextTranslateCTM( pageContext , (CGFloat) -paperRect.left , (CGFloat) paperRect.bottom ) ; @@ -232,12 +237,12 @@ void wxMacCarbonPrinterDC::EndPage( wxPrinterDC* dc ) return ; wxPrinterDCImpl *impl = (wxPrinterDCImpl*) dc->GetImpl(); - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) impl->GetPrintData().GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) impl->GetPrintData().GetNativeData() ; - m_err = PMSessionEndPageNoDialog(native->m_macPrintSession); + m_err = PMSessionEndPageNoDialog(native->GetPrintSession()); if ( m_err != noErr ) { - PMSessionEndDocumentNoDialog(native->m_macPrintSession); + PMSessionEndDocumentNoDialog(native->GetPrintSession()); } // the cg context we got when starting the page isn't valid anymore, so replace it impl->SetGraphicsContext( wxGraphicsContext::Create() ); @@ -251,7 +256,7 @@ void wxMacCarbonPrinterDC::GetSize( int *w , int *h) const *h = m_maxY ; } -wxSize wxMacCarbonPrinterDC::GetPPI() const +wxSize wxMacCarbonPrinterDC::GetPPI() const { return m_ppi ; }; @@ -281,7 +286,7 @@ wxPrinterDCImpl::wxPrinterDCImpl( wxPrinterDC *owner, const wxPrintData& printda { wxSize sz = GetPPI(); m_mm_to_pix_x = mm2inches * sz.x; - m_mm_to_pix_y = mm2inches * sz.y; + m_mm_to_pix_y = mm2inches * sz.y; } // we need at least a measuring context because people start measuring before a page // gets printed at all @@ -339,15 +344,15 @@ void wxPrinterDCImpl::EndDoc(void) } } -wxRect wxPrinterDCImpl::GetPaperRect() +wxRect wxPrinterDCImpl::GetPaperRect() const { wxCoord w, h; GetOwner()->GetSize(&w, &h); wxRect pageRect(0, 0, w, h); - wxMacCarbonPrintData *native = (wxMacCarbonPrintData*) m_printData.GetNativeData() ; + wxOSXPrintData *native = (wxOSXPrintData*) m_printData.GetNativeData() ; OSStatus err = noErr ; PMRect rPaper; - err = PMGetAdjustedPaperRect(native->m_macPageFormat, &rPaper); + err = PMGetAdjustedPaperRect(native->GetPageFormat(), &rPaper); if ( err != noErr ) return pageRect; return wxRect(wxCoord(rPaper.left), wxCoord(rPaper.top),