// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "printwin.h"
#endif
#pragma hdrstop
#endif
-#include "wx/defs.h"
-
#ifndef WX_PRECOMP
#include "wx/utils.h"
#include "wx/dc.h"
#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 <stdlib.h>
// 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 ) ;
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 )
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 )
if (dialog.ShowModal() == wxID_OK)
{
dc = dialog.GetPrintDC();
- m_printDialogData = dialog.GetPrintData();
+ m_printDialogData = dialog.GetPrintDialogData();
}
}
else
}
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();
bool wxMacPrinter::Setup(wxWindow *parent)
{
+#if 0
wxPrintDialog dialog(parent, & m_printDialogData);
dialog.GetPrintDialogData().SetSetupDialog(TRUE);
}
return (ret == wxID_OK);
+#endif
+ return wxID_CANCEL;
}
/*