#include "wx/msgdlg.h"
#include <math.h>
#include "wx/mac/uma.h"
+#ifndef __DARWIN__
+#include "Printing.h"
+#endif
+
+#if defined(TARGET_CARBON) && !defined(__DARWIN__)
+# if PM_USE_SESSION_APIS
+# include <PMCore.h>
+# endif
+# include <PMApplication.h>
+#endif
#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
m_printData.ConvertToNative() ;
#if TARGET_CARBON && PM_USE_SESSION_APIS
- err = UMAPrOpen(&m_macPrintSession) ;
- if ( err != noErr || m_macPrintSession == kPMNoData )
+ err = UMAPrOpen(&m_macPrintSessionPort) ;
+ if ( err != noErr || m_macPrintSessionPort == kPMNoData )
#else
- err = UMAPrOpen() ;
+ err = UMAPrOpen(NULL) ;
if ( err != noErr )
#endif
{
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
#if TARGET_CARBON && PM_USE_SESSION_APIS
- UMAPrClose(&m_macPrintSession) ;
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
#endif
m_ok = FALSE;
return;
}
#if !TARGET_CARBON
- if ( ::PrValidate( m_printData.m_macPrintInfo ) )
+ if ( ::PrValidate( (THPrint) m_printData.m_macPrintSettings ) )
{
- ::PrStlDialog( m_printData.m_macPrintInfo ) ;
+ ::PrStlDialog( (THPrint) m_printData.m_macPrintSettings ) ;
// the driver has changed in the mean time, should we pop up a page setup dialog ?
}
err = PrError() ;
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
m_ok = FALSE;
return;
}
::GetPort( &macPrintFormerPort ) ;
- m_macPrintPort = ::PrOpenDoc( m_printData.m_macPrintInfo , NULL , NULL ) ;
+ m_macPrintSessionPort = ::PrOpenDoc( (THPrint) m_printData.m_macPrintSettings , NULL , NULL ) ;
err = PrError() ;
if ( err )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
m_ok = FALSE;
return;
}
// sets current port
- m_macPort = (GrafPtr ) m_macPrintPort ;
+ m_macPort = (GrafPtr ) m_macPrintSessionPort ;
#else
#if PM_USE_SESSION_APIS
- err = PMSessionBeginDocument(m_macPrintSession,
- m_printData.m_macPrintSettings,
- m_printData.m_macPageFormat);
+ err = PMSessionBeginDocument((PMPrintSession)m_macPrintSessionPort,
+ (PMPrintSettings)m_printData.m_macPrintSettings,
+ (PMPageFormat)m_printData.m_macPageFormat);
if ( err != noErr )
#else
- m_macPrintPort = kPMNoReference ;
+ m_macPrintSessionPort = kPMNoReference ;
err = PMBeginDocument(
m_printData.m_macPrintSettings,
m_printData.m_macPageFormat,
- &m_macPrintPort);
- if ( err != noErr || m_macPrintPort == kPMNoReference )
+ &m_macPrintSessionPort);
+ if ( err != noErr || m_macPrintSessionPort == kPMNoReference )
#endif
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
#if TARGET_CARBON && PM_USE_SESSION_APIS
- UMAPrClose(&m_macPrintSession) ;
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
#endif
m_ok = FALSE;
return;
}
// sets current port
- ::GetPort( &m_macPort ) ;
+ ::GetPort( (GrafPtr *)&m_macPort ) ;
#endif
m_ok = TRUE ;
m_minY = m_minX = 0 ;
#if TARGET_CARBON
PMRect rPaper;
- err = PMGetAdjustedPaperRect(m_printData.m_macPageFormat, &rPaper);
+ err = PMGetAdjustedPaperRect((PMPageFormat)m_printData.m_macPageFormat, &rPaper);
if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
#if TARGET_CARBON && PM_USE_SESSION_APIS
- UMAPrClose(&m_macPrintSession) ;
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
#endif
m_ok = FALSE;
return;
m_maxX = rPaper.right - rPaper.left ;
m_maxY = rPaper.bottom - rPaper.top ;
#else
- m_maxX = (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).rPaper.left ;
- m_maxY = (**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).rPaper.top ;
+ m_maxX = (**(THPrint)m_printData.m_macPrintSettings).rPaper.right - (**(THPrint)m_printData.m_macPrintSettings).rPaper.left ;
+ m_maxY = (**(THPrint)m_printData.m_macPrintSettings).rPaper.bottom - (**(THPrint)m_printData.m_macPrintSettings).rPaper.top ;
#endif
}
#if !TARGET_CARBON
if ( m_ok )
{
- ::PrCloseDoc( m_macPrintPort ) ;
+ ::PrCloseDoc( (TPPrPort) m_macPrintSessionPort ) ;
err = PrError() ;
if ( err == noErr )
{
- if ( (**m_printData.m_macPrintInfo).prJob.bJDocLoop == bSpoolLoop )
+ if ( (**(THPrint)m_printData.m_macPrintSettings).prJob.bJDocLoop == bSpoolLoop )
{
TPrStatus status ;
- ::PrPicFile( m_printData.m_macPrintInfo , NULL , NULL , NULL , &status ) ;
+ ::PrPicFile( (THPrint) m_printData.m_macPrintSettings , NULL , NULL , NULL , &status ) ;
}
}
else
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
}
- ::UMAPrClose() ;
+ ::UMAPrClose(NULL) ;
// ::SetPort( macPrintFormerPort ) ;
::SetPort( LMGetWMgrPort() ) ;
}
if ( m_ok )
{
#if PM_USE_SESSION_APIS
- err = PMSessionEndDocument(m_macPrintSession);
+ err = PMSessionEndDocument((PMPrintSession)m_macPrintSessionPort);
#else
- err = PMEndDocument(m_macPrintPort);
+ err = PMEndDocument(m_macPrintSessionPort);
#endif
if ( err != noErr )
{
dialog.ShowModal();
}
#if TARGET_CARBON && PM_USE_SESSION_APIS
- UMAPrClose(&m_macPrintSession) ;
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- UMAPrClose() ;
+ UMAPrClose(NULL) ;
#endif
}
#endif
wxString message ;
#if !TARGET_CARBON
- PrOpenPage( m_macPrintPort , NULL ) ;
- m_macLocalOrigin.h = (**m_printData.m_macPrintInfo).rPaper.left ;
- m_macLocalOrigin.v = (**m_printData.m_macPrintInfo).rPaper.top ;
+ PrOpenPage( (TPPrPort) m_macPrintSessionPort , NULL ) ;
+ m_macLocalOrigin.x = (**(THPrint)m_printData.m_macPrintSettings).rPaper.left ;
+ m_macLocalOrigin.y = (**(THPrint)m_printData.m_macPrintSettings).rPaper.top ;
- SetOrigin( - m_macLocalOrigin.h , - m_macLocalOrigin.v ) ;
Rect clip = { -32000 , -32000 , 32000 , 32000 } ;
::ClipRect( &clip ) ;
err = PrError() ;
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
- ::PrClosePage( m_macPrintPort ) ;
- ::PrCloseDoc( m_macPrintPort ) ;
- ::UMAPrClose() ;
+ ::PrClosePage( (TPPrPort) m_macPrintSessionPort ) ;
+ ::PrCloseDoc( (TPPrPort) m_macPrintSessionPort ) ;
+ ::UMAPrClose(NULL) ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
#else
#if PM_USE_SESSION_APIS
- err = PMSessionBeginPage(m_macPrintSession,
- m_printData.m_macPageFormat,
+ err = PMSessionBeginPage((PMPrintSession)m_macPrintSessionPort,
+ (PMPageFormat)m_printData.m_macPageFormat,
nil);
#else
- err = PMBeginPage(m_macPrintPort, nil);
+ err = PMBeginPage(m_macPrintSessionPort, nil);
#endif
if ( err != noErr )
{
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
#if PM_USE_SESSION_APIS
- PMSessionEndPage(m_macPrintSession);
- PMSessionEndDocument(m_macPrintSession);
- UMAPrClose(&m_macPrintSession) ;
+ PMSessionEndPage((PMPrintSession)m_macPrintSessionPort);
+ PMSessionEndDocument((PMPrintSession)m_macPrintSessionPort);
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- PMEndPage(m_macPrintPort);
- PMEndDocument(m_macPrintPort);
- UMAPrClose() ;
+ PMEndPage(m_macPrintSessionPort);
+ PMEndDocument(m_macPrintSessionPort);
+ UMAPrClose(NULL) ;
#endif
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
wxString message ;
#if !TARGET_CARBON
- PrClosePage( (TPrPort*) m_macPort ) ;
+ PrClosePage( (TPPrPort) m_macPort ) ;
err = PrError() ;
if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
- ::PrCloseDoc( m_macPrintPort ) ;
- ::UMAPrClose() ;
+ ::PrCloseDoc( (TPPrPort) m_macPrintSessionPort ) ;
+ ::UMAPrClose(NULL) ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
#else
#if PM_USE_SESSION_APIS
- err = PMSessionEndPage(m_macPrintSession);
+ err = PMSessionEndPage((PMPrintSession)m_macPrintSessionPort);
#else
- err = PMEndPage(m_macPrintPort);
+ err = PMEndPage(m_macPrintSessionPort);
#endif
if ( err != noErr )
{
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal();
#if PM_USE_SESSION_APIS
- PMSessionEndDocument(m_macPrintSession);
- UMAPrClose(&m_macPrintSession) ;
+ PMSessionEndDocument((PMPrintSession)m_macPrintSessionPort);
+ UMAPrClose(&m_macPrintSessionPort) ;
#else
- PMEndDocument(m_macPrintPort);
- UMAPrClose() ;
+ PMEndDocument(m_macPrintSessionPort);
+ UMAPrClose(NULL) ;
#endif
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;