X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/962cbf2ee0ba655db3e6db00ade68b5f1e85ba1e..59a944cb633f57f427fd16f0a8e65b15edf6dc1e:/src/mac/carbon/dcprint.cpp diff --git a/src/mac/carbon/dcprint.cpp b/src/mac/carbon/dcprint.cpp index 4a7c007eca..6c32de8ad0 100644 --- a/src/mac/carbon/dcprint.cpp +++ b/src/mac/carbon/dcprint.cpp @@ -27,6 +27,16 @@ #include "wx/msgdlg.h" #include #include "wx/mac/uma.h" +#ifndef __DARWIN__ +#include "Printing.h" +#endif + +#if defined(TARGET_CARBON) && !defined(__DARWIN__) +# if PM_USE_SESSION_APIS +# include +# endif +# include +#endif #if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxPrinterDC, wxDC) @@ -43,77 +53,77 @@ wxPrinterDC::wxPrinterDC(const wxPrintData& printdata) m_printData.ConvertToNative() ; #if TARGET_CARBON && PM_USE_SESSION_APIS - err = UMAPrOpen((PMPrintSession *)&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 { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); #if TARGET_CARBON && PM_USE_SESSION_APIS - UMAPrClose((PMPrintSession *)&m_macPrintSession) ; + UMAPrClose(&m_macPrintSessionPort) ; #else - UMAPrClose() ; + UMAPrClose(NULL) ; #endif m_ok = FALSE; return; } #if !TARGET_CARBON - if ( ::PrValidate( (THPrint) m_printData.m_macPrintInfo ) ) + if ( ::PrValidate( (THPrint) m_printData.m_macPrintSettings ) ) { - ::PrStlDialog( (THPrint) 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() ; if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); - UMAPrClose() ; + UMAPrClose(NULL) ; m_ok = FALSE; return; } ::GetPort( &macPrintFormerPort ) ; - m_macPrintPort = ::PrOpenDoc( (THPrint) 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 ) ; + message.Printf( "Print Error %ld", 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((PMPrintSession)m_macPrintSession, + 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 ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); #if TARGET_CARBON && PM_USE_SESSION_APIS - UMAPrClose((PMPrintSession *)&m_macPrintSession) ; + UMAPrClose(&m_macPrintSessionPort) ; #else - UMAPrClose() ; + UMAPrClose(NULL) ; #endif m_ok = FALSE; return; @@ -129,22 +139,22 @@ wxPrinterDC::wxPrinterDC(const wxPrintData& printdata) err = PMGetAdjustedPaperRect((PMPageFormat)m_printData.m_macPageFormat, &rPaper); if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); #if TARGET_CARBON && PM_USE_SESSION_APIS - UMAPrClose((PMPrintSession *)&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 ; + m_maxX = wxCoord(rPaper.right - rPaper.left) ; + m_maxY = wxCoord(rPaper.bottom - rPaper.top); #else - m_maxX = (**(THPrint)m_printData.m_macPrintInfo).rPaper.right - (**(THPrint)m_printData.m_macPrintInfo).rPaper.left ; - m_maxY = (**(THPrint)m_printData.m_macPrintInfo).rPaper.bottom - (**(THPrint)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 } @@ -155,24 +165,24 @@ wxPrinterDC::~wxPrinterDC(void) #if !TARGET_CARBON if ( m_ok ) { - ::PrCloseDoc( (TPPrPort) m_macPrintPort ) ; + ::PrCloseDoc( (TPPrPort) m_macPrintSessionPort ) ; err = PrError() ; if ( err == noErr ) { - if ( (**(THPrint)m_printData.m_macPrintInfo).prJob.bJDocLoop == bSpoolLoop ) + if ( (**(THPrint)m_printData.m_macPrintSettings).prJob.bJDocLoop == bSpoolLoop ) { TPrStatus status ; - ::PrPicFile( (THPrint) m_printData.m_macPrintInfo , NULL , NULL , NULL , &status ) ; + ::PrPicFile( (THPrint) m_printData.m_macPrintSettings , NULL , NULL , NULL , &status ) ; } } else { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); } - ::UMAPrClose() ; + ::UMAPrClose(NULL) ; // ::SetPort( macPrintFormerPort ) ; ::SetPort( LMGetWMgrPort() ) ; } @@ -180,20 +190,20 @@ wxPrinterDC::~wxPrinterDC(void) if ( m_ok ) { #if PM_USE_SESSION_APIS - err = PMSessionEndDocument((PMPrintSession)m_macPrintSession); + err = PMSessionEndDocument((PMPrintSession)m_macPrintSessionPort); #else - err = PMEndDocument(m_macPrintPort); + err = PMEndDocument(m_macPrintSessionPort); #endif if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); } #if TARGET_CARBON && PM_USE_SESSION_APIS - UMAPrClose((PMPrintSession *)&m_macPrintSession) ; + UMAPrClose(&m_macPrintSessionPort) ; #else - UMAPrClose() ; + UMAPrClose(NULL) ; #endif } #endif @@ -233,45 +243,45 @@ void wxPrinterDC::StartPage(void) wxString message ; #if !TARGET_CARBON - PrOpenPage( (TPPrPort) m_macPrintPort , NULL ) ; - m_macLocalOrigin.x = (**(THPrint)m_printData.m_macPrintInfo).rPaper.left ; - m_macLocalOrigin.y = (**(THPrint)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 ; Rect clip = { -32000 , -32000 , 32000 , 32000 } ; ::ClipRect( &clip ) ; err = PrError() ; if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); - ::PrClosePage( (TPPrPort) m_macPrintPort ) ; - ::PrCloseDoc( (TPPrPort) 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((PMPrintSession)m_macPrintSession, + 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 ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); #if PM_USE_SESSION_APIS - PMSessionEndPage((PMPrintSession)m_macPrintSession); - PMSessionEndDocument((PMPrintSession)m_macPrintSession); - UMAPrClose((PMPrintSession *)&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 ; @@ -292,31 +302,31 @@ void wxPrinterDC::EndPage(void) err = PrError() ; if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); - ::PrCloseDoc( (TPPrPort) m_macPrintPort ) ; - ::UMAPrClose() ; + ::PrCloseDoc( (TPPrPort) m_macPrintSessionPort ) ; + ::UMAPrClose(NULL) ; ::SetPort( macPrintFormerPort ) ; m_ok = FALSE ; } #else #if PM_USE_SESSION_APIS - err = PMSessionEndPage((PMPrintSession)m_macPrintSession); + err = PMSessionEndPage((PMPrintSession)m_macPrintSessionPort); #else - err = PMEndPage(m_macPrintPort); + err = PMEndPage(m_macPrintSessionPort); #endif if ( err != noErr ) { - message.Printf( "Print Error %d", err ) ; + message.Printf( "Print Error %ld", err ) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; dialog.ShowModal(); #if PM_USE_SESSION_APIS - PMSessionEndDocument((PMPrintSession)m_macPrintSession); - UMAPrClose((PMPrintSession *)&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 ;