m_printData = printdata ;
m_printData.ConvertToNative() ;
-#if !TARGET_CARBON
- err = UMAPrOpen() ;
+#if TARGET_CARBON && PM_USE_SESSION_APIS
+ err = UMAPrOpen(&m_macPrintSession) ;
+ if ( err != noErr || m_macPrintSession == kPMNoData )
#else
- err = UMAPrOpen(&m_macPrintPort) ;
+ err = UMAPrOpen() ;
+ if ( err != noErr )
#endif
- if ( err )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
-#if !TARGET_CARBON
- UMAPrClose() ;
+ dialog.ShowModal();
+#if TARGET_CARBON && PM_USE_SESSION_APIS
+ UMAPrClose(&m_macPrintSession) ;
#else
- UMAPrClose(&m_macPrintPort) ;
+ UMAPrClose() ;
#endif
+ m_ok = FALSE;
+ return;
}
#if !TARGET_CARBON
// the driver has changed in the mean time, should we pop up a page setup dialog ?
}
err = PrError() ;
- if ( err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ dialog.ShowModal();
UMAPrClose() ;
+ m_ok = FALSE;
+ return;
}
::GetPort( &macPrintFormerPort ) ;
m_macPrintPort = ::PrOpenDoc( m_printData.m_macPrintInfo , NULL , NULL ) ;
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ dialog.ShowModal();
UMAPrClose() ;
+ m_ok = FALSE;
+ return;
}
// sets current port
m_macPort = (GrafPtr ) m_macPrintPort ;
#else
- m_macPrintPort = kPMNoReference ;
#if PM_USE_SESSION_APIS
- err = PMSessionBeginDocument(
- m_macPrintPort,
- m_printData.m_macPrintSettings,
- m_printData.m_macPageFormat);
+ err = PMSessionBeginDocument(m_macPrintSession,
+ m_printData.m_macPrintSettings,
+ m_printData.m_macPageFormat);
+ if ( err != noErr )
#else
+ m_macPrintPort = kPMNoReference ;
err = PMBeginDocument(
- m_printData.m_macPrintSettings,
- m_printData.m_macPageFormat,
- &m_macPrintPort);
- #endif
+ m_printData.m_macPrintSettings,
+ m_printData.m_macPageFormat,
+ &m_macPrintPort);
if ( err != noErr || m_macPrintPort == kPMNoReference )
+ #endif
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- UMAPrClose(&m_macPrintPort) ;
+ dialog.ShowModal();
+ #if TARGET_CARBON && PM_USE_SESSION_APIS
+ UMAPrClose(&m_macPrintSession) ;
+ #else
+ UMAPrClose() ;
+ #endif
+ m_ok = FALSE;
+ return;
}
// sets current port
::GetPort( &m_macPort ) ;
m_ok = TRUE ;
m_minY = m_minX = 0 ;
#if TARGET_CARBON
+ PMRect rPaper;
+
+ err = PMGetAdjustedPaperRect(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) ;
+ #else
+ UMAPrClose() ;
+ #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 ;
::PrCloseDoc( m_macPrintPort ) ;
err = PrError() ;
- if ( !err )
+ if ( err == noErr )
{
if ( (**m_printData.m_macPrintInfo).prJob.bJDocLoop == bSpoolLoop )
{
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- UMAPrClose() ;
+ dialog.ShowModal();
}
::UMAPrClose() ;
// ::SetPort( macPrintFormerPort ) ;
if ( m_ok )
{
#if PM_USE_SESSION_APIS
- err = PMSessionEndDocument(m_macPrintPort);
+ err = PMSessionEndDocument(m_macPrintSession);
#else
err = PMEndDocument(m_macPrintPort);
#endif
- if ( !err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- #if !TARGET_CARBON
- UMAPrClose() ;
- #else
- UMAPrClose(&m_macPrintPort) ;
- #endif
+ dialog.ShowModal();
}
- #if !TARGET_CARBON
- UMAPrClose() ;
+ #if TARGET_CARBON && PM_USE_SESSION_APIS
+ UMAPrClose(&m_macPrintSession) ;
#else
- UMAPrClose(&m_macPrintPort) ;
+ UMAPrClose() ;
#endif
}
#endif
m_macLocalOrigin.h = (**m_printData.m_macPrintInfo).rPaper.left ;
m_macLocalOrigin.v = (**m_printData.m_macPrintInfo).rPaper.top ;
- SetOrigin( - m_macLocalOrigin.h , - m_macLocalOrigin.v ) ;
Rect clip = { -32000 , -32000 , 32000 , 32000 } ;
::ClipRect( &clip ) ;
err = PrError() ;
- if ( err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- ::PrClosePage( m_macPrintPort) ;
- ::PrCloseDoc( m_macPrintPort ) ;
+ dialog.ShowModal();
+ ::PrClosePage( m_macPrintPort ) ;
+ ::PrCloseDoc( m_macPrintPort ) ;
::UMAPrClose() ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
#else
#if PM_USE_SESSION_APIS
- err = PMSessionBeginPage(m_macPrintPort,
+ err = PMSessionBeginPage(m_macPrintSession,
m_printData.m_macPageFormat,
nil);
#else
err = PMBeginPage(m_macPrintPort, nil);
#endif
- if ( err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ dialog.ShowModal();
#if PM_USE_SESSION_APIS
- PMSessionEndPage(m_macPrintPort);
- PMSessionEndDocument(m_macPrintPort);
+ PMSessionEndPage(m_macPrintSession);
+ PMSessionEndDocument(m_macPrintSession);
+ UMAPrClose(&m_macPrintSession) ;
#else
PMEndPage(m_macPrintPort);
PMEndDocument(m_macPrintPort);
+ UMAPrClose() ;
#endif
- UMAPrClose(&m_macPrintPort) ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
#if !TARGET_CARBON
PrClosePage( (TPrPort*) m_macPort ) ;
err = PrError() ;
- if ( err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ dialog.ShowModal();
::PrCloseDoc( m_macPrintPort ) ;
::UMAPrClose() ;
::SetPort( macPrintFormerPort ) ;
}
#else
#if PM_USE_SESSION_APIS
- err = PMSessionEndPage(m_macPrintPort);
+ err = PMSessionEndPage(m_macPrintSession);
#else
err = PMEndPage(m_macPrintPort);
#endif
- if ( err )
+ if ( err != noErr )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ dialog.ShowModal();
#if PM_USE_SESSION_APIS
- PMSessionEndDocument(m_macPrintPort);
+ PMSessionEndDocument(m_macPrintSession);
+ UMAPrClose(&m_macPrintSession) ;
#else
PMEndDocument(m_macPrintPort);
+ UMAPrClose() ;
#endif
- UMAPrClose(&m_macPrintPort) ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}