print session additions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -195,12 +195,13 @@ wxPrintData::wxPrintData()
|
|||||||
#if TARGET_CARBON
|
#if TARGET_CARBON
|
||||||
m_macPageFormat = kPMNoPageFormat;
|
m_macPageFormat = kPMNoPageFormat;
|
||||||
m_macPrintSettings = kPMNoPrintSettings;
|
m_macPrintSettings = kPMNoPrintSettings;
|
||||||
|
m_macPrintSession = kPMNoReference ;
|
||||||
|
|
||||||
#if PM_USE_SESSION_APIS
|
#if PM_USE_SESSION_APIS
|
||||||
PMPrintSession macPrintSession = kPMNoReference;
|
|
||||||
OSStatus err;
|
OSStatus err;
|
||||||
|
|
||||||
err = ::UMAPrOpen(&macPrintSession) ;
|
err = PMCreateSession((PMPrintSession *)&m_macPrintSession) ;
|
||||||
|
|
||||||
if ( err == noErr )
|
if ( err == noErr )
|
||||||
{
|
{
|
||||||
err = PMCreatePageFormat((PMPageFormat *)&m_macPageFormat);
|
err = PMCreatePageFormat((PMPageFormat *)&m_macPageFormat);
|
||||||
@@ -210,7 +211,7 @@ wxPrintData::wxPrintData()
|
|||||||
// associated with the current printing session.
|
// associated with the current printing session.
|
||||||
if ((err == noErr) && (m_macPageFormat != kPMNoPageFormat))
|
if ((err == noErr) && (m_macPageFormat != kPMNoPageFormat))
|
||||||
{
|
{
|
||||||
err = PMSessionDefaultPageFormat((PMPrintSession)macPrintSession,
|
err = PMSessionDefaultPageFormat((PMPrintSession)m_macPrintSession,
|
||||||
(PMPageFormat)m_macPageFormat);
|
(PMPageFormat)m_macPageFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,11 +222,11 @@ wxPrintData::wxPrintData()
|
|||||||
// associated with the current printing session.
|
// associated with the current printing session.
|
||||||
if ((err == noErr) && (m_macPrintSettings != kPMNoPrintSettings))
|
if ((err == noErr) && (m_macPrintSettings != kPMNoPrintSettings))
|
||||||
{
|
{
|
||||||
err = PMSessionDefaultPrintSettings((PMPrintSession)macPrintSession,
|
err = PMSessionDefaultPrintSettings((PMPrintSession)m_macPrintSession,
|
||||||
(PMPrintSettings)m_macPrintSettings);
|
(PMPrintSettings)m_macPrintSettings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::UMAPrClose(&macPrintSession) ;
|
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
m_macPrintSettings = (THPrint) NewHandleClear( sizeof( TPrint ) );
|
m_macPrintSettings = (THPrint) NewHandleClear( sizeof( TPrint ) );
|
||||||
@@ -292,6 +293,7 @@ wxPrintData::wxPrintData(const wxPrintData& printData)
|
|||||||
#if TARGET_CARBON
|
#if TARGET_CARBON
|
||||||
m_macPageFormat = kPMNoPageFormat;
|
m_macPageFormat = kPMNoPageFormat;
|
||||||
m_macPrintSettings = kPMNoPrintSettings;
|
m_macPrintSettings = kPMNoPrintSettings;
|
||||||
|
m_macPrintSession = kPMNoReference ;
|
||||||
#else
|
#else
|
||||||
m_macPrintSettings = NULL;
|
m_macPrintSettings = NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -330,6 +332,15 @@ wxPrintData::~wxPrintData()
|
|||||||
m_macPrintSettings = kPMNoPrintSettings;
|
m_macPrintSettings = kPMNoPrintSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( m_macPrintSession != kPMNoReference )
|
||||||
|
{
|
||||||
|
#if PM_USE_SESSION_APIS
|
||||||
|
(void)PMRelease(m_macPrintSession);
|
||||||
|
#else
|
||||||
|
(void)PMDisposePrintSession(m_macPrintSession);
|
||||||
|
#endif
|
||||||
|
m_macPrintSession = kPMNoReference;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
wxASSERT( m_macPrintSettings );
|
wxASSERT( m_macPrintSettings );
|
||||||
// we should perhaps delete
|
// we should perhaps delete
|
||||||
@@ -807,6 +818,26 @@ void wxPrintData::operator=(const wxPrintData& data)
|
|||||||
{
|
{
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
#if TARGET_CARBON
|
#if TARGET_CARBON
|
||||||
|
if ( m_macPrintSettings != kPMNoPrintSettings )
|
||||||
|
{
|
||||||
|
PMRelease( m_macPrintSettings ) ;
|
||||||
|
m_macPrintSettings = kPMNoPrintSettings ;
|
||||||
|
}
|
||||||
|
if ( data.m_macPrintSettings != kPMNoPrintSettings )
|
||||||
|
{
|
||||||
|
m_macPrintSettings = data.m_macPrintSettings ;
|
||||||
|
PMRetain( m_macPrintSettings ) ;
|
||||||
|
}
|
||||||
|
if ( m_macPageFormat != kPMNoPageFormat )
|
||||||
|
{
|
||||||
|
PMRelease( m_macPageFormat ) ;
|
||||||
|
m_macPageFormat = kPMNoPageFormat ;
|
||||||
|
}
|
||||||
|
if ( data.m_macPageFormat != kPMNoPageFormat )
|
||||||
|
{
|
||||||
|
m_macPageFormat = data.m_macPageFormat ;
|
||||||
|
PMRetain( m_macPageFormat ) ;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
m_macPrintSettings = data.m_macPrintSettings;
|
m_macPrintSettings = data.m_macPrintSettings;
|
||||||
HandToHand( (Handle*) &m_macPrintSettings );
|
HandToHand( (Handle*) &m_macPrintSettings );
|
||||||
@@ -1445,6 +1476,20 @@ void wxPageSetupDialogData::ConvertFromNative()
|
|||||||
m_printData.ConvertFromNative ();
|
m_printData.ConvertFromNative ();
|
||||||
|
|
||||||
#if TARGET_CARBON
|
#if TARGET_CARBON
|
||||||
|
PMRect rPaper;
|
||||||
|
|
||||||
|
OSStatus err = PMGetAdjustedPaperRect((PMPageFormat)m_printData.m_macPageFormat, &rPaper);
|
||||||
|
if ( err == noErr )
|
||||||
|
{
|
||||||
|
m_paperSize.x = ((double) rPaper.right - rPaper.left ) * pt2mm;
|
||||||
|
m_paperSize.y = ((double) rPaper.bottom - rPaper.top ) * pt2mm;
|
||||||
|
|
||||||
|
m_minMarginTopLeft.x = ((double) - rPaper.left ) * pt2mm;
|
||||||
|
m_minMarginTopLeft.y = ((double) - rPaper.top ) * pt2mm;
|
||||||
|
|
||||||
|
// m_minMarginBottomRight.x = ((double) rPaper.right - (**(THPrint)m_printData.m_macPrintSettings).prInfo.rPage.right ) * pt2mm;
|
||||||
|
// m_minMarginBottomRight.y = ((double)(**(THPrint)m_printData.m_macPrintSettings).rPaper.bottom - (**(THPrint)m_printData.m_macPrintSettings).prInfo.rPage.bottom ) * pt2mm;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
m_paperSize.x = ((double) (**(THPrint)m_printData.m_macPrintSettings).rPaper.right - (**(THPrint)m_printData.m_macPrintSettings).rPaper.left ) * pt2mm;
|
m_paperSize.x = ((double) (**(THPrint)m_printData.m_macPrintSettings).rPaper.right - (**(THPrint)m_printData.m_macPrintSettings).rPaper.left ) * pt2mm;
|
||||||
m_paperSize.y = ((double) (**(THPrint)m_printData.m_macPrintSettings).rPaper.bottom - (**(THPrint)m_printData.m_macPrintSettings).rPaper.top ) * pt2mm;
|
m_paperSize.y = ((double) (**(THPrint)m_printData.m_macPrintSettings).rPaper.bottom - (**(THPrint)m_printData.m_macPrintSettings).rPaper.top ) * pt2mm;
|
||||||
|
Reference in New Issue
Block a user