#include "wx/dcprint.h"
#include "math.h"
+#include "wx/mac/uma.h"
+#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
+#endif
GrafPtr macPrintFormerPort = NULL ;
wxPrinterDC::wxPrinterDC(const wxPrintData& printdata)
{
+#if !TARGET_CARBON
OSErr err ;
wxString message ;
m_printData = printdata ;
m_printData.ConvertToNative() ;
- ::PrOpen() ;
+ ::UMAPrOpen() ;
err = PrError() ;
if ( err )
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- PrClose() ;
+ UMAPrClose() ;
}
if ( ::PrValidate( m_printData.m_macPrintInfo ) )
{
+ ::PrStlDialog( m_printData.m_macPrintInfo ) ;
// the driver has changed in the mean time, should we pop up a page setup dialog ?
}
err = PrError() ;
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- PrClose() ;
+ UMAPrClose() ;
}
::GetPort( &macPrintFormerPort ) ;
m_macPrintPort = ::PrOpenDoc( m_printData.m_macPrintInfo , NULL , NULL ) ;
+ err = PrError() ;
+ if ( err )
+ {
+ message.Printf( "Print Error %d", err ) ;
+ wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
+ UMAPrClose() ;
+ }
// sets current port
m_macPort = (GrafPtr ) m_macPrintPort ;
m_ok = TRUE ;
m_minY = m_minX = 0 ;
m_maxX = (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).rPaper.left ;
m_maxY = (**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).rPaper.top ;
+#else
+#pragma warning "TODO:printing support for carbon"
+#endif
}
wxPrinterDC::~wxPrinterDC(void)
{
+#if !TARGET_CARBON
if ( m_ok )
{
OSErr err ;
{
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
- PrClose() ;
+ UMAPrClose() ;
}
- ::PrClose() ;
- ::SetPort( macPrintFormerPort ) ;
+ ::UMAPrClose() ;
+// ::SetPort( macPrintFormerPort ) ;
+ ::SetPort( LMGetWMgrPort() ) ;
+ m_macPortHelper.Clear() ;
}
+#else
+#pragma warning "TODO:printing support for carbon"
+#endif
}
bool wxPrinterDC::StartDoc( const wxString& WXUNUSED(message) )
void wxPrinterDC::StartPage(void)
{
+#if !TARGET_CARBON
if ( !m_ok )
return ;
+
+ m_logicalFunction = wxCOPY;
+// m_textAlignment = wxALIGN_TOP_LEFT;
+ m_backgroundMode = wxTRANSPARENT;
+
+ m_textForegroundColour = *wxBLACK;
+ m_textBackgroundColour = *wxWHITE;
+ m_pen = *wxBLACK_PEN;
+ m_font = *wxNORMAL_FONT;
+ m_brush = *wxTRANSPARENT_BRUSH;
+ m_backgroundBrush = *wxWHITE_BRUSH;
+
+ m_macFontInstalled = false ;
+ m_macBrushInstalled = false ;
+ m_macPenInstalled = false ;
+
OSErr err ;
wxString message ;
- PrOpenPage( m_macPrintPort , NULL ) ;
+ PrOpenPage( m_macPrintPort , NULL ) ;
SetOrigin( - (**m_printData.m_macPrintInfo).rPaper.left , - (**m_printData.m_macPrintInfo).rPaper.top ) ;
Rect clip = { -32000 , -32000 , 32000 , 32000 } ;
::ClipRect( &clip ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
::PrClosePage( m_macPrintPort) ;
::PrCloseDoc( m_macPrintPort ) ;
- ::PrClose() ;
+ ::UMAPrClose() ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
+#else
+#pragma warning "TODO:printing support for carbon"
+#endif
}
void wxPrinterDC::EndPage(void)
{
+#if !TARGET_CARBON
if ( !m_ok )
return ;
message.Printf( "Print Error %d", err ) ;
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
::PrCloseDoc( m_macPrintPort ) ;
- ::PrClose() ;
+ ::UMAPrClose() ;
::SetPort( macPrintFormerPort ) ;
m_ok = FALSE ;
}
+#else
+#pragma warning "TODO:printing support for carbon"
+#endif
+
}