wxWidgets/include/wx/mac/private/print.h
2003-05-19 18:22:03 +00:00

108 lines
3.3 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: print.h
// Purpose: private implementation for printing on MacOS
// Author: Stefan Csomor
// Modified by:
// Created: 03/02/99
// RCS-ID: $Id:
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MAC_PRIVATE_PRINT_H_
#define _WX_MAC_PRIVATE_PRINT_H_
#include "wx/cmndata.h"
#include "wx/mac/private.h"
#if TARGET_CARBON && !defined(__DARWIN__)
# include <PMApplication.h>
#endif
#ifndef __DARWIN__
# include "Printing.h"
#endif
#if TARGET_CARBON
#if !PM_USE_SESSION_APIS
#error "only Carbon Printing Session API is supported"
#endif
#endif
class wxNativePrintData
{
public :
wxNativePrintData() {}
virtual ~wxNativePrintData() {}
virtual void TransferFrom( wxPrintData * ) = 0 ;
virtual void TransferTo( wxPrintData * ) = 0 ;
virtual void TransferFrom( wxPageSetupDialogData * ) = 0 ;
virtual void TransferTo( wxPageSetupDialogData * ) = 0 ;
virtual void TransferFrom( wxPrintDialogData * ) = 0 ;
virtual void TransferTo( wxPrintDialogData * ) = 0 ;
virtual void CopyFrom( wxNativePrintData * ) = 0;
virtual int ShowPrintDialog() = 0 ;
virtual int ShowPageSetupDialog() = 0 ;
static wxNativePrintData* Create() ;
} ;
#if TARGET_CARBON
class wxMacCarbonPrintData : public wxNativePrintData
{
public :
wxMacCarbonPrintData() ;
~wxMacCarbonPrintData() ;
virtual void TransferFrom( wxPrintData * ) ;
virtual void TransferTo( wxPrintData * ) ;
virtual void TransferFrom( wxPageSetupDialogData * ) ;
virtual void TransferTo( wxPageSetupDialogData * ) ;
virtual void TransferFrom( wxPrintDialogData * ) ;
virtual void TransferTo( wxPrintDialogData * ) ;
virtual void CopyFrom( wxNativePrintData * ) ;
virtual int ShowPrintDialog() ;
virtual int ShowPageSetupDialog() ;
private :
virtual void ValidateOrCreate() ;
public :
PMPrintSession m_macPrintSession ;
PMPageFormat m_macPageFormat ;
PMPrintSettings m_macPrintSettings ;
} ;
#else
class wxMacClassicPrintData : public wxNativePrintData
{
public :
wxMacClassicPrintData() ;
~wxMacClassicPrintData() ;
virtual void TransferFrom( wxPrintData * ) ;
virtual void TransferTo( wxPrintData * ) ;
virtual void TransferFrom( wxPageSetupDialogData * ) ;
virtual void TransferTo( wxPageSetupDialogData * ) ;
virtual void TransferFrom( wxPrintDialogData * ) ;
virtual void TransferTo( wxPrintDialogData * ) ;
virtual void CopyFrom( wxNativePrintData * ) ;
virtual int ShowPrintDialog() ;
virtual int ShowPageSetupDialog() ;
private :
virtual void ValidateOrCreate() ;
public :
THPrint m_macPrintSettings ;
} ;
#endif
#endif