+ else
+ PMSetColorMode( (PMPrintSettings) m_macPrintSettings, kPMBlackAndWhite ) ;
+
+ // PMDuplexMode not yet accessible via API
+ // PMQualityMode not yet accessible via API
+ // todo paperSize
+#else
+ // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0
+ (**(THPrint)m_macPrintSettings).prJob.iCopies = m_printNoCopies;
+ (**(THPrint)m_macPrintSettings).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt );
+ (**(THPrint)m_macPrintSettings).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt );
+
+ (**(THPrint)m_macPrintSettings).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt );
+ (**(THPrint)m_macPrintSettings).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt );
+
+ (**(THPrint)m_macPrintSettings).prInfo.rPage.left = 0;
+ (**(THPrint)m_macPrintSettings).prInfo.rPage.top = 0;
+ (**(THPrint)m_macPrintSettings).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt );
+ (**(THPrint)m_macPrintSettings).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt );
+#endif
+}
+
+void wxPrintData::ConvertFromNative()
+{
+#if TARGET_CARBON
+ OSStatus err = noErr ;
+
+ UInt32 copies ;
+ err = PMGetCopies( (PMPrintSettings) m_macPrintSettings , &copies ) ;
+ if ( err == noErr )
+ m_printNoCopies = copies ;
+
+ PMOrientation orientation ;
+ err = PMGetOrientation( (PMPageFormat) m_macPageFormat , &orientation ) ;
+ if ( err == noErr )
+ {
+ if ( orientation == kPMPortrait || orientation == kPMReversePortrait )
+ m_printOrientation = wxPORTRAIT ;
+ else
+ m_printOrientation = wxLANDSCAPE ;
+ }
+
+ // collate cannot be set
+#if 0
+ {
+ wxMacCFStringHolder name ;
+ PMPrinter printer ;
+ PMSessionGetCurrentPrinter( (PMPrintSession) m_macPrintSession ,
+ &printer ) ;
+ m_printerName = name.AsString() ;
+ }
+#endif
+
+ PMColorMode color ;
+ err = PMGetColorMode( (PMPrintSettings) m_macPrintSettings, &color ) ;
+ if ( err == noErr )
+ m_colour = !(color == kPMBlackAndWhite) ;
+
+ // PMDuplexMode not yet accessible via API
+ // PMQualityMode not yet accessible via API
+ // todo paperSize
+ PMRect rPaper;
+ err = PMGetUnadjustedPaperRect((PMPageFormat) m_macPageFormat, &rPaper);
+ if ( err == noErr )