#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)
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;
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 ;
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));
}
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 ;
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 ;
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
}
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 )
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 ) ;
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() );
*h = m_maxY ;
}
-wxSize wxMacCarbonPrinterDC::GetPPI() const
+wxSize wxMacCarbonPrinterDC::GetPPI() const
{
return m_ppi ;
};
{
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
}
}
-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),