///////////////////////////////////////////////////////////////////////////// // 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 #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