X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2b354f9c9f1473b2d6ff0ab643ebf57dcbfb656..a2d3a3d1d38ef64050ddcd9b2754c855167aad1f:/src/mac/carbon/printmac.cpp diff --git a/src/mac/carbon/printmac.cpp b/src/mac/carbon/printmac.cpp index b7c8915190..834d523ccf 100644 --- a/src/mac/carbon/printmac.cpp +++ b/src/mac/carbon/printmac.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "printwin.h" #endif @@ -20,8 +20,6 @@ #pragma hdrstop #endif -#include "wx/defs.h" - #ifndef WX_PRECOMP #include "wx/utils.h" #include "wx/dc.h" @@ -29,16 +27,15 @@ #include "wx/msgdlg.h" #endif +#include "wx/math.h" #include "wx/mac/uma.h" #include "wx/mac/printmac.h" #include "wx/mac/private/print.h" -#define mm2pt 2.83464566929 -#define pt2mm 0.352777777778 - #include "wx/dcprint.h" #include "wx/printdlg.h" +#include "wx/mac/printdlg.h" #include @@ -144,7 +141,7 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintData* data ) // collate cannot be set #if 0 // not yet tested if ( m_printerName.Length() > 0 ) - PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName ) ) ; + PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName , wxFont::GetDefaultEncoding() ) ) ; #endif PMColorMode color ; PMGetColorMode( (PMPrintSettings) m_macPrintSettings, &color ) ; @@ -261,7 +258,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data ) PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ; PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ; PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ; - PMSetLastPage( m_macPrintSettings , data->GetToPage() , false ) ; + + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); + PMSetLastPage( m_macPrintSettings , toPage , false ) ; } void wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d ) @@ -443,8 +444,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data ) void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* data ) { + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); (**m_macPrintSettings).prJob.iFstPage = data->GetFromPage() ; - (**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ; + (**m_macPrintSettings).prJob.iLstPage = toPage; } void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data ) @@ -548,7 +552,7 @@ bool wxMacPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt) if (dialog.ShowModal() == wxID_OK) { dc = dialog.GetPrintDC(); - m_printDialogData = dialog.GetPrintData(); + m_printDialogData = dialog.GetPrintDialogData(); } } else @@ -641,12 +645,15 @@ bool wxMacPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt) } else { -// #if !TARGET_CARBON - GrafPtr thePort ; - GetPort( &thePort ) ; - wxSafeYield(win,true); - SetPort( thePort ) ; -// #endif +#if TARGET_CARBON + if ( UMAGetSystemVersion() >= 0x1000 ) +#endif + { + GrafPtr thePort ; + GetPort( &thePort ) ; + wxSafeYield(win,true); + SetPort( thePort ) ; + } dc->StartPage(); keepGoing = printout->OnPrintPage(pn); dc->EndPage(); @@ -689,6 +696,7 @@ wxDC* wxMacPrinter::PrintDialog(wxWindow *parent) bool wxMacPrinter::Setup(wxWindow *parent) { +#if 0 wxPrintDialog dialog(parent, & m_printDialogData); dialog.GetPrintDialogData().SetSetupDialog(TRUE); @@ -700,6 +708,8 @@ bool wxMacPrinter::Setup(wxWindow *parent) } return (ret == wxID_OK); +#endif + return wxID_CANCEL; } /*