/////////////////////////////////////////////////////////////////////////////
-// Name: dcprint.cpp
+// Name: src/mac/carbon/dcprint.cpp
// Purpose: wxPrinterDC class
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "dcprint.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#if wxUSE_PRINTING_ARCHITECTURE
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
+#include "wx/dcprint.h"
+
#ifndef WX_PRECOMP
#endif
-#include "wx/dcprint.h"
#include "wx/msgdlg.h"
#include "wx/math.h"
#include "wx/mac/uma.h"
if ( !m_err )
{
#if wxMAC_USE_CORE_GRAPHICS
- CGContextTranslateCTM( pageContext , 0 , rPage.bottom - rPage.top ) ;
+ PMRect paperRect ;
+ PMGetAdjustedPaperRect( native->m_macPageFormat , &paperRect ) ;
+ CGContextTranslateCTM( pageContext , -paperRect.left , -paperRect.top + ( rPage.bottom - rPage.top ) ) ;
CGContextScaleCTM( pageContext , 1 , -1 ) ;
+ CGContextSaveGState( pageContext ) ;
#else
dc->m_macLocalOrigin.x = (int) rPage.left;
dc->m_macLocalOrigin.y = (int) rPage.top;
wxPrinterDC::wxPrinterDC(const wxPrintData& printdata)
{
- m_ok = FALSE ;
+ m_ok = false ;
m_printData = printdata ;
m_printData.ConvertToNative() ;
m_nativePrinterDC = wxNativePrinterDC::Create( &m_printData ) ;
wxPrinterDC::~wxPrinterDC(void)
{
+#if wxMAC_USE_CORE_GRAPHICS
+ // this context was borrowed
+ ((wxMacCGContext*)(m_graphicContext))->SetNativeContext( NULL ) ;
+#endif
delete m_nativePrinterDC ;
}
#if wxMAC_USE_CORE_GRAPHICS
-void wxPrinterDC::MacSetCGContext( void * cg )
+void wxPrinterDC::MacSetCGContext( void * cg )
{
((wxMacCGContext*)(m_graphicContext))->SetNativeContext( (CGContextRef) cg ) ;
m_graphicContext->SetPen( m_pen ) ;