merge with latest sources

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2000-08-09 10:10:14 +00:00
parent 57681e5bfd
commit 2f1ae41432
176 changed files with 7712 additions and 5094 deletions

View File

@@ -25,31 +25,36 @@
#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() ;
@@ -57,20 +62,31 @@ wxPrinterDC::wxPrinterDC(const wxPrintData& printdata)
{
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 ;
@@ -91,11 +107,16 @@ wxPrinterDC::~wxPrinterDC(void)
{
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) )
@@ -109,13 +130,30 @@ void wxPrinterDC::EndDoc(void)
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 ) ;
@@ -126,14 +164,18 @@ void wxPrinterDC::StartPage(void)
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 ;
@@ -147,8 +189,12 @@ void wxPrinterDC::EndPage(void)
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
}