m_maxY = wxCoord(rPage.bottom - rPage.top);
PMResolution res;
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- PMPrinter printer;
- PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer);
- PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ;
-#else
- m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res);
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ if ( PMPrinterGetOutputResolution != NULL )
+ {
+ PMPrinter printer;
+ m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer);
+ if ( m_err == noErr )
+ {
+ m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ;
+ if ( m_err == -9589 /* kPMKeyNotFound */ )
+ {
+ m_err = noErr ;
+ res.hRes = res.vRes = 300;
+ }
+ }
+ }
+ else
#endif
+ {
+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+ m_err = PMGetResolution((PMPageFormat) (native->m_macPageFormat), &res);
+#endif
+ }
+
m_ppi = wxSize(int(res.hRes), int(res.vRes));
}
PMPrinter printer;
m_err = PMSessionGetCurrentPrinter(native->m_macPrintSession, &printer);
if ( m_err == noErr )
+ {
m_err = PMPrinterGetOutputResolution( printer, native->m_macPrintSettings, &res) ;
+ if ( m_err == -9589 /* kPMKeyNotFound */ )
+ {
+ m_err = noErr ;
+ res.hRes = res.vRes = 300;
+ }
+ }
}
else
#endif
PMGetAdjustedPaperRect( native->m_macPageFormat , &paperRect ) ;
// make sure (0,0) is at the upper left of the printable area (wx conventions)
// Core Graphics initially has the lower left of the paper as 0,0
- CGContextTranslateCTM( pageContext , -paperRect.left , paperRect.bottom ) ;
+ CGContextTranslateCTM( pageContext , (CGFloat) -paperRect.left , (CGFloat) paperRect.bottom ) ;
CGContextScaleCTM( pageContext , 1 , -1 ) ;
}
// since this is a non-critical error, we set the flag back