1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: private implementation for printing on MacOS
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_MAC_PRIVATE_PRINT_H_
13 #define _WX_MAC_PRIVATE_PRINT_H_
15 #include "wx/cmndata.h"
16 #include "wx/mac/private.h"
18 #if TARGET_CARBON && !defined(__DARWIN__)
19 # include <PMApplication.h>
23 # include "Printing.h"
26 #if !PM_USE_SESSION_APIS
27 #error "only Carbon Printing Session API is supported"
30 class wxNativePrintData
33 wxNativePrintData() {}
34 virtual ~wxNativePrintData() {}
36 virtual void TransferFrom( wxPrintData
* ) = 0 ;
37 virtual void TransferTo( wxPrintData
* ) = 0 ;
39 virtual void TransferFrom( wxPageSetupDialogData
* ) = 0 ;
40 virtual void TransferTo( wxPageSetupDialogData
* ) = 0 ;
42 virtual void TransferFrom( wxPrintDialogData
* ) = 0 ;
43 virtual void TransferTo( wxPrintDialogData
* ) = 0 ;
45 virtual void CopyFrom( wxNativePrintData
* ) = 0;
47 virtual int ShowPrintDialog() = 0 ;
48 virtual int ShowPageSetupDialog() = 0 ;
50 static wxNativePrintData
* Create() ;
53 class wxMacCarbonPrintData
: public wxNativePrintData
56 wxMacCarbonPrintData() ;
57 ~wxMacCarbonPrintData() ;
59 virtual void TransferFrom( wxPrintData
* ) ;
60 virtual void TransferTo( wxPrintData
* ) ;
62 virtual void TransferFrom( wxPageSetupDialogData
* ) ;
63 virtual void TransferTo( wxPageSetupDialogData
* ) ;
65 virtual void TransferFrom( wxPrintDialogData
* ) ;
66 virtual void TransferTo( wxPrintDialogData
* ) ;
68 virtual void CopyFrom( wxNativePrintData
* ) ;
69 virtual int ShowPrintDialog() ;
70 virtual int ShowPageSetupDialog() ;
72 virtual void ValidateOrCreate() ;
74 PMPrintSession m_macPrintSession
;
75 PMPageFormat m_macPageFormat
;
76 PMPrintSettings m_macPrintSettings
;