{
PMResolution res, *resolutions = NULL;
OSStatus status = PMPrinterGetPrinterResolutionCount(printer, count);
- if (status == kPMNotImplemented)
- {
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
- resolutions = (PMResolution *)malloc(sizeof(PMResolution) * 4);
- *count = 0;
- if (PMPrinterGetPrinterResolution(printer, kPMMinRange, &res) == noErr)
- resolutions[(*count)++] = res;
- if (PMPrinterGetPrinterResolution(printer, kPMMinSquareResolution, &res) == noErr)
- resolutions[(*count)++] = res;
- if (PMPrinterGetPrinterResolution(printer, kPMMaxSquareResolution, &res) == noErr)
- resolutions[(*count)++] = res;
- if (PMPrinterGetPrinterResolution(printer, kPMMaxRange, &res) == noErr)
- resolutions[(*count)++] = res;
- if (*count == 0)
- {
- if (PMPrinterGetPrinterResolution(printer, kPMDefaultResolution, &res) == noErr)
- resolutions[(*count)++] = res;
- }
-#endif
- }
- else if (status == noErr)
+ if (status == noErr)
{
resolutions = (PMResolution *)malloc(sizeof(PMResolution) * (*count));
UInt32 realCount = 0;
wxString id, name(wxT("Custom paper"));
id.Printf(wxT("wxPaperCustom%dx%d"), papersize.x, papersize.y);
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
- if ( PMPaperCreateCustom != NULL)
- {
- PMPaperCreateCustom(printer, wxCFStringRef( id, wxFont::GetDefaultEncoding() ), wxCFStringRef( name, wxFont::GetDefaultEncoding() ),
+ PMPaperCreateCustom(printer, wxCFStringRef( id, wxFont::GetDefaultEncoding() ), wxCFStringRef( name, wxFont::GetDefaultEncoding() ),
papersize.x, papersize.y, &margins, &paper);
- }
-#endif
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
- if ( paper == kPMNoData )
- {
- PMPaperCreate(printer, wxCFStringRef( id, wxFont::GetDefaultEncoding() ), wxCFStringRef( name, wxFont::GetDefaultEncoding() ),
- papersize.x, papersize.y, &margins, &paper);
- }
-#endif
}
if ( bestPaper != kPMNoData )
{
quality = wxPRINT_QUALITY_HIGH;
PMResolution res = resolutions[((quality - wxPRINT_QUALITY_DRAFT) * (resCount - 1)) / 3];
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
- if ( PMPrinterSetOutputResolution != NULL )
- PMPrinterSetOutputResolution(printer, m_macPrintSettings, &res);
- else
-#endif
- {
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
- PMSetResolution( m_macPageFormat, &res);
-#endif
- }
+ PMPrinterSetOutputResolution(printer, m_macPrintSettings, &res);
free(resolutions);
}
void wxOSXPrintData::TransferPaperInfoTo( wxPrintData &data )
{
+ PMGetPageFormatPaper(m_macPageFormat, &m_macPaper);
+
PMPrinter printer ;
PMSessionGetCurrentPrinter( m_macPrintSession, &printer );
OSStatus err = noErr ;
{
bool valid = false;
PMResolution res;
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
- if ( PMPrinterGetOutputResolution != NULL )
- {
- if ( PMPrinterGetOutputResolution(printer, m_macPrintSettings, &res) == noErr )
- valid = true;
- }
-#endif
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
- if (PMPrinterGetPrinterResolution(printer, kPMCurrentValue, &res) == noErr)
+ if ( PMPrinterGetOutputResolution(printer, m_macPrintSettings, &res) == noErr )
valid = true;
-#endif
+
if ( valid )
{
UInt32 i;
return true ;
}
-void wxOSXPrintData::TransferFrom( wxPageSetupData *WXUNUSED(data) )
+void wxOSXPrintData::TransferFrom( wxPageSetupDialogData *WXUNUSED(data) )
{
// should we setup the page rect here ?
// since MacOS sometimes has two same paper rects with different
// page rects we could make it roundtrip safe perhaps
}
-void wxOSXPrintData::TransferTo( wxPageSetupData* data )
+void wxOSXPrintData::TransferTo( wxPageSetupDialogData* data )
{
#if wxOSX_USE_COCOA
UpdateToPMState();
return false;
}
+ printout->OnPreparePrinting();
+
+ // Get some parameters from the printout, if defined
+ int fromPage, toPage;
+ int minPage, maxPage;
+ printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
+
+ if (maxPage == 0)
+ {
+ sm_lastError = wxPRINTER_ERROR;
+ return false;
+ }
+
+ // Only set min and max, because from and to will be
+ // set by the user
+ m_printDialogData.SetMinPage(minPage);
+ m_printDialogData.SetMaxPage(maxPage);
+
if (m_printDialogData.GetMinPage() < 1)
m_printDialogData.SetMinPage(1);
if (m_printDialogData.GetMaxPage() < 1)
if (PMSessionGetCurrentPrinter(nativeData->GetPrintSession(), &printer) == noErr)
{
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
- if ( PMPrinterGetOutputResolution != NULL )
- {
- if (PMPrinterGetOutputResolution( printer, nativeData->GetPrintSettings(), &res) == -9589 /* kPMKeyNotFound */ )
- {
- res.hRes = res.vRes = 300;
- }
- }
- else
-#endif
+ if (PMPrinterGetOutputResolution( printer, nativeData->GetPrintSettings(), &res) == -9589 /* kPMKeyNotFound */ )
{
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
- PMPrinterGetPrinterResolution(printer, kPMCurrentValue, &res);
-#endif
+ res.hRes = res.vRes = 300;
}
}
else
dc->GetSizeMM(&mw, &mh);
printout->SetPageSizeMM((int)mw, (int)mh);
- // Create an abort window
wxBeginBusyCursor();
- printout->OnPreparePrinting();
-
- // Get some parameters from the printout, if defined
- int fromPage, toPage;
- int minPage, maxPage;
- printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
-
- if (maxPage == 0)
- {
- sm_lastError = wxPRINTER_ERROR;
- return false;
- }
-
- // Only set min and max, because from and to will be
- // set by the user
- m_printDialogData.SetMinPage(minPage);
- m_printDialogData.SetMaxPage(maxPage);
-
printout->OnBeginPrinting();
bool keepGoing = true;