implemented Carbon printing for wxMac

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Gilles Depeyrot
2001-06-29 20:40:22 +00:00
parent 92ed97b709
commit 820477cb34

View File

@@ -82,6 +82,8 @@
IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject)
#ifdef __WXMAC__
#include "wx/mac/uma.h"
#define mm2pt 2.83464566929
#define pt2mm 0.352777777778
#endif // Mac
@@ -179,6 +181,36 @@ wxPrintData::wxPrintData()
#if TARGET_CARBON
m_macPageFormat = kPMNoPageFormat;
m_macPrintSettings = kPMNoPrintSettings;
#if PM_USE_SESSION_APIS
PMPrintSession macPrintSession = kPMNoReference;
OSStatus err;
err = ::UMAPrOpen(&macPrintSession) ;
if ( err == noErr )
{
err = PMCreatePageFormat(&m_macPageFormat);
// Note that PMPageFormat is not session-specific, but calling
// PMSessionDefaultPageFormat assigns values specific to the printer
// associated with the current printing session.
if ((err == noErr) && (m_macPageFormat != kPMNoPageFormat))
{
err = PMSessionDefaultPageFormat(macPrintSession, m_macPageFormat);
}
err = PMCreatePrintSettings(&m_macPrintSettings);
// Note that PMPrintSettings is not session-specific, but calling
// PMSessionDefaultPrintSettings assigns values specific to the printer
// associated with the current printing session.
if ((err == noErr) && (m_macPrintSettings != kPMNoPrintSettings))
{
err = PMSessionDefaultPrintSettings(macPrintSession, m_macPrintSettings);
}
}
::UMAPrClose(&macPrintSession) ;
#endif
#else
m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) );
(**m_macPrintInfo).iPrVersion = 0; // something invalid
@@ -226,7 +258,7 @@ wxPrintData::wxPrintData(const wxPrintData& printData)
m_devNames = (void*) NULL;
#elif defined( __WXMAC__ )
#if TARGET_CARBON
m_macPageFormat = kPMNoPageFormat;
m_macPageFormat = kPMNoPageFormat;
m_macPrintSettings = kPMNoPrintSettings;
#else
m_macPrintInfo = NULL;
@@ -265,6 +297,7 @@ wxPrintData::~wxPrintData()
#endif
m_macPrintSettings = kPMNoPrintSettings;
}
#else
wxASSERT( m_macPrintInfo );
// we should perhaps delete